aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/devices
diff options
context:
space:
mode:
authorFabio Estevam <festevam@gmail.com>2011-06-12 20:33:00 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2011-07-07 04:01:09 -0400
commit931de39219bd31944dda69a015ccef103cd1d193 (patch)
tree701c746222b13d91346968a13ea335f08d6b2794 /arch/arm/plat-mxc/devices
parentbe070a40780ff61be7349b2aeeae35663e01b44b (diff)
ARM: mx53: Add SDMA support for MX53
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc/devices')
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-dma.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c
index c64f015e031b..27104f581700 100644
--- a/arch/arm/plat-mxc/devices/platform-imx-dma.c
+++ b/arch/arm/plat-mxc/devices/platform-imx-dma.c
@@ -51,6 +51,11 @@ struct imx_imx_sdma_data imx51_imx_sdma_data __initconst =
51 imx_imx_sdma_data_entry_single(MX51, 2, "imx51", 1); 51 imx_imx_sdma_data_entry_single(MX51, 2, "imx51", 1);
52#endif /* ifdef CONFIG_SOC_IMX51 */ 52#endif /* ifdef CONFIG_SOC_IMX51 */
53 53
54#ifdef CONFIG_SOC_IMX53
55struct imx_imx_sdma_data imx53_imx_sdma_data __initconst =
56 imx_imx_sdma_data_entry_single(MX53, 2, "imx53", 0);
57#endif /* ifdef CONFIG_SOC_IMX53 */
58
54static struct platform_device __init __maybe_unused *imx_add_imx_sdma( 59static struct platform_device __init __maybe_unused *imx_add_imx_sdma(
55 const struct imx_imx_sdma_data *data) 60 const struct imx_imx_sdma_data *data)
56{ 61{
@@ -153,6 +158,22 @@ static struct sdma_script_start_addrs addr_imx51 = {
153}; 158};
154#endif 159#endif
155 160
161#ifdef CONFIG_SOC_IMX53
162static struct sdma_script_start_addrs addr_imx53 = {
163 .ap_2_ap_addr = 642,
164 .app_2_mcu_addr = 683,
165 .mcu_2_app_addr = 747,
166 .uart_2_mcu_addr = 817,
167 .shp_2_mcu_addr = 891,
168 .mcu_2_shp_addr = 960,
169 .uartsh_2_mcu_addr = 1032,
170 .spdif_2_mcu_addr = 1100,
171 .mcu_2_spdif_addr = 1134,
172 .firi_2_mcu_addr = 1193,
173 .mcu_2_firi_addr = 1290,
174};
175#endif
176
156static int __init imxXX_add_imx_dma(void) 177static int __init imxXX_add_imx_dma(void)
157{ 178{
158 struct platform_device *ret; 179 struct platform_device *ret;
@@ -202,6 +223,13 @@ static int __init imxXX_add_imx_dma(void)
202 ret = imx_add_imx_sdma(&imx51_imx_sdma_data); 223 ret = imx_add_imx_sdma(&imx51_imx_sdma_data);
203 } else 224 } else
204#endif 225#endif
226
227#if defined(CONFIG_SOC_IMX53)
228 if (cpu_is_mx53()) {
229 imx53_imx_sdma_data.pdata.script_addrs = &addr_imx53;
230 ret = imx_add_imx_sdma(&imx53_imx_sdma_data);
231 } else
232#endif
205 ret = ERR_PTR(-ENODEV); 233 ret = ERR_PTR(-ENODEV);
206 234
207 if (IS_ERR(ret)) 235 if (IS_ERR(ret))