home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / arch-omap / keypad.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  968 b   |  37 lines

  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.  
  37.