aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-pxa/include
diff options
context:
space:
mode:
authorMark F. Brown <mark.brown314@gmail.com>2010-09-03 18:28:06 -0400
committerEric Miao <eric.y.miao@gmail.com>2010-10-09 05:07:10 -0400
commit4a2490eac897e3648c4800b1068b56b7e1ad91b3 (patch)
treea9fce2171034c8fc3f5d05f7bc7616aa4f92f110 /arch/arm/plat-pxa/include
parenta754aea25e804d0635d1871558bee5024605ff92 (diff)
ARM: pxa: moved pxa27x_keypad.h to platform pxa directory
mach-mmp utilizes pxa27x_keypad code so we need to move header to platform pxa directory. 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/plat-pxa/include')
-rw-r--r--arch/arm/plat-pxa/include/plat/pxa27x_keypad.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h b/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h
new file mode 100644
index 000000000000..7b4eadc6df3a
--- /dev/null
+++ b/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h
@@ -0,0 +1,59 @@
1#ifndef __ASM_ARCH_PXA27x_KEYPAD_H
2#define __ASM_ARCH_PXA27x_KEYPAD_H
3
4#include <linux/input.h>
5#include <linux/input/matrix_keypad.h>
6
7#define MAX_MATRIX_KEY_ROWS (8)
8#define MAX_MATRIX_KEY_COLS (8)
9#define MATRIX_ROW_SHIFT (3)
10#define MAX_DIRECT_KEY_NUM (8)
11
12/* pxa3xx keypad platform specific parameters
13 *
14 * NOTE:
15 * 1. direct_key_num indicates the number of keys in the direct keypad
16 * _plus_ the number of rotary-encoder sensor inputs, this can be
17 * left as 0 if only rotary encoders are enabled, the driver will
18 * automatically calculate this
19 *
20 * 2. direct_key_map is the key code map for the direct keys, if rotary
21 * encoder(s) are enabled, direct key 0/1(2/3) will be ignored
22 *
23 * 3. rotary can be either interpreted as a relative input event (e.g.
24 * REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT)
25 *
26 * 4. matrix key and direct key will use the same debounce_interval by
27 * default, which should be sufficient in most cases
28 */
29struct pxa27x_keypad_platform_data {
30
31 /* code map for the matrix keys */
32 unsigned int matrix_key_rows;
33 unsigned int matrix_key_cols;
34 unsigned int *matrix_key_map;
35 int matrix_key_map_size;
36
37 /* direct keys */
38 int direct_key_num;
39 unsigned int direct_key_map[MAX_DIRECT_KEY_NUM];
40
41 /* rotary encoders 0 */
42 int enable_rotary0;
43 int rotary0_rel_code;
44 int rotary0_up_key;
45 int rotary0_down_key;
46
47 /* rotary encoders 1 */
48 int enable_rotary1;
49 int rotary1_rel_code;
50 int rotary1_up_key;
51 int rotary1_down_key;
52
53 /* key debounce interval */
54 unsigned int debounce_interval;
55};
56
57extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info);
58
59#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */