• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  arch/arm/plat-omap/include/mach/keypad.h
3  *
4  *  Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10 #ifndef ASMARM_ARCH_KEYPAD_H
11 #define ASMARM_ARCH_KEYPAD_H
12 
13 struct omap_kp_platform_data {
14 	int rows;
15 	int cols;
16 	int *keymap;
17 	unsigned int keymapsize;
18 	unsigned int rep:1;
19 	unsigned long delay;
20 	unsigned int dbounce:1;
21 	/* specific to OMAP242x*/
22 	unsigned int *row_gpios;
23 	unsigned int *col_gpios;
24 };
25 
26 /* Group (0..3) -- when multiple keys are pressed, only the
27  * keys pressed in the same group are considered as pressed. This is
28  * in order to workaround certain crappy HW designs that produce ghost
29  * keypresses. */
30 #define GROUP_0		(0 << 16)
31 #define GROUP_1		(1 << 16)
32 #define GROUP_2		(2 << 16)
33 #define GROUP_3		(3 << 16)
34 #define GROUP_MASK	GROUP_3
35 
36 #define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
37 
38 #endif
39 
40