ARM: mach-shmobile: ag5evm: use gpio.
authorTakashi YOSHII <takashi.yoshii.zj@renesas.com>
Fri, 19 Nov 2010 07:49:38 +0000 (16:49 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 19 Nov 2010 07:49:38 +0000 (16:49 +0900)
Ag5evm board now uses gpio api to initialize pins and peripherals.

Signed-off-by: Takashi YOSHII <takashi.yoshii.zj@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/board-ag5evm.c

index 2910ba28248245517aa30aa9a88672eea7c6f3a1..7d56e86c75e0963f0ad96b3bfc64a0d51745e670 100644 (file)
@@ -61,6 +61,7 @@ endchoice
 config MACH_AG5EVM
        bool "AG5EVM board"
        depends on ARCH_SH73A0
+       select ARCH_REQUIRE_GPIOLIB
 
 comment "SH-Mobile System Configuration"
 
index bade04accc801cd34f52dccda8a2c1a1496b8069..e0bc0811dc484dac5f8bee142157ac9bfa981c82 100644 (file)
@@ -121,16 +121,19 @@ void __init ag5evm_init_irq(void)
 
 static void __init ag5evm_init(void)
 {
+       sh73a0_pinmux_init();
+
        /* enable SCIFA2 */
-       __raw_writeb(0x12, PORT154CR); /* TXD */
-       __raw_writeb(0x22, PORT155CR); /* RXD */
-       __raw_writeb(0x12, PORT156CR); /* RTS */
-       __raw_writeb(0x22, PORT157CR); /* CTS */
+       gpio_request(GPIO_FN_SCIFA2_TXD1, NULL);
+       gpio_request(GPIO_FN_SCIFA2_RXD1, NULL);
+       gpio_request(GPIO_FN_SCIFA2_RTS1_, NULL);
+       gpio_request(GPIO_FN_SCIFA2_CTS1_, NULL);
 
        /* enable SMSC911X */
-       __raw_writeb(0x20, PORT144CR); /* PINTA2 */
-       __raw_writeb(0x10, PORT145CR); /* RESET */
-       __raw_writel(__raw_readl(PORTR159_128DR) & ~(1 << 17), PORTR159_128DR);
+       gpio_request(GPIO_PORT144, NULL); /* PINTA2 */
+       gpio_direction_input(GPIO_PORT144);
+       gpio_request(GPIO_PORT145, NULL); /* RESET */
+       gpio_direction_output(GPIO_PORT145, 1);
 
 #ifdef CONFIG_CACHE_L2X0
        /* Shared attribute override enable, 64K*8way */