H Hartley Sweeten | e06003a | 2009-04-18 23:43:57 -0700 | [diff] [blame] | 1 | /* |
| 2 | * arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h |
| 3 | */ |
| 4 | |
| 5 | #ifndef __ASM_ARCH_EP93XX_KEYPAD_H |
| 6 | #define __ASM_ARCH_EP93XX_KEYPAD_H |
| 7 | |
H Hartley Sweeten | e06003a | 2009-04-18 23:43:57 -0700 | [diff] [blame] | 8 | /* flags for the ep93xx_keypad driver */ |
| 9 | #define EP93XX_KEYPAD_DISABLE_3_KEY (1<<0) /* disable 3-key reset */ |
| 10 | #define EP93XX_KEYPAD_DIAG_MODE (1<<1) /* diagnostic mode */ |
| 11 | #define EP93XX_KEYPAD_BACK_DRIVE (1<<2) /* back driving mode */ |
| 12 | #define EP93XX_KEYPAD_TEST_MODE (1<<3) /* scan only column 0 */ |
| 13 | #define EP93XX_KEYPAD_KDIV (1<<4) /* 1/4 clock or 1/16 clock */ |
| 14 | #define EP93XX_KEYPAD_AUTOREPEAT (1<<5) /* enable key autorepeat */ |
| 15 | |
| 16 | /** |
| 17 | * struct ep93xx_keypad_platform_data - platform specific device structure |
H Hartley Sweeten | e06003a | 2009-04-18 23:43:57 -0700 | [diff] [blame] | 18 | * @matrix_key_map: array of keycodes defining the keypad matrix |
| 19 | * @matrix_key_map_size: ARRAY_SIZE(matrix_key_map) |
| 20 | * @debounce: debounce start count; terminal count is 0xff |
| 21 | * @prescale: row/column counter pre-scaler load value |
| 22 | * @flags: see above |
| 23 | */ |
| 24 | struct ep93xx_keypad_platform_data { |
H Hartley Sweeten | e06003a | 2009-04-18 23:43:57 -0700 | [diff] [blame] | 25 | unsigned int *matrix_key_map; |
| 26 | int matrix_key_map_size; |
| 27 | unsigned int debounce; |
| 28 | unsigned int prescale; |
| 29 | unsigned int flags; |
| 30 | }; |
| 31 | |
H Hartley Sweeten | 60214f0 | 2009-12-15 08:39:51 -0800 | [diff] [blame] | 32 | #define EP93XX_MATRIX_ROWS (8) |
| 33 | #define EP93XX_MATRIX_COLS (8) |
H Hartley Sweeten | e06003a | 2009-04-18 23:43:57 -0700 | [diff] [blame] | 34 | |
| 35 | #endif /* __ASM_ARCH_EP93XX_KEYPAD_H */ |