linux/include/linux/platform_data/keypad-nomadik-ske.h
<<
>>
Prefs
   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