Input: omap4-keypad - wake-up on events & long presses
Program keyboard controller to generate a wake-up request on events and on long key presses. It will not generate wake-up requests on timeouts since driver code does not handle them. This allows keyboard to wake-up OMAP from suspend. Signed-off-by: Mike Turquette <mturquette@ti.com> Signed-off-by: Abraham Arce <x0066660@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
committed by
Dmitry Torokhov
parent
f8038c4251
commit
9a34bc6116
@@ -54,6 +54,8 @@
|
|||||||
#define OMAP4_DEF_IRQENABLE_EVENTEN (1 << 0)
|
#define OMAP4_DEF_IRQENABLE_EVENTEN (1 << 0)
|
||||||
#define OMAP4_DEF_IRQENABLE_LONGKEY (1 << 1)
|
#define OMAP4_DEF_IRQENABLE_LONGKEY (1 << 1)
|
||||||
#define OMAP4_DEF_IRQENABLE_TIMEOUTEN (1 << 2)
|
#define OMAP4_DEF_IRQENABLE_TIMEOUTEN (1 << 2)
|
||||||
|
#define OMAP4_DEF_WUP_EVENT_ENA (1 << 0)
|
||||||
|
#define OMAP4_DEF_WUP_LONG_KEY_ENA (1 << 1)
|
||||||
#define OMAP4_DEF_CTRL_NOSOFTMODE (1 << 1)
|
#define OMAP4_DEF_CTRL_NOSOFTMODE (1 << 1)
|
||||||
#define OMAP4_DEF_CTRLPTVVALUE (1 << 2)
|
#define OMAP4_DEF_CTRLPTVVALUE (1 << 2)
|
||||||
#define OMAP4_DEF_CTRLPTV (1 << 1)
|
#define OMAP4_DEF_CTRLPTV (1 << 1)
|
||||||
@@ -88,6 +90,8 @@ static void __devinit omap4_keypad_config(struct omap4_keypad *keypad_data)
|
|||||||
keypad_data->base + OMAP4_KBD_IRQSTATUS);
|
keypad_data->base + OMAP4_KBD_IRQSTATUS);
|
||||||
__raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,
|
__raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY,
|
||||||
keypad_data->base + OMAP4_KBD_IRQENABLE);
|
keypad_data->base + OMAP4_KBD_IRQENABLE);
|
||||||
|
__raw_writel(OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA,
|
||||||
|
keypad_data->base + OMAP4_KBD_WAKEUPENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Interrupt handler */
|
/* Interrupt handler */
|
||||||
|
Reference in New Issue
Block a user