| /* | |
| * Thunderbolt DMA configuration based mailbox support | |
| * | |
| * Copyright (C) 2017, Intel Corporation | |
| * Authors: Michael Jamet <michael.jamet@intel.com> | |
| * Mika Westerberg <mika.westerberg@linux.intel.com> | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| #ifndef DMA_PORT_H_ | |
| #define DMA_PORT_H_ | |
| #include "tb.h" | |
| struct tb_switch; | |
| struct tb_dma_port; | |
| #define DMA_PORT_CSS_ADDRESS 0x3fffff | |
| #define DMA_PORT_CSS_MAX_SIZE SZ_128 | |
| struct tb_dma_port *dma_port_alloc(struct tb_switch *sw); | |
| void dma_port_free(struct tb_dma_port *dma); | |
| int dma_port_flash_read(struct tb_dma_port *dma, unsigned int address, | |
| void *buf, size_t size); | |
| int dma_port_flash_update_auth(struct tb_dma_port *dma); | |
| int dma_port_flash_update_auth_status(struct tb_dma_port *dma, u32 *status); | |
| int dma_port_flash_write(struct tb_dma_port *dma, unsigned int address, | |
| const void *buf, size_t size); | |
| int dma_port_power_cycle(struct tb_dma_port *dma); | |
| #endif |