diff options
author | Mark F. Brown <mark.brown314@gmail.com> | 2010-09-03 18:28:06 -0400 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-10-09 05:07:10 -0400 |
commit | 4a2490eac897e3648c4800b1068b56b7e1ad91b3 (patch) | |
tree | a9fce2171034c8fc3f5d05f7bc7616aa4f92f110 /arch/arm/plat-pxa/include | |
parent | a754aea25e804d0635d1871558bee5024605ff92 (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.h | 59 |
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 | */ | ||
29 | struct 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 | |||
57 | extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info); | ||
58 | |||
59 | #endif /* __ASM_ARCH_PXA27x_KEYPAD_H */ | ||