/* SPDX-License-Identifier: GPL-2.0 */ | |
#ifndef __MACH_MXC_SDMA_H__ | |
#define __MACH_MXC_SDMA_H__ | |
/** | |
* struct sdma_script_start_addrs - SDMA script start pointers | |
* | |
* start addresses of the different functions in the physical | |
* address space of the SDMA engine. | |
*/ | |
struct sdma_script_start_addrs { | |
s32 ap_2_ap_addr; | |
s32 ap_2_bp_addr; | |
s32 ap_2_ap_fixed_addr; | |
s32 bp_2_ap_addr; | |
s32 loopback_on_dsp_side_addr; | |
s32 mcu_interrupt_only_addr; | |
s32 firi_2_per_addr; | |
s32 firi_2_mcu_addr; | |
s32 per_2_firi_addr; | |
s32 mcu_2_firi_addr; | |
s32 uart_2_per_addr; | |
s32 uart_2_mcu_addr; | |
s32 per_2_app_addr; | |
s32 mcu_2_app_addr; | |
s32 per_2_per_addr; | |
s32 uartsh_2_per_addr; | |
s32 uartsh_2_mcu_addr; | |
s32 per_2_shp_addr; | |
s32 mcu_2_shp_addr; | |
s32 ata_2_mcu_addr; | |
s32 mcu_2_ata_addr; | |
s32 app_2_per_addr; | |
s32 app_2_mcu_addr; | |
s32 shp_2_per_addr; | |
s32 shp_2_mcu_addr; | |
s32 mshc_2_mcu_addr; | |
s32 mcu_2_mshc_addr; | |
s32 spdif_2_mcu_addr; | |
s32 mcu_2_spdif_addr; | |
s32 asrc_2_mcu_addr; | |
s32 ext_mem_2_ipu_addr; | |
s32 descrambler_addr; | |
s32 dptc_dvfs_addr; | |
s32 utra_addr; | |
s32 ram_code_start_addr; | |
/* End of v1 array */ | |
s32 mcu_2_ssish_addr; | |
s32 ssish_2_mcu_addr; | |
s32 hdmi_dma_addr; | |
/* End of v2 array */ | |
s32 zcanfd_2_mcu_addr; | |
s32 zqspi_2_mcu_addr; | |
s32 mcu_2_ecspi_addr; | |
s32 mcu_2_sai_addr; | |
s32 sai_2_mcu_addr; | |
/* End of v3 array */ | |
s32 mcu_2_zqspi_addr; | |
/* End of v4 array */ | |
}; | |
/** | |
* struct sdma_platform_data - platform specific data for SDMA engine | |
* | |
* @fw_name The firmware name | |
* @script_addrs SDMA scripts addresses in SDMA ROM | |
*/ | |
struct sdma_platform_data { | |
char *fw_name; | |
struct sdma_script_start_addrs *script_addrs; | |
}; | |
#endif /* __MACH_MXC_SDMA_H__ */ |