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 struct matrix_keymap_data;
9 
10 /* flags for the ep93xx_keypad driver */
11 #define EP93XX_KEYPAD_DISABLE_3_KEY	(1<<0)	/* disable 3-key reset */
12 #define EP93XX_KEYPAD_DIAG_MODE		(1<<1)	/* diagnostic mode */
13 #define EP93XX_KEYPAD_BACK_DRIVE	(1<<2)	/* back driving mode */
14 #define EP93XX_KEYPAD_TEST_MODE		(1<<3)	/* scan only column 0 */
15 #define EP93XX_KEYPAD_KDIV		(1<<4)	/* 1/4 clock or 1/16 clock */
16 #define EP93XX_KEYPAD_AUTOREPEAT	(1<<5)	/* enable key autorepeat */
17 
18 /**
19  * struct ep93xx_keypad_platform_data - platform specific device structure
20  * @keymap_data:	pointer to &matrix_keymap_data
21  * @debounce:		debounce start count; terminal count is 0xff
22  * @prescale:		row/column counter pre-scaler load value
23  * @flags:		see above
24  */
25 struct ep93xx_keypad_platform_data {
26 	struct matrix_keymap_data *keymap_data;
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 */
36