diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-06-23 15:00:28 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-06-24 08:35:00 +0200 |
commit | f887536147ac892751a18752f34764daf7267845 (patch) | |
tree | 6f30f1d6645dca834c71ea80e432ea005690b109 /arch/arm/mach-imx/imx1.c | |
parent | a6375f6e454e117ef8c8d323a21613afab035c06 (diff) | |
download | barebox-f887536147ac892751a18752f34764daf7267845.tar.gz barebox-f887536147ac892751a18752f34764daf7267845.tar.xz |
ARM: i.MX: centralize i.MX startup
Each i.MX SoC has its own SoC initcall. To ease multi SoC support
move it to a single initcall.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/imx1.c')
-rw-r--r-- | arch/arm/mach-imx/imx1.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/imx1.c b/arch/arm/mach-imx/imx1.c index 588ac02c9c..ecd71b865c 100644 --- a/arch/arm/mach-imx/imx1.c +++ b/arch/arm/mach-imx/imx1.c @@ -17,6 +17,7 @@ #include <mach/imx1-regs.h> #include <mach/weim.h> #include <mach/iomux-v1.h> +#include <mach/generic.h> #include <reset_source.h> #define MX1_RSR MX1_SCM_BASE_ADDR @@ -51,11 +52,17 @@ void imx1_setup_eimcs(size_t cs, unsigned upper, unsigned lower) #include <mach/esdctl.h> -static int imx1_init(void) +int imx1_init(void) { - imx_iomuxv1_init((void *)MX1_GPIO1_BASE_ADDR); imx1_detect_reset_source(); + return 0; +} + +int imx1_devices_init(void) +{ + imx_iomuxv1_init((void *)MX1_GPIO1_BASE_ADDR); + add_generic_device("imx1-ccm", 0, NULL, MX1_CCM_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL); add_generic_device("imx1-gpt", 0, NULL, MX1_TIM1_BASE_ADDR, 0x100, IORESOURCE_MEM, NULL); add_generic_device("imx1-gpio", 0, NULL, MX1_GPIO1_BASE_ADDR, 0x100, IORESOURCE_MEM, NULL); @@ -67,4 +74,3 @@ static int imx1_init(void) return 0; } -postcore_initcall(imx1_init); |