]>
Commit | Line | Data |
---|---|---|
1158f0f1 SI |
1 | /* |
2 | * Copyright (C) ST-Ericsson SA 2010 | |
3 | * | |
4 | * License Terms: GNU General Public License v2 | |
5 | * Author: Naveen Kumar Gaddipati <[email protected]> | |
6 | * | |
7 | * ux500 Scroll key and Keypad Encoder (SKE) header | |
8 | */ | |
9 | ||
10 | #ifndef __SKE_H | |
11 | #define __SKE_H | |
12 | ||
13 | #include <linux/input/matrix_keypad.h> | |
14 | ||
15 | /* register definitions for SKE peripheral */ | |
16 | #define SKE_CR 0x00 | |
17 | #define SKE_VAL0 0x04 | |
18 | #define SKE_VAL1 0x08 | |
19 | #define SKE_DBCR 0x0C | |
20 | #define SKE_IMSC 0x10 | |
21 | #define SKE_RIS 0x14 | |
22 | #define SKE_MIS 0x18 | |
23 | #define SKE_ICR 0x1C | |
24 | ||
25 | /* | |
26 | * Keypad module | |
27 | */ | |
28 | ||
29 | /** | |
30 | * struct keypad_platform_data - structure for platform specific data | |
31 | * @init: pointer to keypad init function | |
32 | * @exit: pointer to keypad deinitialisation function | |
33 | * @keymap_data: matrix scan code table for keycodes | |
34 | * @krow: maximum number of rows | |
35 | * @kcol: maximum number of columns | |
36 | * @debounce_ms: platform specific debounce time | |
37 | * @no_autorepeat: flag for auto repetition | |
38 | * @wakeup_enable: allow waking up the system | |
39 | */ | |
40 | struct ske_keypad_platform_data { | |
41 | int (*init)(void); | |
42 | int (*exit)(void); | |
43 | const struct matrix_keymap_data *keymap_data; | |
44 | u8 krow; | |
45 | u8 kcol; | |
46 | u8 debounce_ms; | |
47 | bool no_autorepeat; | |
48 | bool wakeup_enable; | |
49 | }; | |
50 | #endif /*__SKE_KPD_H*/ |