aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2011-02-07 10:35:20 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2011-02-10 08:23:49 -0500
commit97976e223be3091a91da103358c3c6cffff7db81 (patch)
tree3f658a7775f0049a3365d8d1c94fed0b6fedc903 /arch/arm/mach-mx3
parent3dac219615b88010601ee52e7b5fd1c32ef789ea (diff)
ARM: mx3: 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/arm/mach-mx3')
-rw-r--r--arch/arm/mach-mx3/mach-armadillo5x0.c11
-rw-r--r--arch/arm/mach-mx3/mach-cpuimx35.c11
-rw-r--r--arch/arm/mach-mx3/mach-kzm_arm11_01.c11
-rw-r--r--arch/arm/mach-mx3/mach-mx31_3ds.c11
-rw-r--r--arch/arm/mach-mx3/mach-mx31ads.c11
-rw-r--r--arch/arm/mach-mx3/mach-mx31lilly.c12
-rw-r--r--arch/arm/mach-mx3/mach-mx31lite.c11
-rw-r--r--arch/arm/mach-mx3/mach-mx31moboard.c12
-rw-r--r--arch/arm/mach-mx3/mach-mx35_3ds.c11
-rw-r--r--arch/arm/mach-mx3/mach-pcm037.c11
-rw-r--r--arch/arm/mach-mx3/mach-pcm043.c12
-rw-r--r--arch/arm/mach-mx3/mach-qong.c11
-rw-r--r--arch/arm/mach-mx3/mach-vpr200.c9
-rw-r--r--arch/arm/mach-mx3/mm.c14
14 files changed, 87 insertions, 71 deletions
diff --git a/arch/arm/mach-mx3/mach-armadillo5x0.c b/arch/arm/mach-mx3/mach-armadillo5x0.c
index 28b6f414b5d5..835e2a082b41 100644
--- a/arch/arm/mach-mx3/mach-armadillo5x0.c
+++ b/arch/arm/mach-mx3/mach-armadillo5x0.c
@@ -569,9 +569,10 @@ static struct sys_timer armadillo5x0_timer = {
569 569
570MACHINE_START(ARMADILLO5X0, "Armadillo-500") 570MACHINE_START(ARMADILLO5X0, "Armadillo-500")
571 /* Maintainer: Alberto Panizzo */ 571 /* Maintainer: Alberto Panizzo */
572 .boot_params = MX3x_PHYS_OFFSET + 0x100, 572 .boot_params = MX3x_PHYS_OFFSET + 0x100,
573 .map_io = mx31_map_io, 573 .map_io = mx31_map_io,
574 .init_irq = mx31_init_irq, 574 .init_early = imx31_init_early,
575 .timer = &armadillo5x0_timer, 575 .init_irq = mx31_init_irq,
576 .init_machine = armadillo5x0_init, 576 .timer = &armadillo5x0_timer,
577 .init_machine = armadillo5x0_init,
577MACHINE_END 578MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-cpuimx35.c b/arch/arm/mach-mx3/mach-cpuimx35.c
index 26ae90f02582..3eedf0fcaedd 100644
--- a/arch/arm/mach-mx3/mach-cpuimx35.c
+++ b/arch/arm/mach-mx3/mach-cpuimx35.c
@@ -184,9 +184,10 @@ struct sys_timer eukrea_cpuimx35_timer = {
184 184
185MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35") 185MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35")
186 /* Maintainer: Eukrea Electromatique */ 186 /* Maintainer: Eukrea Electromatique */
187 .boot_params = MX3x_PHYS_OFFSET + 0x100, 187 .boot_params = MX3x_PHYS_OFFSET + 0x100,
188 .map_io = mx35_map_io, 188 .map_io = mx35_map_io,
189 .init_irq = mx35_init_irq, 189 .init_ext3_fs = imx35_init_early,
190 .init_machine = mxc_board_init, 190 .init_irq = mx35_init_irq,
191 .timer = &eukrea_cpuimx35_timer, 191 .timer = &eukrea_cpuimx35_timer,
192 .init_machine = mxc_board_init,
192MACHINE_END 193MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-kzm_arm11_01.c b/arch/arm/mach-mx3/mach-kzm_arm11_01.c
index a5f3eb24e4d5..52b8dd7192c6 100644
--- a/arch/arm/mach-mx3/mach-kzm_arm11_01.c
+++ b/arch/arm/mach-mx3/mach-kzm_arm11_01.c
@@ -274,9 +274,10 @@ static struct sys_timer kzm_timer = {
274 * initialize __mach_desc_KZM_ARM11_01 data structure. 274 * initialize __mach_desc_KZM_ARM11_01 data structure.
275 */ 275 */
276MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01") 276MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
277 .boot_params = MX3x_PHYS_OFFSET + 0x100, 277 .boot_params = MX3x_PHYS_OFFSET + 0x100,
278 .map_io = kzm_map_io, 278 .map_io = kzm_map_io,
279 .init_irq = mx31_init_irq, 279 .init_early = imx31_init_early,
280 .init_machine = kzm_board_init, 280 .init_irq = mx31_init_irq,
281 .timer = &kzm_timer, 281 .timer = &kzm_timer,
282 .init_machine = kzm_board_init,
282MACHINE_END 283MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-mx31_3ds.c b/arch/arm/mach-mx3/mach-mx31_3ds.c
index 6c16c403c242..3d0ded92a8a2 100644
--- a/arch/arm/mach-mx3/mach-mx31_3ds.c
+++ b/arch/arm/mach-mx3/mach-mx31_3ds.c
@@ -373,9 +373,10 @@ static struct sys_timer mx31_3ds_timer = {
373 */ 373 */
374MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") 374MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
375 /* Maintainer: Freescale Semiconductor, Inc. */ 375 /* Maintainer: Freescale Semiconductor, Inc. */
376 .boot_params = MX3x_PHYS_OFFSET + 0x100, 376 .boot_params = MX3x_PHYS_OFFSET + 0x100,
377 .map_io = mx31_map_io, 377 .map_io = mx31_map_io,
378 .init_irq = mx31_init_irq, 378 .init_early = imx31_init_early,
379 .init_machine = mxc_board_init, 379 .init_irq = mx31_init_irq,
380 .timer = &mx31_3ds_timer, 380 .timer = &mx31_3ds_timer,
381 .init_machine = mxc_board_init,
381MACHINE_END 382MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-mx31ads.c b/arch/arm/mach-mx3/mach-mx31ads.c
index e40eb6e26940..787bdc4d6cc8 100644
--- a/arch/arm/mach-mx3/mach-mx31ads.c
+++ b/arch/arm/mach-mx3/mach-mx31ads.c
@@ -550,9 +550,10 @@ static struct sys_timer mx31ads_timer = {
550 */ 550 */
551MACHINE_START(MX31ADS, "Freescale MX31ADS") 551MACHINE_START(MX31ADS, "Freescale MX31ADS")
552 /* Maintainer: Freescale Semiconductor, Inc. */ 552 /* Maintainer: Freescale Semiconductor, Inc. */
553 .boot_params = MX3x_PHYS_OFFSET + 0x100, 553 .boot_params = MX3x_PHYS_OFFSET + 0x100,
554 .map_io = mx31ads_map_io, 554 .map_io = mx31ads_map_io,
555 .init_irq = mx31ads_init_irq, 555 .init_early = imx31_init_early,
556 .init_machine = mxc_board_init, 556 .init_irq = mx31ads_init_irq,
557 .timer = &mx31ads_timer, 557 .timer = &mx31ads_timer,
558 .init_machine = mxc_board_init,
558MACHINE_END 559MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-mx31lilly.c b/arch/arm/mach-mx3/mach-mx31lilly.c
index 6d0e6c9a107c..1c3f4913d1ea 100644
--- a/arch/arm/mach-mx3/mach-mx31lilly.c
+++ b/arch/arm/mach-mx3/mach-mx31lilly.c
@@ -347,10 +347,10 @@ static struct sys_timer mx31lilly_timer = {
347}; 347};
348 348
349MACHINE_START(LILLY1131, "INCO startec LILLY-1131") 349MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
350 .boot_params = MX3x_PHYS_OFFSET + 0x100, 350 .boot_params = MX3x_PHYS_OFFSET + 0x100,
351 .map_io = mx31_map_io, 351 .map_io = mx31_map_io,
352 .init_irq = mx31_init_irq, 352 .init_early = imx31_init_early,
353 .init_machine = mx31lilly_board_init, 353 .init_irq = mx31_init_irq,
354 .timer = &mx31lilly_timer, 354 .timer = &mx31lilly_timer,
355 .init_machine = mx31lilly_board_init,
355MACHINE_END 356MACHINE_END
356
diff --git a/arch/arm/mach-mx3/mach-mx31lite.c b/arch/arm/mach-mx3/mach-mx31lite.c
index 864aa4fce183..01e24b5045e4 100644
--- a/arch/arm/mach-mx3/mach-mx31lite.c
+++ b/arch/arm/mach-mx3/mach-mx31lite.c
@@ -281,9 +281,10 @@ struct sys_timer mx31lite_timer = {
281 281
282MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM") 282MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM")
283 /* Maintainer: Freescale Semiconductor, Inc. */ 283 /* Maintainer: Freescale Semiconductor, Inc. */
284 .boot_params = MX3x_PHYS_OFFSET + 0x100, 284 .boot_params = MX3x_PHYS_OFFSET + 0x100,
285 .map_io = mx31lite_map_io, 285 .map_io = mx31lite_map_io,
286 .init_irq = mx31_init_irq, 286 .init_early = imx31_init_early,
287 .init_machine = mxc_board_init, 287 .init_irq = mx31_init_irq,
288 .timer = &mx31lite_timer, 288 .timer = &mx31lite_timer,
289 .init_machine = mxc_board_init,
289MACHINE_END 290MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-mx31moboard.c b/arch/arm/mach-mx3/mach-mx31moboard.c
index 8fcf9910ed08..fd988a0d9a5e 100644
--- a/arch/arm/mach-mx3/mach-mx31moboard.c
+++ b/arch/arm/mach-mx3/mach-mx31moboard.c
@@ -564,10 +564,10 @@ struct sys_timer mx31moboard_timer = {
564 564
565MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") 565MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
566 /* Maintainer: Valentin Longchamp, EPFL Mobots group */ 566 /* Maintainer: Valentin Longchamp, EPFL Mobots group */
567 .boot_params = MX3x_PHYS_OFFSET + 0x100, 567 .boot_params = MX3x_PHYS_OFFSET + 0x100,
568 .map_io = mx31_map_io, 568 .map_io = mx31_map_io,
569 .init_irq = mx31_init_irq, 569 .init_early = imx31_init_early,
570 .init_machine = mxc_board_init, 570 .init_irq = mx31_init_irq,
571 .timer = &mx31moboard_timer, 571 .timer = &mx31moboard_timer,
572 .init_machine = mxc_board_init,
572MACHINE_END 573MACHINE_END
573
diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-mx3/mach-mx35_3ds.c
index b1963f257c20..c5115dc5c0c5 100644
--- a/arch/arm/mach-mx3/mach-mx35_3ds.c
+++ b/arch/arm/mach-mx3/mach-mx35_3ds.c
@@ -193,9 +193,10 @@ struct sys_timer mx35pdk_timer = {
193 193
194MACHINE_START(MX35_3DS, "Freescale MX35PDK") 194MACHINE_START(MX35_3DS, "Freescale MX35PDK")
195 /* Maintainer: Freescale Semiconductor, Inc */ 195 /* Maintainer: Freescale Semiconductor, Inc */
196 .boot_params = MX3x_PHYS_OFFSET + 0x100, 196 .boot_params = MX3x_PHYS_OFFSET + 0x100,
197 .map_io = mx35_map_io, 197 .map_io = mx35_map_io,
198 .init_irq = mx35_init_irq, 198 .init_early = imx35_init_early,
199 .init_machine = mxc_board_init, 199 .init_irq = mx35_init_irq,
200 .timer = &mx35pdk_timer, 200 .timer = &mx35pdk_timer,
201 .init_machine = mxc_board_init,
201MACHINE_END 202MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-pcm037.c b/arch/arm/mach-mx3/mach-pcm037.c
index b752f6bc20a2..7d444f714f30 100644
--- a/arch/arm/mach-mx3/mach-pcm037.c
+++ b/arch/arm/mach-mx3/mach-pcm037.c
@@ -675,9 +675,10 @@ struct sys_timer pcm037_timer = {
675 675
676MACHINE_START(PCM037, "Phytec Phycore pcm037") 676MACHINE_START(PCM037, "Phytec Phycore pcm037")
677 /* Maintainer: Pengutronix */ 677 /* Maintainer: Pengutronix */
678 .boot_params = MX3x_PHYS_OFFSET + 0x100, 678 .boot_params = MX3x_PHYS_OFFSET + 0x100,
679 .map_io = mx31_map_io, 679 .map_io = mx31_map_io,
680 .init_irq = mx31_init_irq, 680 .init_early = imx31_init_early,
681 .init_machine = mxc_board_init, 681 .init_irq = mx31_init_irq,
682 .timer = &pcm037_timer, 682 .timer = &pcm037_timer,
683 .init_machine = mxc_board_init,
683MACHINE_END 684MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-pcm043.c b/arch/arm/mach-mx3/mach-pcm043.c
index a515290f15fc..b03e19d65487 100644
--- a/arch/arm/mach-mx3/mach-pcm043.c
+++ b/arch/arm/mach-mx3/mach-pcm043.c
@@ -403,10 +403,10 @@ struct sys_timer pcm043_timer = {
403 403
404MACHINE_START(PCM043, "Phytec Phycore pcm043") 404MACHINE_START(PCM043, "Phytec Phycore pcm043")
405 /* Maintainer: Pengutronix */ 405 /* Maintainer: Pengutronix */
406 .boot_params = MX3x_PHYS_OFFSET + 0x100, 406 .boot_params = MX3x_PHYS_OFFSET + 0x100,
407 .map_io = mx35_map_io, 407 .map_io = mx35_map_io,
408 .init_irq = mx35_init_irq, 408 .init_early = imx35_init_early,
409 .init_machine = mxc_board_init, 409 .init_irq = mx35_init_irq,
410 .timer = &pcm043_timer, 410 .timer = &pcm043_timer,
411 .init_machine = mxc_board_init,
411MACHINE_END 412MACHINE_END
412
diff --git a/arch/arm/mach-mx3/mach-qong.c b/arch/arm/mach-mx3/mach-qong.c
index fd1050c40964..064f2db25f39 100644
--- a/arch/arm/mach-mx3/mach-qong.c
+++ b/arch/arm/mach-mx3/mach-qong.c
@@ -270,9 +270,10 @@ static struct sys_timer qong_timer = {
270 270
271MACHINE_START(QONG, "Dave/DENX QongEVB-LITE") 271MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
272 /* Maintainer: DENX Software Engineering GmbH */ 272 /* Maintainer: DENX Software Engineering GmbH */
273 .boot_params = MX3x_PHYS_OFFSET + 0x100, 273 .boot_params = MX3x_PHYS_OFFSET + 0x100,
274 .map_io = mx31_map_io, 274 .map_io = mx31_map_io,
275 .init_irq = mx31_init_irq, 275 .init_early = imx31_init_early,
276 .init_machine = mxc_board_init, 276 .init_irq = mx31_init_irq,
277 .timer = &qong_timer, 277 .timer = &qong_timer,
278 .init_machine = mxc_board_init,
278MACHINE_END 279MACHINE_END
diff --git a/arch/arm/mach-mx3/mach-vpr200.c b/arch/arm/mach-mx3/mach-vpr200.c
index 22ec78a7991f..2cf390fbd980 100644
--- a/arch/arm/mach-mx3/mach-vpr200.c
+++ b/arch/arm/mach-mx3/mach-vpr200.c
@@ -320,8 +320,9 @@ struct sys_timer vpr200_timer = {
320 320
321MACHINE_START(VPR200, "VPR200") 321MACHINE_START(VPR200, "VPR200")
322 /* Maintainer: Creative Product Design */ 322 /* Maintainer: Creative Product Design */
323 .map_io = mx35_map_io, 323 .map_io = mx35_map_io,
324 .init_irq = mx35_init_irq, 324 .init_early = imx35_init_early,
325 .init_machine = vpr200_board_init, 325 .init_irq = mx35_init_irq,
326 .timer = &vpr200_timer, 326 .timer = &vpr200_timer,
327 .init_machine = vpr200_board_init,
327MACHINE_END 328MACHINE_END
diff --git a/arch/arm/mach-mx3/mm.c b/arch/arm/mach-mx3/mm.c
index 47118f760244..3387319b0964 100644
--- a/arch/arm/mach-mx3/mm.c
+++ b/arch/arm/mach-mx3/mm.c
@@ -52,10 +52,13 @@ static struct map_desc mx31_io_desc[] __initdata = {
52 */ 52 */
53void __init mx31_map_io(void) 53void __init mx31_map_io(void)
54{ 54{
55 iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc));
56}
57
58void __init imx31_init_early(void)
59{
55 mxc_set_cpu_type(MXC_CPU_MX31); 60 mxc_set_cpu_type(MXC_CPU_MX31);
56 mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR)); 61 mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR));
57
58 iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc));
59} 62}
60 63
61int imx31_register_gpios(void); 64int imx31_register_gpios(void);
@@ -77,11 +80,14 @@ static struct map_desc mx35_io_desc[] __initdata = {
77 80
78void __init mx35_map_io(void) 81void __init mx35_map_io(void)
79{ 82{
83 iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc));
84}
85
86void __init imx35_init_early(void)
87{
80 mxc_set_cpu_type(MXC_CPU_MX35); 88 mxc_set_cpu_type(MXC_CPU_MX35);
81 mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR)); 89 mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR));
82 mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR)); 90 mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR));
83
84 iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc));
85} 91}
86 92
87int imx35_register_gpios(void); 93int imx35_register_gpios(void);