diff options
author | Juha Yrjola <juha.yrjola@solidboot.com> | 2006-12-06 20:13:48 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-05-05 05:53:45 -0400 |
commit | 14f1c3bf51b78d916a6aff9c9b5e6689e3e006e7 (patch) | |
tree | 9e4c927643cce445eef0a949d543b20f60af56bd /arch/arm/plat-omap | |
parent | 235b185ce47ce64793362bd3ae4bcd8afc6b57b8 (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')
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 10 |
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 | ||