aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2011-02-07 10:35:21 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2011-02-10 08:23:49 -0500
commitab130421269aec9bf83d8ef5b7ceda80e2619599 (patch)
tree46c0acbead33b9d4bfb4be32d5777ce4afdf7413 /arch
parent97976e223be3091a91da103358c3c6cffff7db81 (diff)
ARM: mx5: use .init_early to initialize cpu type, reset address and iomuxer
This used to be done in .map_io which is supposed to only setup the memory mapping. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx5/board-cpuimx51.c3
-rw-r--r--arch/arm/mach-mx5/board-cpuimx51sd.c3
-rw-r--r--arch/arm/mach-mx5/board-mx50_rdp.c3
-rw-r--r--arch/arm/mach-mx5/board-mx51_3ds.c3
-rw-r--r--arch/arm/mach-mx5/board-mx51_babbage.c3
-rw-r--r--arch/arm/mach-mx5/board-mx51_efikamx.c3
-rw-r--r--arch/arm/mach-mx5/board-mx53_evk.c3
-rw-r--r--arch/arm/mach-mx5/board-mx53_loco.c3
-rw-r--r--arch/arm/mach-mx5/board-mx53_smd.c3
-rw-r--r--arch/arm/mach-mx5/mm-mx50.c6
-rw-r--r--arch/arm/mach-mx5/mm.c12
-rw-r--r--arch/arm/plat-mxc/include/mach/common.h2
12 files changed, 35 insertions, 12 deletions
diff --git a/arch/arm/mach-mx5/board-cpuimx51.c b/arch/arm/mach-mx5/board-cpuimx51.c
index f576a97ba124..2d4199d37905 100644
--- a/arch/arm/mach-mx5/board-cpuimx51.c
+++ b/arch/arm/mach-mx5/board-cpuimx51.c
@@ -294,7 +294,8 @@ MACHINE_START(EUKREA_CPUIMX51, "Eukrea CPUIMX51 Module")
294 /* Maintainer: Eric Bénard <eric@eukrea.com> */ 294 /* Maintainer: Eric Bénard <eric@eukrea.com> */
295 .boot_params = MX51_PHYS_OFFSET + 0x100, 295 .boot_params = MX51_PHYS_OFFSET + 0x100,
296 .map_io = mx51_map_io, 296 .map_io = mx51_map_io,
297 .init_early = imx51_init_early,
297 .init_irq = mx51_init_irq, 298 .init_irq = mx51_init_irq,
298 .init_machine = eukrea_cpuimx51_init,
299 .timer = &mxc_timer, 299 .timer = &mxc_timer,
300 .init_machine = eukrea_cpuimx51_init,
300MACHINE_END 301MACHINE_END
diff --git a/arch/arm/mach-mx5/board-cpuimx51sd.c b/arch/arm/mach-mx5/board-cpuimx51sd.c
index ad931895d8b6..6c3b445e3951 100644
--- a/arch/arm/mach-mx5/board-cpuimx51sd.c
+++ b/arch/arm/mach-mx5/board-cpuimx51sd.c
@@ -329,7 +329,8 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
329 /* Maintainer: Eric Bénard <eric@eukrea.com> */ 329 /* Maintainer: Eric Bénard <eric@eukrea.com> */
330 .boot_params = MX51_PHYS_OFFSET + 0x100, 330 .boot_params = MX51_PHYS_OFFSET + 0x100,
331 .map_io = mx51_map_io, 331 .map_io = mx51_map_io,
332 .init_early = imx51_init_early,
332 .init_irq = mx51_init_irq, 333 .init_irq = mx51_init_irq,
333 .init_machine = eukrea_cpuimx51sd_init,
334 .timer = &mxc_timer, 334 .timer = &mxc_timer,
335 .init_machine = eukrea_cpuimx51sd_init,
335MACHINE_END 336MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx50_rdp.c b/arch/arm/mach-mx5/board-mx50_rdp.c
index 75beef74b375..dedf7f2d6d0f 100644
--- a/arch/arm/mach-mx5/board-mx50_rdp.c
+++ b/arch/arm/mach-mx5/board-mx50_rdp.c
@@ -216,7 +216,8 @@ static struct sys_timer mx50_rdp_timer = {
216 216
217MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform") 217MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform")
218 .map_io = mx50_map_io, 218 .map_io = mx50_map_io,
219 .init_early = imx50_init_early,
219 .init_irq = mx50_init_irq, 220 .init_irq = mx50_init_irq,
220 .init_machine = mx50_rdp_board_init,
221 .timer = &mx50_rdp_timer, 221 .timer = &mx50_rdp_timer,
222 .init_machine = mx50_rdp_board_init,
222MACHINE_END 223MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx51_3ds.c b/arch/arm/mach-mx5/board-mx51_3ds.c
index 55d5746753a3..01684708ef34 100644
--- a/arch/arm/mach-mx5/board-mx51_3ds.c
+++ b/arch/arm/mach-mx5/board-mx51_3ds.c
@@ -168,7 +168,8 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
168 /* Maintainer: Freescale Semiconductor, Inc. */ 168 /* Maintainer: Freescale Semiconductor, Inc. */
169 .boot_params = MX51_PHYS_OFFSET + 0x100, 169 .boot_params = MX51_PHYS_OFFSET + 0x100,
170 .map_io = mx51_map_io, 170 .map_io = mx51_map_io,
171 .init_early = imx51_init_early,
171 .init_irq = mx51_init_irq, 172 .init_irq = mx51_init_irq,
172 .init_machine = mxc_board_init,
173 .timer = &mxc_timer, 173 .timer = &mxc_timer,
174 .init_machine = mxc_board_init,
174MACHINE_END 175MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c
index d9d402eb9478..2bd9c9e4e6ba 100644
--- a/arch/arm/mach-mx5/board-mx51_babbage.c
+++ b/arch/arm/mach-mx5/board-mx51_babbage.c
@@ -398,7 +398,8 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
398 /* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */ 398 /* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */
399 .boot_params = MX51_PHYS_OFFSET + 0x100, 399 .boot_params = MX51_PHYS_OFFSET + 0x100,
400 .map_io = mx51_map_io, 400 .map_io = mx51_map_io,
401 .init_early = imx51_init_early,
401 .init_irq = mx51_init_irq, 402 .init_irq = mx51_init_irq,
402 .init_machine = mxc_board_init,
403 .timer = &mxc_timer, 403 .timer = &mxc_timer,
404 .init_machine = mxc_board_init,
404MACHINE_END 405MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx51_efikamx.c b/arch/arm/mach-mx5/board-mx51_efikamx.c
index e23704044eb0..2aac4c5b7b51 100644
--- a/arch/arm/mach-mx5/board-mx51_efikamx.c
+++ b/arch/arm/mach-mx5/board-mx51_efikamx.c
@@ -347,7 +347,8 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop")
347 /* Maintainer: Amit Kucheria <amit.kucheria@linaro.org> */ 347 /* Maintainer: Amit Kucheria <amit.kucheria@linaro.org> */
348 .boot_params = MX51_PHYS_OFFSET + 0x100, 348 .boot_params = MX51_PHYS_OFFSET + 0x100,
349 .map_io = mx51_map_io, 349 .map_io = mx51_map_io,
350 .init_early = imx51_init_early,
350 .init_irq = mx51_init_irq, 351 .init_irq = mx51_init_irq,
351 .init_machine = mxc_board_init,
352 .timer = &mxc_timer, 352 .timer = &mxc_timer,
353 .init_machine = mxc_board_init,
353MACHINE_END 354MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-mx5/board-mx53_evk.c
index 49780079f59e..8ed316bc5260 100644
--- a/arch/arm/mach-mx5/board-mx53_evk.c
+++ b/arch/arm/mach-mx5/board-mx53_evk.c
@@ -150,7 +150,8 @@ static struct sys_timer mx53_evk_timer = {
150 150
151MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board") 151MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board")
152 .map_io = mx53_map_io, 152 .map_io = mx53_map_io,
153 .init_early = imx53_init_early,
153 .init_irq = mx53_init_irq, 154 .init_irq = mx53_init_irq,
154 .init_machine = mx53_evk_board_init,
155 .timer = &mx53_evk_timer, 155 .timer = &mx53_evk_timer,
156 .init_machine = mx53_evk_board_init,
156MACHINE_END 157MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
index 3aefd6dab046..0fea252d42eb 100644
--- a/arch/arm/mach-mx5/board-mx53_loco.c
+++ b/arch/arm/mach-mx5/board-mx53_loco.c
@@ -82,7 +82,8 @@ static struct sys_timer mx53_loco_timer = {
82 82
83MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board") 83MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
84 .map_io = mx53_map_io, 84 .map_io = mx53_map_io,
85 .init_early = imx53_init_early,
85 .init_irq = mx53_init_irq, 86 .init_irq = mx53_init_irq,
86 .init_machine = mx53_loco_board_init,
87 .timer = &mx53_loco_timer, 87 .timer = &mx53_loco_timer,
88 .init_machine = mx53_loco_board_init,
88MACHINE_END 89MACHINE_END
diff --git a/arch/arm/mach-mx5/board-mx53_smd.c b/arch/arm/mach-mx5/board-mx53_smd.c
index c7b45d464b60..fa0fad80fd84 100644
--- a/arch/arm/mach-mx5/board-mx53_smd.c
+++ b/arch/arm/mach-mx5/board-mx53_smd.c
@@ -103,7 +103,8 @@ static struct sys_timer mx53_smd_timer = {
103 103
104MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board") 104MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board")
105 .map_io = mx53_map_io, 105 .map_io = mx53_map_io,
106 .init_early = imx53_init_early,
106 .init_irq = mx53_init_irq, 107 .init_irq = mx53_init_irq,
107 .init_machine = mx53_smd_board_init,
108 .timer = &mx53_smd_timer, 108 .timer = &mx53_smd_timer,
109 .init_machine = mx53_smd_board_init,
109MACHINE_END 110MACHINE_END
diff --git a/arch/arm/mach-mx5/mm-mx50.c b/arch/arm/mach-mx5/mm-mx50.c
index 8c6540e58390..69b34269dae5 100644
--- a/arch/arm/mach-mx5/mm-mx50.c
+++ b/arch/arm/mach-mx5/mm-mx50.c
@@ -44,10 +44,14 @@ static struct map_desc mx50_io_desc[] __initdata = {
44 */ 44 */
45void __init mx50_map_io(void) 45void __init mx50_map_io(void)
46{ 46{
47 iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
48}
49
50void __init imx50_init_early(void)
51{
47 mxc_set_cpu_type(MXC_CPU_MX50); 52 mxc_set_cpu_type(MXC_CPU_MX50);
48 mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR)); 53 mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR));
49 mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR)); 54 mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR));
50 iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
51} 55}
52 56
53int imx50_register_gpios(void); 57int imx50_register_gpios(void);
diff --git a/arch/arm/mach-mx5/mm.c b/arch/arm/mach-mx5/mm.c
index 457f9f95204b..8730cd1b94b1 100644
--- a/arch/arm/mach-mx5/mm.c
+++ b/arch/arm/mach-mx5/mm.c
@@ -47,18 +47,26 @@ static struct map_desc mx53_io_desc[] __initdata = {
47 */ 47 */
48void __init mx51_map_io(void) 48void __init mx51_map_io(void)
49{ 49{
50 iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
51}
52
53void __init imx51_init_early(void)
54{
50 mxc_set_cpu_type(MXC_CPU_MX51); 55 mxc_set_cpu_type(MXC_CPU_MX51);
51 mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR)); 56 mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));
52 mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR)); 57 mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR));
53 iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
54} 58}
55 59
56void __init mx53_map_io(void) 60void __init mx53_map_io(void)
57{ 61{
62 iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
63}
64
65void __init imx53_init_early(void)
66{
58 mxc_set_cpu_type(MXC_CPU_MX53); 67 mxc_set_cpu_type(MXC_CPU_MX53);
59 mxc_iomux_v3_init(MX53_IO_ADDRESS(MX53_IOMUXC_BASE_ADDR)); 68 mxc_iomux_v3_init(MX53_IO_ADDRESS(MX53_IOMUXC_BASE_ADDR));
60 mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG_BASE_ADDR)); 69 mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG_BASE_ADDR));
61 iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
62} 70}
63 71
64int imx51_register_gpios(void); 72int imx51_register_gpios(void);
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h
index 857eebf479bd..4746b9a984a4 100644
--- a/arch/arm/plat-mxc/include/mach/common.h
+++ b/arch/arm/plat-mxc/include/mach/common.h
@@ -31,6 +31,8 @@ extern void imx27_init_early(void);
31extern void imx31_init_early(void); 31extern void imx31_init_early(void);
32extern void imx35_init_early(void); 32extern void imx35_init_early(void);
33extern void imx50_init_early(void); 33extern void imx50_init_early(void);
34extern void imx51_init_early(void);
35extern void imx53_init_early(void);
34extern void mxc_init_irq(void __iomem *); 36extern void mxc_init_irq(void __iomem *);
35extern void tzic_init_irq(void __iomem *); 37extern void tzic_init_irq(void __iomem *);
36extern void mx1_init_irq(void); 38extern void mx1_init_irq(void);