This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / include / asm-arm / arch-omap / keypad.h
1 /*
2  *  linux/include/asm-arm/arch-omap/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 rep:1;
18         /* specific to OMAP242x*/
19         unsigned int *row_gpios;
20         unsigned int *col_gpios;
21 };
22
23 /* Group (0..3) -- when multiple keys are pressed, only the
24  * keys pressed in the same group are considered as pressed. This is
25  * in order to workaround certain crappy HW designs that produce ghost
26  * keypresses. */
27 #define GROUP_0         (0 << 16)
28 #define GROUP_1         (1 << 16)
29 #define GROUP_2         (2 << 16)
30 #define GROUP_3         (3 << 16)
31 #define GROUP_MASK      GROUP_3
32
33 #define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
34
35 #endif
36