diff options
author | Zeng Zhaoming <b32542@freescale.com> | 2011-06-28 09:15:47 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-01-09 20:18:24 +0800 |
commit | e9fdc59b7b9f57ac8f886779ded5a8a326f7e9e6 (patch) | |
tree | c08e929032e804a36c3df5bdbbf1aa2acb0c2310 /arch/arm/plat-mxc/devices/platform-imx-dma.c | |
parent | 2049219609cb178c90c962ba3c8919d9d8d8b314 (diff) |
ENGR00139229-1 MX6: Bring up i.MX6 sabreauto with Single core
MSL code for bring up MX6 sabreauto board with Single core.
Merged from testbuild:imx6_bringup branch.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
Singed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Richard Zhu <r65037@freescale.com>
Signed-off-by: Anish Trivedi <anish@freescale.com>
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Signed-off-by: Jason Chen <b02280@freescale.com>
Signed-off-by: Lily Zhang <r58066@freescale.com>
Signed-off-by: Sammy He <r62914@freescale.com>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: Terry Lv <r65388@freescale.com>
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
Merged-by: Zeng Zhaoming <b32542@freescale.com>
Reviewed-by: Jason Liu <r64343@freescale.com>
Reviewed-by: Frank Li <Frank.Li@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc/devices/platform-imx-dma.c')
-rwxr-xr-x | arch/arm/plat-mxc/devices/platform-imx-dma.c | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c index f4ad78493449..9b8715244e29 100755 --- a/arch/arm/plat-mxc/devices/platform-imx-dma.c +++ b/arch/arm/plat-mxc/devices/platform-imx-dma.c @@ -56,6 +56,11 @@ struct imx_imx_sdma_data imx53_imx_sdma_data __initconst = imx_imx_sdma_data_entry_single(MX53, 2, "imx53", 1); #endif /* ifdef CONFIG_SOC_IMX51 */ +#ifdef CONFIG_SOC_IMX6Q +struct imx_imx_sdma_data imx6q_imx_sdma_data __initconst = + imx_imx_sdma_data_entry_single(MX6Q, 2, "imx6q", 1); +#endif /* ifdef CONFIG_SOC_IMX6Q */ + static struct platform_device __init __maybe_unused *imx_add_imx_sdma( const struct imx_imx_sdma_data *data) { @@ -173,6 +178,21 @@ static struct sdma_script_start_addrs addr_imx53_to1 = { }; #endif +#ifdef CONFIG_SOC_IMX6Q +static struct sdma_script_start_addrs addr_imx6q_to1 = { + .ap_2_ap_addr = 642, + .uart_2_mcu_addr = 817, + .mcu_2_app_addr = 747, + .per_2_per_addr = 6474, + .uartsh_2_mcu_addr = 1032, + .mcu_2_shp_addr = 960, + .app_2_mcu_addr = 683, + .shp_2_mcu_addr = 891, + .spdif_2_mcu_addr = 1100, + .mcu_2_spdif_addr = 1134, +}; +#endif + static int __init imxXX_add_imx_dma(void) { struct platform_device *ret; @@ -195,9 +215,11 @@ static int __init imxXX_add_imx_dma(void) int to_version = mx31_revision() >> 4; imx31_imx_sdma_data.pdata.to_version = to_version; if (to_version == 1) - imx31_imx_sdma_data.pdata.script_addrs = &addr_imx31_to1; + imx31_imx_sdma_data.pdata.script_addrs = + &addr_imx31_to1; else - imx31_imx_sdma_data.pdata.script_addrs = &addr_imx31_to2; + imx31_imx_sdma_data.pdata.script_addrs = + &addr_imx31_to2; ret = imx_add_imx_sdma(&imx31_imx_sdma_data); } else #endif @@ -207,9 +229,11 @@ static int __init imxXX_add_imx_dma(void) int to_version = mx35_revision() >> 4; imx35_imx_sdma_data.pdata.to_version = to_version; if (to_version == 1) - imx35_imx_sdma_data.pdata.script_addrs = &addr_imx35_to1; + imx35_imx_sdma_data.pdata.script_addrs = + &addr_imx35_to1; else - imx35_imx_sdma_data.pdata.script_addrs = &addr_imx35_to2; + imx35_imx_sdma_data.pdata.script_addrs = + &addr_imx35_to2; ret = imx_add_imx_sdma(&imx35_imx_sdma_data); } else #endif @@ -219,7 +243,8 @@ static int __init imxXX_add_imx_dma(void) int to_version = mx51_revision() >> 4; imx51_imx_sdma_data.pdata.to_version = to_version; if (to_version == 3) - imx51_imx_sdma_data.pdata.script_addrs = &addr_imx51_to3; + imx51_imx_sdma_data.pdata.script_addrs = + &addr_imx51_to3; ret = imx_add_imx_sdma(&imx51_imx_sdma_data); } else #endif @@ -228,10 +253,21 @@ static int __init imxXX_add_imx_dma(void) int to_version = 1; imx53_imx_sdma_data.pdata.to_version = to_version; if (to_version == 1) - imx53_imx_sdma_data.pdata.script_addrs = &addr_imx53_to1; + imx53_imx_sdma_data.pdata.script_addrs = + &addr_imx53_to1; ret = imx_add_imx_sdma(&imx53_imx_sdma_data); } else #endif +#if defined(CONFIG_SOC_IMX6Q) + if (cpu_is_mx6q()) { + int to_version = 1; + imx6q_imx_sdma_data.pdata.to_version = to_version; + if (to_version == 1) + imx6q_imx_sdma_data.pdata.script_addrs = + &addr_imx6q_to1; + ret = imx_add_imx_sdma(&imx6q_imx_sdma_data); + } else +#endif ret = ERR_PTR(-ENODEV); if (IS_ERR(ret)) |