]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: Enable 24xx GPIO autoidling
authorJuha Yrjola <juha.yrjola@solidboot.com>
Thu, 28 Sep 2006 15:24:02 +0000 (18:24 +0300)
committerJuha Yrjola <juha.yrjola@solidboot.com>
Thu, 28 Sep 2006 15:24:02 +0000 (18:24 +0300)
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
arch/arm/plat-omap/gpio.c

index f55f99ae58aea6ab07402c2562ab00b84ff8c38e..9e4bd0a613627d2bf7baf357c874d8ca7c65c3ec 100644 (file)
@@ -1083,6 +1083,10 @@ static int __init _omap_gpio_init(void)
                if (bank->method == METHOD_GPIO_24XX) {
                        __raw_writel(0x00000000, bank->base + OMAP24XX_GPIO_IRQENABLE1);
                        __raw_writel(0xffffffff, bank->base + OMAP24XX_GPIO_IRQSTATUS1);
+                       __raw_writew(0x0015, bank->base + OMAP24XX_GPIO_SYSCONFIG);
+
+                       /* Initialize interface clock ungated, module enabled */
+                       __raw_writel(0, bank->base + OMAP24XX_GPIO_CTRL);
 
                        gpio_count = 32;
                }
@@ -1105,6 +1109,12 @@ static int __init _omap_gpio_init(void)
        if (cpu_is_omap16xx())
                omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL);
 
+#ifdef CONFIG_ARCH_OMAP24XX
+       /* Enable autoidle for the OCP interface */
+       if (cpu_is_omap24xx())
+               omap_writel(1 << 0, 0x48019010);
+#endif
+
        return 0;
 }