summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx6.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-06-23 15:00:28 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-06-24 08:35:00 +0200
commitf887536147ac892751a18752f34764daf7267845 (patch)
tree6f30f1d6645dca834c71ea80e432ea005690b109 /arch/arm/mach-imx/imx6.c
parenta6375f6e454e117ef8c8d323a21613afab035c06 (diff)
downloadbarebox-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/imx6.c')
-rw-r--r--arch/arm/mach-imx/imx6.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/imx6.c b/arch/arm/mach-imx/imx6.c
index 1d69ec8ca9..9e7dd7a380 100644
--- a/arch/arm/mach-imx/imx6.c
+++ b/arch/arm/mach-imx/imx6.c
@@ -18,6 +18,7 @@
#include <mach/generic.h>
#include <mach/revision.h>
#include <mach/imx6-regs.h>
+#include <mach/generic.h>
#define SI_REV 0x260
@@ -56,7 +57,7 @@ void imx6_init_lowlevel(void)
writel(0xffffffff, 0x020c4080);
}
-static int imx6_init(void)
+int imx6_init(void)
{
u32 rev;
u32 mx6_silicon_revision;
@@ -83,9 +84,11 @@ static int imx6_init(void)
imx_set_silicon_revision("i.MX6", mx6_silicon_revision);
- if (of_get_root_node())
- return 0;
+ return 0;
+}
+int imx6_devices_init(void)
+{
add_generic_device("imx-iomuxv3", 0, NULL, MX6_IOMUXC_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
add_generic_device("imx6-ccm", 0, NULL, MX6_CCM_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL);
add_generic_device("imx31-gpt", 0, NULL, MX6_GPT_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
@@ -101,4 +104,3 @@ static int imx6_init(void)
return 0;
}
-postcore_initcall(imx6_init);