diff options
author | Jason Liu <jason.hui@linaro.org> | 2011-09-09 05:17:47 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-20 03:54:50 -0400 |
commit | abca2e10feebbee8b739f5f92e9cd6e7e4c1ee35 (patch) | |
tree | 02c7e75807153b68ac6c022dc84a742065a9cc0a /arch/arm/mach-mx5/mm.c | |
parent | 93ee7a9340d64f20295aacc3fb6a22b759323280 (diff) |
ARM: mx5/mm: move i.MX50 mm stuff into mm.c
i.MX50 is similar enough to i.MX51/53 to handle it in a single file.
No functional change.
Signed-off-by: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx5/mm.c')
-rw-r--r-- | arch/arm/mach-mx5/mm.c | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/arch/arm/mach-mx5/mm.c b/arch/arm/mach-mx5/mm.c index baea6e5cddd9..999f0d3623c5 100644 --- a/arch/arm/mach-mx5/mm.c +++ b/arch/arm/mach-mx5/mm.c | |||
@@ -22,6 +22,16 @@ | |||
22 | #include <mach/iomux-v3.h> | 22 | #include <mach/iomux-v3.h> |
23 | 23 | ||
24 | /* | 24 | /* |
25 | * Define the MX50 memory map. | ||
26 | */ | ||
27 | static struct map_desc mx50_io_desc[] __initdata = { | ||
28 | imx_map_entry(MX50, TZIC, MT_DEVICE), | ||
29 | imx_map_entry(MX50, SPBA0, MT_DEVICE), | ||
30 | imx_map_entry(MX50, AIPS1, MT_DEVICE), | ||
31 | imx_map_entry(MX50, AIPS2, MT_DEVICE), | ||
32 | }; | ||
33 | |||
34 | /* | ||
25 | * Define the MX51 memory map. | 35 | * Define the MX51 memory map. |
26 | */ | 36 | */ |
27 | static struct map_desc mx51_io_desc[] __initdata = { | 37 | static struct map_desc mx51_io_desc[] __initdata = { |
@@ -46,11 +56,28 @@ static struct map_desc mx53_io_desc[] __initdata = { | |||
46 | * system startup to create static physical to virtual memory mappings | 56 | * system startup to create static physical to virtual memory mappings |
47 | * for the IO modules. | 57 | * for the IO modules. |
48 | */ | 58 | */ |
59 | void __init mx50_map_io(void) | ||
60 | { | ||
61 | iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc)); | ||
62 | } | ||
63 | |||
49 | void __init mx51_map_io(void) | 64 | void __init mx51_map_io(void) |
50 | { | 65 | { |
51 | iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc)); | 66 | iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc)); |
52 | } | 67 | } |
53 | 68 | ||
69 | void __init mx53_map_io(void) | ||
70 | { | ||
71 | iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc)); | ||
72 | } | ||
73 | |||
74 | void __init imx50_init_early(void) | ||
75 | { | ||
76 | mxc_set_cpu_type(MXC_CPU_MX50); | ||
77 | mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR)); | ||
78 | mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR)); | ||
79 | } | ||
80 | |||
54 | void __init imx51_init_early(void) | 81 | void __init imx51_init_early(void) |
55 | { | 82 | { |
56 | mxc_set_cpu_type(MXC_CPU_MX51); | 83 | mxc_set_cpu_type(MXC_CPU_MX51); |
@@ -58,11 +85,6 @@ void __init imx51_init_early(void) | |||
58 | mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR)); | 85 | mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR)); |
59 | } | 86 | } |
60 | 87 | ||
61 | void __init mx53_map_io(void) | ||
62 | { | ||
63 | iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc)); | ||
64 | } | ||
65 | |||
66 | void __init imx53_init_early(void) | 88 | void __init imx53_init_early(void) |
67 | { | 89 | { |
68 | mxc_set_cpu_type(MXC_CPU_MX53); | 90 | mxc_set_cpu_type(MXC_CPU_MX53); |
@@ -70,6 +92,11 @@ void __init imx53_init_early(void) | |||
70 | mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG1_BASE_ADDR)); | 92 | mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG1_BASE_ADDR)); |
71 | } | 93 | } |
72 | 94 | ||
95 | void __init mx50_init_irq(void) | ||
96 | { | ||
97 | tzic_init_irq(MX50_IO_ADDRESS(MX50_TZIC_BASE_ADDR)); | ||
98 | } | ||
99 | |||
73 | void __init mx51_init_irq(void) | 100 | void __init mx51_init_irq(void) |
74 | { | 101 | { |
75 | unsigned long tzic_addr; | 102 | unsigned long tzic_addr; |
@@ -138,6 +165,17 @@ static struct sdma_platform_data imx53_sdma_pdata __initdata = { | |||
138 | .script_addrs = &imx53_sdma_script, | 165 | .script_addrs = &imx53_sdma_script, |
139 | }; | 166 | }; |
140 | 167 | ||
168 | void __init imx50_soc_init(void) | ||
169 | { | ||
170 | /* i.mx50 has the i.mx31 type gpio */ | ||
171 | mxc_register_gpio("imx31-gpio", 0, MX50_GPIO1_BASE_ADDR, SZ_16K, MX50_INT_GPIO1_LOW, MX50_INT_GPIO1_HIGH); | ||
172 | mxc_register_gpio("imx31-gpio", 1, MX50_GPIO2_BASE_ADDR, SZ_16K, MX50_INT_GPIO2_LOW, MX50_INT_GPIO2_HIGH); | ||
173 | mxc_register_gpio("imx31-gpio", 2, MX50_GPIO3_BASE_ADDR, SZ_16K, MX50_INT_GPIO3_LOW, MX50_INT_GPIO3_HIGH); | ||
174 | mxc_register_gpio("imx31-gpio", 3, MX50_GPIO4_BASE_ADDR, SZ_16K, MX50_INT_GPIO4_LOW, MX50_INT_GPIO4_HIGH); | ||
175 | mxc_register_gpio("imx31-gpio", 4, MX50_GPIO5_BASE_ADDR, SZ_16K, MX50_INT_GPIO5_LOW, MX50_INT_GPIO5_HIGH); | ||
176 | mxc_register_gpio("imx31-gpio", 5, MX50_GPIO6_BASE_ADDR, SZ_16K, MX50_INT_GPIO6_LOW, MX50_INT_GPIO6_HIGH); | ||
177 | } | ||
178 | |||
141 | void __init imx51_soc_init(void) | 179 | void __init imx51_soc_init(void) |
142 | { | 180 | { |
143 | /* i.mx51 has the i.mx31 type gpio */ | 181 | /* i.mx51 has the i.mx31 type gpio */ |