Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec...
[sfrench/cifs-2.6.git] / arch / arm / mach-ep93xx / include / mach / ep93xx_keypad.h
1 /*
2  * arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h
3  */
4
5 #ifndef __ASM_ARCH_EP93XX_KEYPAD_H
6 #define __ASM_ARCH_EP93XX_KEYPAD_H
7
8 /* flags for the ep93xx_keypad driver */
9 #define EP93XX_KEYPAD_DISABLE_3_KEY     (1<<0)  /* disable 3-key reset */
10 #define EP93XX_KEYPAD_DIAG_MODE         (1<<1)  /* diagnostic mode */
11 #define EP93XX_KEYPAD_BACK_DRIVE        (1<<2)  /* back driving mode */
12 #define EP93XX_KEYPAD_TEST_MODE         (1<<3)  /* scan only column 0 */
13 #define EP93XX_KEYPAD_KDIV              (1<<4)  /* 1/4 clock or 1/16 clock */
14 #define EP93XX_KEYPAD_AUTOREPEAT        (1<<5)  /* enable key autorepeat */
15
16 /**
17  * struct ep93xx_keypad_platform_data - platform specific device structure
18  * @matrix_key_map:             array of keycodes defining the keypad matrix
19  * @matrix_key_map_size:        ARRAY_SIZE(matrix_key_map)
20  * @debounce:                   debounce start count; terminal count is 0xff
21  * @prescale:                   row/column counter pre-scaler load value
22  * @flags:                      see above
23  */
24 struct ep93xx_keypad_platform_data {
25         unsigned int    *matrix_key_map;
26         int             matrix_key_map_size;
27         unsigned int    debounce;
28         unsigned int    prescale;
29         unsigned int    flags;
30 };
31
32 #define EP93XX_MATRIX_ROWS              (8)
33 #define EP93XX_MATRIX_COLS              (8)
34
35 #endif  /* __ASM_ARCH_EP93XX_KEYPAD_H */