|
@@ -51,6 +51,11 @@ struct imx_imx_sdma_data imx51_imx_sdma_data __initconst =
|
|
|
imx_imx_sdma_data_entry_single(MX51, 2, "imx51", 1);
|
|
|
#endif /* ifdef CONFIG_SOC_IMX51 */
|
|
|
|
|
|
+#ifdef CONFIG_SOC_IMX53
|
|
|
+struct imx_imx_sdma_data imx53_imx_sdma_data __initconst =
|
|
|
+ imx_imx_sdma_data_entry_single(MX53, 2, "imx53", 0);
|
|
|
+#endif /* ifdef CONFIG_SOC_IMX53 */
|
|
|
+
|
|
|
static struct platform_device __init __maybe_unused *imx_add_imx_sdma(
|
|
|
const struct imx_imx_sdma_data *data)
|
|
|
{
|
|
@@ -153,6 +158,22 @@ static struct sdma_script_start_addrs addr_imx51 = {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
+#ifdef CONFIG_SOC_IMX53
|
|
|
+static struct sdma_script_start_addrs addr_imx53 = {
|
|
|
+ .ap_2_ap_addr = 642,
|
|
|
+ .app_2_mcu_addr = 683,
|
|
|
+ .mcu_2_app_addr = 747,
|
|
|
+ .uart_2_mcu_addr = 817,
|
|
|
+ .shp_2_mcu_addr = 891,
|
|
|
+ .mcu_2_shp_addr = 960,
|
|
|
+ .uartsh_2_mcu_addr = 1032,
|
|
|
+ .spdif_2_mcu_addr = 1100,
|
|
|
+ .mcu_2_spdif_addr = 1134,
|
|
|
+ .firi_2_mcu_addr = 1193,
|
|
|
+ .mcu_2_firi_addr = 1290,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
static int __init imxXX_add_imx_dma(void)
|
|
|
{
|
|
|
struct platform_device *ret;
|
|
@@ -202,6 +223,13 @@ static int __init imxXX_add_imx_dma(void)
|
|
|
ret = imx_add_imx_sdma(&imx51_imx_sdma_data);
|
|
|
} else
|
|
|
#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SOC_IMX53)
|
|
|
+ if (cpu_is_mx53()) {
|
|
|
+ imx53_imx_sdma_data.pdata.script_addrs = &addr_imx53;
|
|
|
+ ret = imx_add_imx_sdma(&imx53_imx_sdma_data);
|
|
|
+ } else
|
|
|
+#endif
|
|
|
ret = ERR_PTR(-ENODEV);
|
|
|
|
|
|
if (IS_ERR(ret))
|