diff options
Diffstat (limited to 'include/asm-arm/arch-pxa/pxa27x_keypad.h')
-rw-r--r-- | include/asm-arm/arch-pxa/pxa27x_keypad.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/asm-arm/arch-pxa/pxa27x_keypad.h b/include/asm-arm/arch-pxa/pxa27x_keypad.h index 23f4ebc4102d..6b832329ebc2 100644 --- a/include/asm-arm/arch-pxa/pxa27x_keypad.h +++ b/include/asm-arm/arch-pxa/pxa27x_keypad.h | |||
@@ -6,6 +6,20 @@ | |||
6 | #define MAX_MATRIX_KEY_ROWS (8) | 6 | #define MAX_MATRIX_KEY_ROWS (8) |
7 | #define MAX_MATRIX_KEY_COLS (8) | 7 | #define MAX_MATRIX_KEY_COLS (8) |
8 | 8 | ||
9 | /* pxa3xx keypad platform specific parameters | ||
10 | * | ||
11 | * NOTE: | ||
12 | * 1. direct_key_num indicates the number of keys in the direct keypad | ||
13 | * _plus_ the number of rotary-encoder sensor inputs, this can be | ||
14 | * left as 0 if only rotary encoders are enabled, the driver will | ||
15 | * automatically calculate this | ||
16 | * | ||
17 | * 2. direct_key_map is the key code map for the direct keys, if rotary | ||
18 | * encoder(s) are enabled, direct key 0/1(2/3) will be ignored | ||
19 | * | ||
20 | * 3. rotary can be either interpreted as a relative input event (e.g. | ||
21 | * REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT) | ||
22 | */ | ||
9 | struct pxa27x_keypad_platform_data { | 23 | struct pxa27x_keypad_platform_data { |
10 | 24 | ||
11 | /* code map for the matrix keys */ | 25 | /* code map for the matrix keys */ |
@@ -13,6 +27,22 @@ struct pxa27x_keypad_platform_data { | |||
13 | unsigned int matrix_key_cols; | 27 | unsigned int matrix_key_cols; |
14 | unsigned int *matrix_key_map; | 28 | unsigned int *matrix_key_map; |
15 | int matrix_key_map_size; | 29 | int matrix_key_map_size; |
30 | |||
31 | /* direct keys */ | ||
32 | int direct_key_num; | ||
33 | unsigned int direct_key_map[8]; | ||
34 | |||
35 | /* rotary encoders 0 */ | ||
36 | int enable_rotary0; | ||
37 | int rotary0_rel_code; | ||
38 | int rotary0_up_key; | ||
39 | int rotary0_down_key; | ||
40 | |||
41 | /* rotary encoders 1 */ | ||
42 | int enable_rotary1; | ||
43 | int rotary1_rel_code; | ||
44 | int rotary1_up_key; | ||
45 | int rotary1_down_key; | ||
16 | }; | 46 | }; |
17 | 47 | ||
18 | #define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val)) | 48 | #define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val)) |