]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: shmobile: armadillo800eva: Register pinctrl mapping for INTC
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 17 Apr 2013 23:18:41 +0000 (01:18 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Wed, 24 Apr 2013 08:33:59 +0000 (17:33 +0900)
Replace the GPIO-based INTC pinmux configuration by a pinctrl mapping.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/board-armadillo800eva.c

index 81db74acaa447f3cc9af83fb3364b11a602939b1..4bf4bf3b6e7a32dc7aea3832226e7f5dc8acb469 100644 (file)
@@ -1055,6 +1055,12 @@ static const struct pinctrl_map eva_pinctrl_map[] = {
                                  "sdhi0_ctrl", "sdhi0"),
        PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740",
                                  "sdhi0_wp", "sdhi0"),
+       /* ST1232 */
+       PIN_MAP_MUX_GROUP_DEFAULT("0-0055", "pfc-r8a7740",
+                                 "intc_irq10", "intc"),
+       /* USBHS */
+       PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7740",
+                                 "intc_irq7_1", "intc"),
 };
 
 static void __init eva_clock_init(void)
@@ -1120,7 +1126,6 @@ static void __init eva_init(void)
        gpio_request_one(202, GPIOF_OUT_INIT_LOW, NULL); /* LCD0_LED_CONT */
 
        /* Touchscreen */
-       gpio_request(GPIO_FN_IRQ10,     NULL); /* TP_INT */
        gpio_request_one(166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */
 
        /* GETHER */
@@ -1154,13 +1159,11 @@ static void __init eva_init(void)
        } else {
                /* USB Func */
                /*
-                * A1 chip has 2 IRQ7 pin and it was controled by MSEL register.
-                * OTOH, usbhs interrupt needs its value (HI/LOW) to decide
-                * USB connection/disconnection (usbhsf_get_vbus()).
-                * This means we needs to select GPIO_FN_IRQ7_PORT209 first,
-                * and select GPIO 209 here
+                * The USBHS interrupt handlers needs to read the IRQ pin value
+                * (HI/LOW) to diffentiate USB connection and disconnection
+                * events (usbhsf_get_vbus()). We thus need to select both the
+                * intc_irq7_1 pin group and GPIO 209 here.
                 */
-               gpio_request(GPIO_FN_IRQ7_PORT209, NULL);
                gpio_request_one(209, GPIOF_IN, NULL);
 
                platform_device_register(&usbhsf_device);