1 #ifndef __MACH_MXC_SDMA_H__
2 #define __MACH_MXC_SDMA_H__
3 
4 /**
5  * struct sdma_script_start_addrs - SDMA script start pointers
6  *
7  * start addresses of the different functions in the physical
8  * address space of the SDMA engine.
9  */
10 struct sdma_script_start_addrs {
11 	s32 ap_2_ap_addr;
12 	s32 ap_2_bp_addr;
13 	s32 ap_2_ap_fixed_addr;
14 	s32 bp_2_ap_addr;
15 	s32 loopback_on_dsp_side_addr;
16 	s32 mcu_interrupt_only_addr;
17 	s32 firi_2_per_addr;
18 	s32 firi_2_mcu_addr;
19 	s32 per_2_firi_addr;
20 	s32 mcu_2_firi_addr;
21 	s32 uart_2_per_addr;
22 	s32 uart_2_mcu_addr;
23 	s32 per_2_app_addr;
24 	s32 mcu_2_app_addr;
25 	s32 per_2_per_addr;
26 	s32 uartsh_2_per_addr;
27 	s32 uartsh_2_mcu_addr;
28 	s32 per_2_shp_addr;
29 	s32 mcu_2_shp_addr;
30 	s32 ata_2_mcu_addr;
31 	s32 mcu_2_ata_addr;
32 	s32 app_2_per_addr;
33 	s32 app_2_mcu_addr;
34 	s32 shp_2_per_addr;
35 	s32 shp_2_mcu_addr;
36 	s32 mshc_2_mcu_addr;
37 	s32 mcu_2_mshc_addr;
38 	s32 spdif_2_mcu_addr;
39 	s32 mcu_2_spdif_addr;
40 	s32 asrc_2_mcu_addr;
41 	s32 ext_mem_2_ipu_addr;
42 	s32 descrambler_addr;
43 	s32 dptc_dvfs_addr;
44 	s32 utra_addr;
45 	s32 ram_code_start_addr;
46 };
47 
48 /**
49  * struct sdma_platform_data - platform specific data for SDMA engine
50  *
51  * @sdma_version	The version of this SDMA engine
52  * @cpu_name		used to generate the firmware name
53  * @to_version		CPU Tape out version
54  * @script_addrs	SDMA scripts addresses in SDMA ROM
55  */
56 struct sdma_platform_data {
57 	int sdma_version;
58 	char *cpu_name;
59 	int to_version;
60 	struct sdma_script_start_addrs *script_addrs;
61 };
62 
63 #endif /* __MACH_MXC_SDMA_H__ */
64