diff options
Diffstat (limited to 'arch/arm/plat-omap/include/mach/keypad.h')
-rw-r--r-- | arch/arm/plat-omap/include/mach/keypad.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/mach/keypad.h b/arch/arm/plat-omap/include/mach/keypad.h new file mode 100644 index 000000000000..232923aaf61d --- /dev/null +++ b/arch/arm/plat-omap/include/mach/keypad.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/keypad.h | ||
3 | * | ||
4 | * Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | #ifndef ASMARM_ARCH_KEYPAD_H | ||
11 | #define ASMARM_ARCH_KEYPAD_H | ||
12 | |||
13 | struct omap_kp_platform_data { | ||
14 | int rows; | ||
15 | int cols; | ||
16 | int *keymap; | ||
17 | unsigned int keymapsize; | ||
18 | unsigned int rep:1; | ||
19 | unsigned long delay; | ||
20 | unsigned int dbounce:1; | ||
21 | /* specific to OMAP242x*/ | ||
22 | unsigned int *row_gpios; | ||
23 | unsigned int *col_gpios; | ||
24 | }; | ||
25 | |||
26 | /* Group (0..3) -- when multiple keys are pressed, only the | ||
27 | * keys pressed in the same group are considered as pressed. This is | ||
28 | * in order to workaround certain crappy HW designs that produce ghost | ||
29 | * keypresses. */ | ||
30 | #define GROUP_0 (0 << 16) | ||
31 | #define GROUP_1 (1 << 16) | ||
32 | #define GROUP_2 (2 << 16) | ||
33 | #define GROUP_3 (3 << 16) | ||
34 | #define GROUP_MASK GROUP_3 | ||
35 | |||
36 | #define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val)) | ||
37 | |||
38 | #endif | ||
39 | |||