ARM: mx3: 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:20 +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>
15 files changed:
arch/arm/mach-mx3/mach-armadillo5x0.c
arch/arm/mach-mx3/mach-cpuimx35.c
arch/arm/mach-mx3/mach-kzm_arm11_01.c
arch/arm/mach-mx3/mach-mx31_3ds.c
arch/arm/mach-mx3/mach-mx31ads.c
arch/arm/mach-mx3/mach-mx31lilly.c
arch/arm/mach-mx3/mach-mx31lite.c
arch/arm/mach-mx3/mach-mx31moboard.c
arch/arm/mach-mx3/mach-mx35_3ds.c
arch/arm/mach-mx3/mach-pcm037.c
arch/arm/mach-mx3/mach-pcm043.c
arch/arm/mach-mx3/mach-qong.c
arch/arm/mach-mx3/mach-vpr200.c
arch/arm/mach-mx3/mm.c
arch/arm/plat-mxc/include/mach/common.h

index 28b6f414b5d58508172dc26b084db1fdff50b9b2..835e2a082b41f5d9b2933d5497c3ca72c59df78f 100644 (file)
@@ -569,9 +569,10 @@ static struct sys_timer armadillo5x0_timer = {
 
 MACHINE_START(ARMADILLO5X0, "Armadillo-500")
        /* Maintainer: Alberto Panizzo  */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .timer          = &armadillo5x0_timer,
-       .init_machine   = armadillo5x0_init,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &armadillo5x0_timer,
+       .init_machine = armadillo5x0_init,
 MACHINE_END
index 26ae90f02582a1010225ad994c20e37aaa1432b2..3eedf0fcaeddae82bfbbbf0d221508551547a0fc 100644 (file)
@@ -184,9 +184,10 @@ struct sys_timer eukrea_cpuimx35_timer = {
 
 MACHINE_START(EUKREA_CPUIMX35, "Eukrea CPUIMX35")
        /* Maintainer: Eukrea Electromatique */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx35_map_io,
-       .init_irq       = mx35_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &eukrea_cpuimx35_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx35_map_io,
+       .init_ext3_fs = imx35_init_early,
+       .init_irq = mx35_init_irq,
+       .timer = &eukrea_cpuimx35_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index a5f3eb24e4d5059f499850eb095854e101b6f1db..52b8dd7192c627bbdf0dd43344f6944ec676d75a 100644 (file)
@@ -274,9 +274,10 @@ static struct sys_timer kzm_timer = {
  * initialize __mach_desc_KZM_ARM11_01 data structure.
  */
 MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = kzm_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = kzm_board_init,
-       .timer          = &kzm_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = kzm_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &kzm_timer,
+       .init_machine = kzm_board_init,
 MACHINE_END
index 6c16c403c242f386c9cd0b458f2cf351bf3f466b..3d0ded92a8a2a08f631698774430ea39c28152eb 100644 (file)
@@ -373,9 +373,10 @@ static struct sys_timer mx31_3ds_timer = {
  */
 MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
        /* Maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &mx31_3ds_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &mx31_3ds_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index e40eb6e269406b7a733b03dcdea8f7c3921ee623..787bdc4d6cc8e8eaa737b7d358f6e4edabdad18b 100644 (file)
@@ -550,9 +550,10 @@ static struct sys_timer mx31ads_timer = {
  */
 MACHINE_START(MX31ADS, "Freescale MX31ADS")
        /* Maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31ads_map_io,
-       .init_irq       = mx31ads_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &mx31ads_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31ads_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31ads_init_irq,
+       .timer = &mx31ads_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index 6d0e6c9a107c9844bc0fd9b8978316cae177e363..1c3f4913d1ea5c25e37a743ea2dc13909eda6bb3 100644 (file)
@@ -347,10 +347,10 @@ static struct sys_timer mx31lilly_timer = {
 };
 
 MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mx31lilly_board_init,
-       .timer          = &mx31lilly_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &mx31lilly_timer,
+       .init_machine = mx31lilly_board_init,
 MACHINE_END
-
index 864aa4fce18364731c9332b16c9b71591583afc2..01e24b5045e44a33c8983f38be9e7604c4ab52dd 100644 (file)
@@ -281,9 +281,10 @@ struct sys_timer mx31lite_timer = {
 
 MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM")
        /* Maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31lite_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &mx31lite_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31lite_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &mx31lite_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index 8fcf9910ed08edd9bf807789d1eb80099cdb5798..fd988a0d9a5ed5e45fcd92b69bbd7abd9e1a7739 100644 (file)
@@ -564,10 +564,10 @@ struct sys_timer mx31moboard_timer = {
 
 MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
        /* Maintainer: Valentin Longchamp, EPFL Mobots group */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &mx31moboard_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &mx31moboard_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
-
index b1963f257c201b758fc0b3de89952d1a2ca64e2e..c5115dc5c0c551f56dc8bed58e761a4a45c71d61 100644 (file)
@@ -193,9 +193,10 @@ struct sys_timer mx35pdk_timer = {
 
 MACHINE_START(MX35_3DS, "Freescale MX35PDK")
        /* Maintainer: Freescale Semiconductor, Inc */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx35_map_io,
-       .init_irq       = mx35_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &mx35pdk_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx35_map_io,
+       .init_early = imx35_init_early,
+       .init_irq = mx35_init_irq,
+       .timer = &mx35pdk_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index b752f6bc20a2ea6574f7caa6e2850696f26e1759..7d444f714f30d15080cb10b8c0e617a66943ad23 100644 (file)
@@ -675,9 +675,10 @@ struct sys_timer pcm037_timer = {
 
 MACHINE_START(PCM037, "Phytec Phycore pcm037")
        /* Maintainer: Pengutronix */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &pcm037_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &pcm037_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index a515290f15fc6836ba02f8857eafc011404abd7e..b03e19d654871f5bbb843cc02380960c9a448d3a 100644 (file)
@@ -403,10 +403,10 @@ struct sys_timer pcm043_timer = {
 
 MACHINE_START(PCM043, "Phytec Phycore pcm043")
        /* Maintainer: Pengutronix */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx35_map_io,
-       .init_irq       = mx35_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &pcm043_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx35_map_io,
+       .init_early = imx35_init_early,
+       .init_irq = mx35_init_irq,
+       .timer = &pcm043_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
-
index fd1050c40964cac1d42d450026f810fd0ae25af4..064f2db25f3956c48bb4c4a9a6a52b78cf41bb9a 100644 (file)
@@ -270,9 +270,10 @@ static struct sys_timer qong_timer = {
 
 MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
        /* Maintainer: DENX Software Engineering GmbH */
-       .boot_params    = MX3x_PHYS_OFFSET + 0x100,
-       .map_io         = mx31_map_io,
-       .init_irq       = mx31_init_irq,
-       .init_machine   = mxc_board_init,
-       .timer          = &qong_timer,
+       .boot_params = MX3x_PHYS_OFFSET + 0x100,
+       .map_io = mx31_map_io,
+       .init_early = imx31_init_early,
+       .init_irq = mx31_init_irq,
+       .timer = &qong_timer,
+       .init_machine = mxc_board_init,
 MACHINE_END
index 22ec78a7991f3458ffebc6f23fb2e576b7f4e5b1..2cf390fbd9809876a55a2b9dd6687e40cea41d60 100644 (file)
@@ -320,8 +320,9 @@ struct sys_timer vpr200_timer = {
 
 MACHINE_START(VPR200, "VPR200")
        /* Maintainer: Creative Product Design */
-       .map_io         = mx35_map_io,
-       .init_irq       = mx35_init_irq,
-       .init_machine   = vpr200_board_init,
-       .timer          = &vpr200_timer,
+       .map_io = mx35_map_io,
+       .init_early = imx35_init_early,
+       .init_irq = mx35_init_irq,
+       .timer = &vpr200_timer,
+       .init_machine = vpr200_board_init,
 MACHINE_END
index 47118f7602449707749ef9267474963678698cc7..3387319b0964f5c6ac8352da791e052f6630bb0d 100644 (file)
@@ -51,11 +51,14 @@ static struct map_desc mx31_io_desc[] __initdata = {
  * for the IO modules.
  */
 void __init mx31_map_io(void)
+{
+       iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc));
+}
+
+void __init imx31_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX31);
        mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR));
-
-       iotable_init(mx31_io_desc, ARRAY_SIZE(mx31_io_desc));
 }
 
 int imx31_register_gpios(void);
@@ -76,12 +79,15 @@ static struct map_desc mx35_io_desc[] __initdata = {
 };
 
 void __init mx35_map_io(void)
+{
+       iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc));
+}
+
+void __init imx35_init_early(void)
 {
        mxc_set_cpu_type(MXC_CPU_MX35);
        mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR));
        mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR));
-
-       iotable_init(mx35_io_desc, ARRAY_SIZE(mx35_io_desc));
 }
 
 int imx35_register_gpios(void);
index e4f1de0e6f69addda962bf9f83b6d65cea4d3292..857eebf479bd2d3e5cc224c74f99c6f3e5b3f6ec 100644 (file)
@@ -28,6 +28,9 @@ 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 imx31_init_early(void);
+extern void imx35_init_early(void);
+extern void imx50_init_early(void);
 extern void mxc_init_irq(void __iomem *);
 extern void tzic_init_irq(void __iomem *);
 extern void mx1_init_irq(void);