diff options
author | Mark F. Brown <mark.brown314@gmail.com> | 2010-09-04 00:28:10 +0200 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-10-09 11:07:20 +0200 |
commit | ab5739a17953b22480dc7caf6603380d563c53fc (patch) | |
tree | 6ff08440ce7e9c03e2b102943e928249c9d58eb4 /arch/arm/mach-mmp/pxa168.c | |
parent | ARM: pxa27x_keypad: added wakeup event handler for keypad interrupts (diff) | |
download | linux-ab5739a17953b22480dc7caf6603380d563c53fc.tar.xz linux-ab5739a17953b22480dc7caf6603380d563c53fc.zip |
ARM: pxa168: added keypad wake clear event support for platform
Signed-off-by: Mark F. Brown <mark.brown314@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch/arm/mach-mmp/pxa168.c')
-rw-r--r-- | arch/arm/mach-mmp/pxa168.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c index 2fa16fb4503c..72b4e7631583 100644 --- a/arch/arm/mach-mmp/pxa168.c +++ b/arch/arm/mach-mmp/pxa168.c @@ -136,6 +136,16 @@ struct sys_timer pxa168_timer = { .init = pxa168_timer_init, }; +void pxa168_clear_keypad_wakeup(void) +{ + uint32_t val; + uint32_t mask = APMU_PXA168_KP_WAKE_CLR; + + /* wake event clear is needed in order to clear keypad interrupt */ + val = __raw_readl(APMU_WAKE_CLR); + __raw_writel(val | mask, APMU_WAKE_CLR); +} + /* on-chip devices */ PXA168_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4017000, 0x30, 21, 22); PXA168_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4018000, 0x30, 23, 24); |