aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/gpio.c
diff options
context:
space:
mode:
authorJuha Yrjola <juha.yrjola@solidboot.com>2006-12-06 20:13:48 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-05-05 05:53:45 -0400
commit14f1c3bf51b78d916a6aff9c9b5e6689e3e006e7 (patch)
tree9e4c927643cce445eef0a949d543b20f60af56bd /arch/arm/plat-omap/gpio.c
parent235b185ce47ce64793362bd3ae4bcd8afc6b57b8 (diff)
ARM: OMAP: Enable 24xx GPIO autoidling
Enable 24xx GPIO autoidling Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/plat-omap/gpio.c')
-rw-r--r--arch/arm/plat-omap/gpio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 8bedc8f9b6e5..037a4930ec61 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1082,6 +1082,10 @@ static int __init _omap_gpio_init(void)
1082 if (bank->method == METHOD_GPIO_24XX) { 1082 if (bank->method == METHOD_GPIO_24XX) {
1083 __raw_writel(0x00000000, bank->base + OMAP24XX_GPIO_IRQENABLE1); 1083 __raw_writel(0x00000000, bank->base + OMAP24XX_GPIO_IRQENABLE1);
1084 __raw_writel(0xffffffff, bank->base + OMAP24XX_GPIO_IRQSTATUS1); 1084 __raw_writel(0xffffffff, bank->base + OMAP24XX_GPIO_IRQSTATUS1);
1085 __raw_writew(0x0015, bank->base + OMAP24XX_GPIO_SYSCONFIG);
1086
1087 /* Initialize interface clock ungated, module enabled */
1088 __raw_writel(0, bank->base + OMAP24XX_GPIO_CTRL);
1085 1089
1086 gpio_count = 32; 1090 gpio_count = 32;
1087 } 1091 }
@@ -1104,6 +1108,12 @@ static int __init _omap_gpio_init(void)
1104 if (cpu_is_omap16xx()) 1108 if (cpu_is_omap16xx())
1105 omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL); 1109 omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL);
1106 1110
1111#ifdef CONFIG_ARCH_OMAP24XX
1112 /* Enable autoidle for the OCP interface */
1113 if (cpu_is_omap24xx())
1114 omap_writel(1 << 0, 0x48019010);
1115#endif
1116
1107 return 0; 1117 return 0;
1108} 1118}
1109 1119