1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef __KEYPAD_EP93XX_H |
3 | #define __KEYPAD_EP93XX_H |
4 | |
5 | struct matrix_keymap_data; |
6 | |
7 | /* flags for the ep93xx_keypad driver */ |
8 | #define EP93XX_KEYPAD_DISABLE_3_KEY (1<<0) /* disable 3-key reset */ |
9 | #define EP93XX_KEYPAD_DIAG_MODE (1<<1) /* diagnostic mode */ |
10 | #define EP93XX_KEYPAD_BACK_DRIVE (1<<2) /* back driving mode */ |
11 | #define EP93XX_KEYPAD_TEST_MODE (1<<3) /* scan only column 0 */ |
12 | #define EP93XX_KEYPAD_AUTOREPEAT (1<<4) /* enable key autorepeat */ |
13 | |
14 | /** |
15 | * struct ep93xx_keypad_platform_data - platform specific device structure |
16 | * @keymap_data: pointer to &matrix_keymap_data |
17 | * @debounce: debounce start count; terminal count is 0xff |
18 | * @prescale: row/column counter pre-scaler load value |
19 | * @flags: see above |
20 | */ |
21 | struct ep93xx_keypad_platform_data { |
22 | struct matrix_keymap_data *keymap_data; |
23 | unsigned int debounce; |
24 | unsigned int prescale; |
25 | unsigned int flags; |
26 | unsigned int clk_rate; |
27 | }; |
28 | |
29 | #define EP93XX_MATRIX_ROWS (8) |
30 | #define EP93XX_MATRIX_COLS (8) |
31 | |
32 | #endif /* __KEYPAD_EP93XX_H */ |
33 | |