Skip to content

Commit

Permalink
Input: pxa27x_keypad - add debounce_interval to the keypad platform data
Browse files Browse the repository at this point in the history
Currently, only one debounce_interval is introduced for both direct and
matrix keys. This is true in most cases, although the keypad controller
supports different debounce for direct/matrix keys.

Some platforms do require this to be tuned, instead of the default
reset value of 100ms.

Rotary encoder will always use zero debounce time for now to achieve
certain sensitivity.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Eric Miao authored and Dmitry Torokhov committed Jan 31, 2008
1 parent 9c60deb commit 76cb44e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/input/keyboard/pxa27x_keypad.c
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@ static void pxa27x_keypad_config(struct pxa27x_keypad *keypad)

keypad_writel(KPC, kpc | KPC_RE_ZERO_DEB);
keypad_writel(KPREC, DEFAULT_KPREC);
keypad_writel(KPKDI, pdata->debounce_interval);
}

static int pxa27x_keypad_open(struct input_dev *dev)
Expand Down
6 changes: 6 additions & 0 deletions include/asm-arm/arch-pxa/pxa27x_keypad.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
*
* 3. rotary can be either interpreted as a relative input event (e.g.
* REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT)
*
* 4. matrix key and direct key will use the same debounce_interval by
* default, which should be sufficient in most cases
*/
struct pxa27x_keypad_platform_data {

Expand All @@ -43,6 +46,9 @@ struct pxa27x_keypad_platform_data {
int rotary1_rel_code;
int rotary1_up_key;
int rotary1_down_key;

/* key debounce interval */
unsigned int debounce_interval;
};

#define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val))
Expand Down

0 comments on commit 76cb44e

Please sign in to comment.