blob: 6eaa53cef0bd228b8a0d7bb2b3938ff04c548f95 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Sascha Hauer1ec1e822010-09-30 13:56:34 +00002#ifndef __MACH_MXC_SDMA_H__
3#define __MACH_MXC_SDMA_H__
4
5/**
Sascha Hauer5b28aa32010-10-06 15:41:15 +02006 * struct sdma_script_start_addrs - SDMA script start pointers
7 *
8 * start addresses of the different functions in the physical
9 * address space of the SDMA engine.
10 */
11struct sdma_script_start_addrs {
12 s32 ap_2_ap_addr;
13 s32 ap_2_bp_addr;
14 s32 ap_2_ap_fixed_addr;
15 s32 bp_2_ap_addr;
16 s32 loopback_on_dsp_side_addr;
17 s32 mcu_interrupt_only_addr;
18 s32 firi_2_per_addr;
19 s32 firi_2_mcu_addr;
20 s32 per_2_firi_addr;
21 s32 mcu_2_firi_addr;
22 s32 uart_2_per_addr;
23 s32 uart_2_mcu_addr;
24 s32 per_2_app_addr;
25 s32 mcu_2_app_addr;
26 s32 per_2_per_addr;
27 s32 uartsh_2_per_addr;
28 s32 uartsh_2_mcu_addr;
29 s32 per_2_shp_addr;
30 s32 mcu_2_shp_addr;
31 s32 ata_2_mcu_addr;
32 s32 mcu_2_ata_addr;
33 s32 app_2_per_addr;
34 s32 app_2_mcu_addr;
35 s32 shp_2_per_addr;
36 s32 shp_2_mcu_addr;
37 s32 mshc_2_mcu_addr;
38 s32 mcu_2_mshc_addr;
39 s32 spdif_2_mcu_addr;
40 s32 mcu_2_spdif_addr;
41 s32 asrc_2_mcu_addr;
42 s32 ext_mem_2_ipu_addr;
43 s32 descrambler_addr;
44 s32 dptc_dvfs_addr;
45 s32 utra_addr;
46 s32 ram_code_start_addr;
Nicolin Chencd72b842013-11-13 22:55:24 +080047 /* End of v1 array */
48 s32 mcu_2_ssish_addr;
49 s32 ssish_2_mcu_addr;
50 s32 hdmi_dma_addr;
51 /* End of v2 array */
Fabio Estevama5724602015-03-11 12:30:58 -030052 s32 zcanfd_2_mcu_addr;
53 s32 zqspi_2_mcu_addr;
54 /* End of v3 array */
Sascha Hauer5b28aa32010-10-06 15:41:15 +020055};
56
57/**
Sascha Hauer1ec1e822010-09-30 13:56:34 +000058 * struct sdma_platform_data - platform specific data for SDMA engine
59 *
Shawn Guo2e534b22011-06-22 22:41:31 +080060 * @fw_name The firmware name
Sascha Hauer5b28aa32010-10-06 15:41:15 +020061 * @script_addrs SDMA scripts addresses in SDMA ROM
Sascha Hauer1ec1e822010-09-30 13:56:34 +000062 */
63struct sdma_platform_data {
Shawn Guo2e534b22011-06-22 22:41:31 +080064 char *fw_name;
Sascha Hauer5b28aa32010-10-06 15:41:15 +020065 struct sdma_script_start_addrs *script_addrs;
Sascha Hauer1ec1e822010-09-30 13:56:34 +000066};
67
68#endif /* __MACH_MXC_SDMA_H__ */