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*/ 51