Signed-off-by: Steffen Trumtrar <s.trumt...@pengutronix.de>
---
 arch/arm/mach-imx/Kconfig |    1 +
 arch/arm/mach-imx/imx21.c |   22 +++++++++++++---------
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 112dcb1..c069ae8 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -153,6 +153,7 @@ config ARCH_IMX1
 
 config ARCH_IMX21
        bool "i.MX21"
+       select GPIOLIB
        select CPU_ARM926T
 
 config ARCH_IMX25
diff --git a/arch/arm/mach-imx/imx21.c b/arch/arm/mach-imx/imx21.c
index bbef33d..264477a 100644
--- a/arch/arm/mach-imx/imx21.c
+++ b/arch/arm/mach-imx/imx21.c
@@ -28,14 +28,18 @@ int imx_silicon_revision(void)
        return CID;
 }
 
-void *imx_gpio_base[] = {
-       (void *)0x10015000,
-       (void *)0x10015100,
-       (void *)0x10015200,
-       (void *)0x10015300,
-       (void *)0x10015400,
-       (void *)0x10015500,
-};
+static int imx21_init(void)
+{
+       add_generic_device("imx_iim", 0, NULL, MX51_IIM_BASE_ADDR, SZ_4K,
+                       IORESOURCE_MEM, NULL);
 
-int imx_gpio_count = ARRAY_SIZE(imx_gpio_base) * 32;
+       add_generic_device("imx-gpio", 0, NULL, 0x10015000, 0x100, 
IORESOURCE_MEM, NULL);
+       add_generic_device("imx-gpio", 1, NULL, 0x10015100, 0x100, 
IORESOURCE_MEM, NULL);
+       add_generic_device("imx-gpio", 2, NULL, 0x10015200, 0x100, 
IORESOURCE_MEM, NULL);
+       add_generic_device("imx-gpio", 3, NULL, 0x10015300, 0x100, 
IORESOURCE_MEM, NULL);
+       add_generic_device("imx-gpio", 4, NULL, 0x10015400, 0x100, 
IORESOURCE_MEM, NULL);
+       add_generic_device("imx-gpio", 5, NULL, 0x10015500, 0x100, 
IORESOURCE_MEM, NULL);
 
+       return 0;
+}
+coredevice_initcall(imx21_init);
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to