From b395e8bfb08444a5dbc391e64e0b8e2358906093 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Mon, 3 Sep 2012 10:18:09 +0200 Subject: ARM i.MX: switch to gpiolib support Signed-off-by: Sascha Hauer Signed-off-by: Steffen Trumtrar --- arch/arm/mach-imx/imx6.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'arch/arm/mach-imx/imx6.c') diff --git a/arch/arm/mach-imx/imx6.c b/arch/arm/mach-imx/imx6.c index a443343853..c693724a51 100644 --- a/arch/arm/mach-imx/imx6.c +++ b/arch/arm/mach-imx/imx6.c @@ -21,20 +21,6 @@ #include #include -#include "gpio.h" - -void *imx_gpio_base[] = { - (void *)MX6_GPIO1_BASE_ADDR, - (void *)MX6_GPIO2_BASE_ADDR, - (void *)MX6_GPIO3_BASE_ADDR, - (void *)MX6_GPIO4_BASE_ADDR, - (void *)MX6_GPIO5_BASE_ADDR, - (void *)MX6_GPIO6_BASE_ADDR, - (void *)MX6_GPIO7_BASE_ADDR, -}; - -int imx_gpio_count = ARRAY_SIZE(imx_gpio_base) * 32; - void imx6_init_lowlevel(void) { void __iomem *aips1 = (void *)MX6_AIPS1_ON_BASE_ADDR; @@ -69,3 +55,17 @@ void imx6_init_lowlevel(void) writel(0xffffffff, 0x020c407c); writel(0xffffffff, 0x020c4080); } + +static int imx6_init(void) +{ + add_generic_device("imx-gpio", 0, NULL, MX6_GPIO1_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 1, NULL, MX6_GPIO2_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 2, NULL, MX6_GPIO3_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 3, NULL, MX6_GPIO4_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 4, NULL, MX6_GPIO5_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 5, NULL, MX6_GPIO6_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx-gpio", 6, NULL, MX6_GPIO7_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + + return 0; +} +coredevice_initcall(imx6_init); -- cgit v1.2.3