Merge branch 'l2x0-pull-rmk' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4...
[pandora-kernel.git] / arch / arm / plat-nomadik / include / plat / ske.h
1 /*
2  * Copyright (C) ST-Ericsson SA 2010
3  *
4  * License Terms: GNU General Public License v2
5  * Author: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
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*/