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 */ 40struct 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