| /* | |
| * Copyright (C) ST-Ericsson SA 2010 | |
| * | |
| * License Terms: GNU General Public License v2 | |
| * Author: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com> | |
| * | |
| * ux500 Scroll key and Keypad Encoder (SKE) header | |
| */ | |
| #ifndef __SKE_H | |
| #define __SKE_H | |
| #include <linux/input/matrix_keypad.h> | |
| /* register definitions for SKE peripheral */ | |
| #define SKE_CR 0x00 | |
| #define SKE_VAL0 0x04 | |
| #define SKE_VAL1 0x08 | |
| #define SKE_DBCR 0x0C | |
| #define SKE_IMSC 0x10 | |
| #define SKE_RIS 0x14 | |
| #define SKE_MIS 0x18 | |
| #define SKE_ICR 0x1C | |
| /* | |
| * Keypad module | |
| */ | |
| /** | |
| * struct keypad_platform_data - structure for platform specific data | |
| * @init: pointer to keypad init function | |
| * @exit: pointer to keypad deinitialisation function | |
| * @keymap_data: matrix scan code table for keycodes | |
| * @krow: maximum number of rows | |
| * @kcol: maximum number of columns | |
| * @debounce_ms: platform specific debounce time | |
| * @no_autorepeat: flag for auto repetition | |
| * @wakeup_enable: allow waking up the system | |
| */ | |
| struct ske_keypad_platform_data { | |
| int (*init)(void); | |
| int (*exit)(void); | |
| const struct matrix_keymap_data *keymap_data; | |
| u8 krow; | |
| u8 kcol; | |
| u8 debounce_ms; | |
| bool no_autorepeat; | |
| bool wakeup_enable; | |
| }; | |
| #endif /*__SKE_KPD_H*/ |