diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-02-07 10:35:21 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-02-10 08:23:49 -0500 |
commit | ab130421269aec9bf83d8ef5b7ceda80e2619599 (patch) | |
tree | 46c0acbead33b9d4bfb4be32d5777ce4afdf7413 /arch | |
parent | 97976e223be3091a91da103358c3c6cffff7db81 (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.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-cpuimx51sd.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx50_rdp.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx51_3ds.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx51_babbage.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx51_efikamx.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx53_evk.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx53_loco.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/board-mx53_smd.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mm-mx50.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mm.c | 12 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/common.h | 2 |
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, | ||
300 | MACHINE_END | 301 | MACHINE_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, | ||
335 | MACHINE_END | 336 | MACHINE_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 | ||
217 | MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform") | 217 | MACHINE_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, | ||
222 | MACHINE_END | 223 | MACHINE_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, | ||
174 | MACHINE_END | 175 | MACHINE_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, | ||
404 | MACHINE_END | 405 | MACHINE_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, | ||
353 | MACHINE_END | 354 | MACHINE_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 | ||
151 | MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board") | 151 | MACHINE_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, | ||
156 | MACHINE_END | 157 | MACHINE_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 | ||
83 | MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board") | 83 | MACHINE_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, | ||
88 | MACHINE_END | 89 | MACHINE_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 | ||
104 | MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board") | 104 | MACHINE_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, | ||
109 | MACHINE_END | 110 | MACHINE_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 | */ |
45 | void __init mx50_map_io(void) | 45 | void __init mx50_map_io(void) |
46 | { | 46 | { |
47 | iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc)); | ||
48 | } | ||
49 | |||
50 | void __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 | ||
53 | int imx50_register_gpios(void); | 57 | int 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 | */ |
48 | void __init mx51_map_io(void) | 48 | void __init mx51_map_io(void) |
49 | { | 49 | { |
50 | iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc)); | ||
51 | } | ||
52 | |||
53 | void __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 | ||
56 | void __init mx53_map_io(void) | 60 | void __init mx53_map_io(void) |
57 | { | 61 | { |
62 | iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc)); | ||
63 | } | ||
64 | |||
65 | void __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 | ||
64 | int imx51_register_gpios(void); | 72 | int 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); | |||
31 | extern void imx31_init_early(void); | 31 | extern void imx31_init_early(void); |
32 | extern void imx35_init_early(void); | 32 | extern void imx35_init_early(void); |
33 | extern void imx50_init_early(void); | 33 | extern void imx50_init_early(void); |
34 | extern void imx51_init_early(void); | ||
35 | extern void imx53_init_early(void); | ||
34 | extern void mxc_init_irq(void __iomem *); | 36 | extern void mxc_init_irq(void __iomem *); |
35 | extern void tzic_init_irq(void __iomem *); | 37 | extern void tzic_init_irq(void __iomem *); |
36 | extern void mx1_init_irq(void); | 38 | extern void mx1_init_irq(void); |