diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-02-07 10:35:20 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-02-10 08:23:49 -0500 |
commit | 97976e223be3091a91da103358c3c6cffff7db81 (patch) | |
tree | 3f658a7775f0049a3365d8d1c94fed0b6fedc903 /arch/arm/mach-mx3 | |
parent | 3dac219615b88010601ee52e7b5fd1c32ef789ea (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.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-cpuimx35.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-kzm_arm11_01.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31_3ds.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31ads.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31lilly.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31lite.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31moboard.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx35_3ds.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-pcm037.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-pcm043.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-qong.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-vpr200.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mm.c | 14 |
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 | ||
570 | MACHINE_START(ARMADILLO5X0, "Armadillo-500") | 570 | MACHINE_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, | ||
577 | MACHINE_END | 578 | MACHINE_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 | ||
185 | MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35") | 185 | MACHINE_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, | ||
192 | MACHINE_END | 193 | MACHINE_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 | */ |
276 | MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01") | 276 | MACHINE_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, | ||
282 | MACHINE_END | 283 | MACHINE_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 | */ |
374 | MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") | 374 | MACHINE_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, | ||
381 | MACHINE_END | 382 | MACHINE_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 | */ |
551 | MACHINE_START(MX31ADS, "Freescale MX31ADS") | 551 | MACHINE_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, | ||
558 | MACHINE_END | 559 | MACHINE_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 | ||
349 | MACHINE_START(LILLY1131, "INCO startec LILLY-1131") | 349 | MACHINE_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, | ||
355 | MACHINE_END | 356 | MACHINE_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 | ||
282 | MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM") | 282 | MACHINE_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, | ||
289 | MACHINE_END | 290 | MACHINE_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 | ||
565 | MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") | 565 | MACHINE_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, | ||
572 | MACHINE_END | 573 | MACHINE_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 | ||
194 | MACHINE_START(MX35_3DS, "Freescale MX35PDK") | 194 | MACHINE_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, | ||
201 | MACHINE_END | 202 | MACHINE_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 | ||
676 | MACHINE_START(PCM037, "Phytec Phycore pcm037") | 676 | MACHINE_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, | ||
683 | MACHINE_END | 684 | MACHINE_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 | ||
404 | MACHINE_START(PCM043, "Phytec Phycore pcm043") | 404 | MACHINE_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, | ||
411 | MACHINE_END | 412 | MACHINE_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 | ||
271 | MACHINE_START(QONG, "Dave/DENX QongEVB-LITE") | 271 | MACHINE_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, | ||
278 | MACHINE_END | 279 | MACHINE_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 | ||
321 | MACHINE_START(VPR200, "VPR200") | 321 | MACHINE_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, | ||
327 | MACHINE_END | 328 | MACHINE_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 | */ |
53 | void __init mx31_map_io(void) | 53 | void __init mx31_map_io(void) |
54 | { | 54 | { |
55 | iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc)); | ||
56 | } | ||
57 | |||
58 | void __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 | ||
61 | int imx31_register_gpios(void); | 64 | int imx31_register_gpios(void); |
@@ -77,11 +80,14 @@ static struct map_desc mx35_io_desc[] __initdata = { | |||
77 | 80 | ||
78 | void __init mx35_map_io(void) | 81 | void __init mx35_map_io(void) |
79 | { | 82 | { |
83 | iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc)); | ||
84 | } | ||
85 | |||
86 | void __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 | ||
87 | int imx35_register_gpios(void); | 93 | int imx35_register_gpios(void); |