ARM: imx: use .init_early to initialize cpu type and reset address
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 7 Feb 2011 15:35:19 +0000 (16:35 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 10 Feb 2011 13:23:48 +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>
19 files changed:
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-imx/mach-eukrea_cpuimx25.c
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-imx/mach-imx27ipcam.c
arch/arm/mach-imx/mach-imx27lite.c
arch/arm/mach-imx/mach-mx1ads.c
arch/arm/mach-imx/mach-mx21ads.c
arch/arm/mach-imx/mach-mx25_3ds.c
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mach-mx27ads.c
arch/arm/mach-imx/mach-mxt_td60.c
arch/arm/mach-imx/mach-pca100.c
arch/arm/mach-imx/mach-pcm038.c
arch/arm/mach-imx/mach-scb9328.c
arch/arm/mach-imx/mm-imx1.c
arch/arm/mach-imx/mm-imx21.c
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx27.c
arch/arm/plat-mxc/include/mach/common.h

index 6cf04da2456afae330722dae374740d72e2c472c..cabb800adbb643a0aad8a07928bab9b325496b51 100644 (file)
@@ -304,9 +304,10 @@ static struct sys_timer eukrea_cpuimx27_timer = {
 };
 
 MACHINE_START(CPUIMX27, "EUKREA CPUIMX27")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = eukrea_cpuimx27_init,
-       .timer          = &eukrea_cpuimx27_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &eukrea_cpuimx27_timer,
+       .init_machine = eukrea_cpuimx27_init,
 MACHINE_END
index eb395aba9237535b6f9402e6defdfce3fbf94f3f..439167dbe8f64ed29b78117a320a2be5432e3345 100644 (file)
@@ -153,9 +153,10 @@ static struct sys_timer eukrea_cpuimx25_timer = {
 
 MACHINE_START(EUKREA_CPUIMX25, "Eukrea CPUIMX25")
        /* Maintainer: Eukrea Electromatique */
-       .boot_params    = MX25_PHYS_OFFSET + 0x100,
-       .map_io         = mx25_map_io,
-       .init_irq       = mx25_init_irq,
-       .init_machine   = eukrea_cpuimx25_init,
-       .timer          = &eukrea_cpuimx25_timer,
+       .boot_params = MX25_PHYS_OFFSET + 0x100,
+       .map_io = mx25_map_io,
+       .init_early = imx25_init_early,
+       .init_irq = mx25_init_irq,
+       .timer = &eukrea_cpuimx25_timer,
+       .init_machine = eukrea_cpuimx25_init,
 MACHINE_END
index 40a3666ea6324ad2f39992fb4f48f72b3b445766..494723bf7ea74d6df468ee960d3d42f5a12b1543 100644 (file)
@@ -251,9 +251,10 @@ static struct sys_timer visstrim_m10_timer = {
 };
 
 MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = visstrim_m10_board_init,
-       .timer          = &visstrim_m10_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &visstrim_m10_timer,
+       .init_machine = visstrim_m10_board_init,
 MACHINE_END
index d099ea600891c37b26dca52d3629b4afc49022c3..9be6cd6fbf8c0563d456eb79db4afd03bc8db121 100644 (file)
@@ -69,9 +69,10 @@ static struct sys_timer mx27ipcam_timer = {
 
 MACHINE_START(IMX27IPCAM, "Freescale IMX27IPCAM")
        /* maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = mx27ipcam_init,
-       .timer          = &mx27ipcam_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &mx27ipcam_timer,
+       .init_machine = mx27ipcam_init,
 MACHINE_END
index 3a1202e47212dae6d88c07a5e5ff6ae898afc19e..841140516ede2e89e5d197053f18ef39762a033b 100644 (file)
@@ -75,9 +75,10 @@ static struct sys_timer mx27lite_timer = {
 };
 
 MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = mx27lite_init,
-       .timer          = &mx27lite_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &mx27lite_timer,
+       .init_machine = mx27lite_init,
 MACHINE_END
index 1f446e5eb6367f135d618332883ff94b7796d907..47cf56ac6d5b36d7604c981dd50c3b7766d81431 100644 (file)
@@ -144,17 +144,19 @@ struct sys_timer mx1ads_timer = {
 
 MACHINE_START(MX1ADS, "Freescale MX1ADS")
        /* Maintainer: Sascha Hauer, Pengutronix */
-       .boot_params    = MX1_PHYS_OFFSET + 0x100,
-       .map_io         = mx1_map_io,
-       .init_irq       = mx1_init_irq,
-       .timer          = &mx1ads_timer,
-       .init_machine   = mx1ads_init,
+       .boot_params = MX1_PHYS_OFFSET + 0x100,
+       .map_io = mx1_map_io,
+       .init_early = imx1_init_early,
+       .init_irq = mx1_init_irq,
+       .timer = &mx1ads_timer,
+       .init_machine = mx1ads_init,
 MACHINE_END
 
 MACHINE_START(MXLADS, "Freescale MXLADS")
-       .boot_params    = MX1_PHYS_OFFSET + 0x100,
-       .map_io         = mx1_map_io,
-       .init_irq       = mx1_init_irq,
-       .timer          = &mx1ads_timer,
-       .init_machine   = mx1ads_init,
+       .boot_params = MX1_PHYS_OFFSET + 0x100,
+       .map_io = mx1_map_io,
+       .init_early = imx1_init_early,
+       .init_irq = mx1_init_irq,
+       .timer = &mx1ads_timer,
+       .init_machine = mx1ads_init,
 MACHINE_END
index 0a372577c2ac317d13b3475f98ab0873764a14a5..fa52a1086eaee49cbfa8431ecd79081ef8d609ea 100644 (file)
@@ -304,9 +304,10 @@ static struct sys_timer mx21ads_timer = {
 
 MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
        /* maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX21_PHYS_OFFSET + 0x100,
-       .map_io         = mx21ads_map_io,
-       .init_irq       = mx21_init_irq,
-       .init_machine   = mx21ads_board_init,
-       .timer          = &mx21ads_timer,
+       .boot_params = MX21_PHYS_OFFSET + 0x100,
+       .map_io = mx21ads_map_io,
+       .init_early = imx21_init_early,
+       .init_irq = mx21_init_irq,
+       .timer = &mx21ads_timer,
+       .init_machine = mx21ads_board_init,
 MACHINE_END
index aa76cfd9f3484db941c02e875a76c5c56390faf9..0c92a80eac46cb9456950cd299166882a27c30db 100644 (file)
@@ -226,10 +226,10 @@ static struct sys_timer mx25pdk_timer = {
 
 MACHINE_START(MX25_3DS, "Freescale MX25PDK (3DS)")
        /* Maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX25_PHYS_OFFSET + 0x100,
-       .map_io         = mx25_map_io,
-       .init_irq       = mx25_init_irq,
-       .init_machine   = mx25pdk_init,
-       .timer          = &mx25pdk_timer,
+       .boot_params = MX25_PHYS_OFFSET + 0x100,
+       .map_io = mx25_map_io,
+       .init_early = imx25_init_early,
+       .init_irq = mx25_init_irq,
+       .timer = &mx25pdk_timer,
+       .init_machine = mx25pdk_init,
 MACHINE_END
-
index 49e6a7546869608bd7079c6364bdd5d79ded2f74..4e0e225ca4a231f9a3ff068560e749f80fcfcc81 100644 (file)
@@ -295,9 +295,10 @@ static struct sys_timer mx27pdk_timer = {
 
 MACHINE_START(MX27_3DS, "Freescale MX27PDK")
        /* maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = mx27pdk_init,
-       .timer          = &mx27pdk_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &mx27pdk_timer,
+       .init_machine = mx27pdk_init,
 MACHINE_END
index b832f960fec4c63b475640db7bd737b465ac3b27..367d1e4384c7ddc4da4b1ddceab2689b6893adde 100644 (file)
@@ -344,9 +344,10 @@ static void __init mx27ads_map_io(void)
 
 MACHINE_START(MX27ADS, "Freescale i.MX27ADS")
        /* maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27ads_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = mx27ads_board_init,
-       .timer          = &mx27ads_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27ads_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &mx27ads_timer,
+       .init_machine = mx27ads_board_init,
 MACHINE_END
index 4ce71b0401db4c2d614c4507d7c3e2abc2edf8a8..69787c30c320526a2b635f5c26f1d4694c2d9315 100644 (file)
@@ -266,10 +266,10 @@ static struct sys_timer mxt_td60_timer = {
 
 MACHINE_START(MXT_TD60, "Maxtrack i-MXT TD60")
        /* maintainer: Maxtrack Industrial */
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = mxt_td60_board_init,
-       .timer          = &mxt_td60_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &mxt_td60_timer,
+       .init_machine = mxt_td60_board_init,
 MACHINE_END
-
index faa4e04006e06dbd92d01b0cef3e91a201d3e6f0..3514178caeda56af156aee326ec5f09335f2fe5d 100644 (file)
@@ -433,10 +433,10 @@ static struct sys_timer pca100_timer = {
 };
 
 MACHINE_START(PCA100, "phyCARD-i.MX27")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = pca100_init,
-       .timer          = &pca100_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .init_machine = pca100_init,
+       .timer = &pca100_timer,
 MACHINE_END
-
index ca20117d60676929e771387ab0ea14b2a06469b5..9656ef38ca961a0b423c55ddf0b383b184caef10 100644 (file)
@@ -340,9 +340,10 @@ static struct sys_timer pcm038_timer = {
 };
 
 MACHINE_START(PCM038, "phyCORE-i.MX27")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = pcm038_init,
-       .timer          = &pcm038_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &pcm038_timer,
+       .init_machine = pcm038_init,
 MACHINE_END
index eae878f306c62912f3736b532106b8f1f08c5d4f..dcaee043628ee449590edebba994e32636a8ab98 100644 (file)
@@ -145,10 +145,11 @@ static struct sys_timer scb9328_timer = {
 };
 
 MACHINE_START(SCB9328, "Synertronixx scb9328")
-    /* Sascha Hauer */
-       .boot_params    = 0x08000100,
-       .map_io         = mx1_map_io,
-       .init_irq       = mx1_init_irq,
-       .timer          = &scb9328_timer,
-       .init_machine   = scb9328_init,
+       /* Sascha Hauer */
+       .boot_params = 0x08000100,
+       .map_io = mx1_map_io,
+       .init_early = imx1_init_early,
+       .init_irq = mx1_init_irq,
+       .timer = &scb9328_timer,
+       .init_machine = scb9328_init,
 MACHINE_END
index 729ae0915af887b8f24ac6c1f89d7dd31cc2dc25..378c61b1e74cd8bf69d2ad52fef69f7697f3ca5d 100644 (file)
@@ -29,11 +29,14 @@ static struct map_desc imx_io_desc[] __initdata = {
 };
 
 void __init mx1_map_io(void)
+{
+       iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
+}
+
+void __init imx1_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX1);
        mxc_arch_reset_init(MX1_IO_ADDRESS(MX1_WDT_BASE_ADDR));
-
-       iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
 }
 
 int imx1_register_gpios(void);
index e728af81d1b106f9f3c6e1ae890eee9ef9835299..b6152c6b5b292ed3f340e5f9209debcb6b5789d4 100644 (file)
@@ -55,11 +55,14 @@ static struct map_desc imx21_io_desc[] __initdata = {
  * memory map for the IO modules.
  */
 void __init mx21_map_io(void)
+{
+       iotable_init(imx21_io_desc, ARRAY_SIZE(imx21_io_desc));
+}
+
+void __init imx21_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX21);
        mxc_arch_reset_init(MX21_IO_ADDRESS(MX21_WDOG_BASE_ADDR));
-
-       iotable_init(imx21_io_desc, ARRAY_SIZE(imx21_io_desc));
 }
 
 int imx21_register_gpios(void);
index 2edec6ce8fe7b0b9c7b03f4034b90d6a693b979a..09dd8d4e15bbe43333fd653acffec4a56e82c047 100644 (file)
@@ -44,12 +44,15 @@ static struct map_desc mx25_io_desc[] __initdata = {
  * for the IO modules.
  */
 void __init mx25_map_io(void)
+{
+       iotable_init(mx25_io_desc, ARRAY_SIZE(mx25_io_desc));
+}
+
+void __init imx25_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX25);
        mxc_iomux_v3_init(MX25_IO_ADDRESS(MX25_IOMUXC_BASE_ADDR));
        mxc_arch_reset_init(MX25_IO_ADDRESS(MX25_WDOG_BASE_ADDR));
-
-       iotable_init(mx25_io_desc, ARRAY_SIZE(mx25_io_desc));
 }
 
 int imx25_register_gpios(void);
index 374e48b7a412f5e10da611f629623e853209d8af..bcaa3b69c456bcae6546e251424e7f40fb61c262 100644 (file)
@@ -55,11 +55,14 @@ static struct map_desc imx27_io_desc[] __initdata = {
  * memory map for the IO modules.
  */
 void __init mx27_map_io(void)
+{
+       iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc));
+}
+
+void __init imx27_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX27);
        mxc_arch_reset_init(MX27_IO_ADDRESS(MX27_WDOG_BASE_ADDR));
-
-       iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc));
 }
 
 int imx27_register_gpios(void);
index aea2cd3b6d150427379e0a8f797d96fce236df70..e4f1de0e6f69addda962bf9f83b6d65cea4d3292 100644 (file)
@@ -24,6 +24,10 @@ extern void mx50_map_io(void);
 extern void mx51_map_io(void);
 extern void mx53_map_io(void);
 extern void mxc91231_map_io(void);
+extern void imx1_init_early(void);
+extern void imx21_init_early(void);
+extern void imx25_init_early(void);
+extern void imx27_init_early(void);
 extern void mxc_init_irq(void __iomem *);
 extern void tzic_init_irq(void __iomem *);
 extern void mx1_init_irq(void);