ARM: mx5: use .init_early to initialize cpu type, reset address and iomuxer
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 7 Feb 2011 15:35:21 +0000 (16:35 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 10 Feb 2011 13:23:49 +0000 (14:23 +0100)
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>
12 files changed:
arch/arm/mach-mx5/board-cpuimx51.c
arch/arm/mach-mx5/board-cpuimx51sd.c
arch/arm/mach-mx5/board-mx50_rdp.c
arch/arm/mach-mx5/board-mx51_3ds.c
arch/arm/mach-mx5/board-mx51_babbage.c
arch/arm/mach-mx5/board-mx51_efikamx.c
arch/arm/mach-mx5/board-mx53_evk.c
arch/arm/mach-mx5/board-mx53_loco.c
arch/arm/mach-mx5/board-mx53_smd.c
arch/arm/mach-mx5/mm-mx50.c
arch/arm/mach-mx5/mm.c
arch/arm/plat-mxc/include/mach/common.h

index f576a97ba1246315e8a960e67d46379bcb037fab..2d4199d379056778e21a7a1d63cc73a82c38ea7c 100644 (file)
@@ -294,7 +294,8 @@ MACHINE_START(EUKREA_CPUIMX51, "Eukrea CPUIMX51 Module")
        /* Maintainer: Eric Bénard <eric@eukrea.com> */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine = eukrea_cpuimx51_init,
        .timer = &mxc_timer,
+       .init_machine = eukrea_cpuimx51_init,
 MACHINE_END
index ad931895d8b6b417d391aee5c9130cffd0077bb6..6c3b445e3951d2b63c5d54b3cee2634b084e49bb 100644 (file)
@@ -329,7 +329,8 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
        /* Maintainer: Eric Bénard <eric@eukrea.com> */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine = eukrea_cpuimx51sd_init,
        .timer = &mxc_timer,
+       .init_machine = eukrea_cpuimx51sd_init,
 MACHINE_END
index 75beef74b37563eba8efbc85458a7be1a1f97223..dedf7f2d6d0fda4cbddac06b4e7e4c2bfae8d479 100644 (file)
@@ -216,7 +216,8 @@ static struct sys_timer mx50_rdp_timer = {
 
 MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform")
        .map_io = mx50_map_io,
+       .init_early = imx50_init_early,
        .init_irq = mx50_init_irq,
-       .init_machine = mx50_rdp_board_init,
        .timer = &mx50_rdp_timer,
+       .init_machine = mx50_rdp_board_init,
 MACHINE_END
index 55d5746753a317de3b0f97c15ae3e576d66fac4e..01684708ef34af00084d0d24db1a1366ab1c1a7f 100644 (file)
@@ -168,7 +168,8 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine = mxc_board_init,
        .timer = &mxc_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index d9d402eb947844f1bfa27c3fa8b0ae1108b5fda0..2bd9c9e4e6ba2a0c54cdbbbe17066c908a0602fc 100644 (file)
@@ -398,7 +398,8 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
        /* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine = mxc_board_init,
        .timer = &mxc_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index e23704044eb0faf77bec8cebfb1fd8147992b9a4..2aac4c5b7b51cf4cfbd900a47b59a5ef829e69d6 100644 (file)
@@ -347,7 +347,8 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop")
        /* Maintainer: Amit Kucheria <amit.kucheria@linaro.org> */
        .boot_params = MX51_PHYS_OFFSET + 0x100,
        .map_io = mx51_map_io,
+       .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
-       .init_machine =  mxc_board_init,
        .timer = &mxc_timer,
+       .init_machine =  mxc_board_init,
 MACHINE_END
index 49780079f59eb231ad4aa3da0ede1395d7d09503..8ed316bc5260a2f9ee1991c333f172b380e93d5e 100644 (file)
@@ -150,7 +150,8 @@ static struct sys_timer mx53_evk_timer = {
 
 MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board")
        .map_io = mx53_map_io,
+       .init_early = imx53_init_early,
        .init_irq = mx53_init_irq,
-       .init_machine = mx53_evk_board_init,
        .timer = &mx53_evk_timer,
+       .init_machine = mx53_evk_board_init,
 MACHINE_END
index 3aefd6dab046afcf3ac61797ed907dfd7ed22220..0fea252d42ebf60faf144b1e8a6517687ba947f3 100644 (file)
@@ -82,7 +82,8 @@ static struct sys_timer mx53_loco_timer = {
 
 MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
        .map_io = mx53_map_io,
+       .init_early = imx53_init_early,
        .init_irq = mx53_init_irq,
-       .init_machine = mx53_loco_board_init,
        .timer = &mx53_loco_timer,
+       .init_machine = mx53_loco_board_init,
 MACHINE_END
index c7b45d464b6047a018842cbb404e726472ef5db8..fa0fad80fd84d14ea84087c0c4ee6d70c78fce8e 100644 (file)
@@ -103,7 +103,8 @@ static struct sys_timer mx53_smd_timer = {
 
 MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board")
        .map_io = mx53_map_io,
+       .init_early = imx53_init_early,
        .init_irq = mx53_init_irq,
-       .init_machine = mx53_smd_board_init,
        .timer = &mx53_smd_timer,
+       .init_machine = mx53_smd_board_init,
 MACHINE_END
index 8c6540e58390ada55f6bae39dfc04eb1719c3d89..69b34269dae57089cd3dd1a717681462c84d04c4 100644 (file)
@@ -43,11 +43,15 @@ static struct map_desc mx50_io_desc[] __initdata = {
  * for the IO modules.
  */
 void __init mx50_map_io(void)
+{
+       iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
+}
+
+void __init imx50_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX50);
        mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR));
        mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR));
-       iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
 }
 
 int imx50_register_gpios(void);
index 457f9f95204be8de5c7f64da20bfd49c3b7c86c0..8730cd1b94b1affeb9f6a2123a54b343244d014b 100644 (file)
@@ -46,19 +46,27 @@ static struct map_desc mx53_io_desc[] __initdata = {
  * for the IO modules.
  */
 void __init mx51_map_io(void)
+{
+       iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
+}
+
+void __init imx51_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX51);
        mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));
        mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR));
-       iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
 }
 
 void __init mx53_map_io(void)
+{
+       iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
+}
+
+void __init imx53_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX53);
        mxc_iomux_v3_init(MX53_IO_ADDRESS(MX53_IOMUXC_BASE_ADDR));
        mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG_BASE_ADDR));
-       iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
 }
 
 int imx51_register_gpios(void);
index 857eebf479bd2d3e5cc224c74f99c6f3e5b3f6ec..4746b9a984a48b1b6e10c88a2d0c9c47c82dc1d2 100644 (file)
@@ -31,6 +31,8 @@ extern void imx27_init_early(void);
 extern void imx31_init_early(void);
 extern void imx35_init_early(void);
 extern void imx50_init_early(void);
+extern void imx51_init_early(void);
+extern void imx53_init_early(void);
 extern void mxc_init_irq(void __iomem *);
 extern void tzic_init_irq(void __iomem *);
 extern void mx1_init_irq(void);