home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / plat-omap / include / mach / keypad.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  40 lines

  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.