Advertisement
Guest User

Untitled

a guest
Dec 30th, 2011
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. #include <linux/input/matrix_keypad.h>
  2.  
  3. /******************************************************************************
  4. * GPIO keyboard
  5. ******************************************************************************/
  6. #if defined(CONFIG_KEYBOARD_MATRIX) || defined(CONFIG_KEYBOARD_MATRIX_MODULE)
  7. static uint32_t board_keymap[] = {
  8. KEY(0, 0, KEY_NUMERIC_1),
  9. KEY(0, 1, KEY_NUMERIC_2),
  10. KEY(0, 2, KEY_NUMERIC_3),
  11.  
  12. KEY(1, 0, KEY_NUMERIC_4),
  13. KEY(1, 1, KEY_NUMERIC_5),
  14. KEY(1, 2, KEY_NUMERIC_6),
  15.  
  16. KEY(2, 0, KEY_NUMERIC_7),
  17. KEY(2, 1, KEY_NUMERIC_8),
  18. KEY(2, 2, KEY_NUMERIC_9),
  19.  
  20. KEY(3, 0, KEY_NUMERIC_STAR),
  21. KEY(3, 1, KEY_NUMERIC_9),
  22. KEY(3, 2, KEY_NUMERIC_POUND),
  23. };
  24.  
  25. static const uint32_t bone_row_gpios[] =
  26. { 12, 17, 91, 34, 36, 38, 39 };
  27. static const uint32_t bone_col_gpios[] =
  28. { 88, 23, 24, 25, 26, 27, 52, 103, 107, 108, 114 };
  29.  
  30. static struct matrix_keymap_data board_map_data = {
  31. .keymap = board_keymap,
  32. .keymap_size = ARRAY_SIZE(board_keymap),
  33. };
  34.  
  35.  
  36. static struct matrix_keypad_platform_data bone_mkp_pdata = {
  37. .keymap_data = &matrix_keymap_data,
  38. .row_gpios = bone_row_gpios,
  39. .col_gpios = bone_col_gpios,
  40. .num_row_gpios = ARRAY_SIZE(bone_row_gpios),
  41. .num_col_gpios = ARRAY_SIZE(bone_col_gpios),
  42. .col_scan_delay_us = 10,
  43. .debounce_ms = 10,
  44. };
  45.  
  46. static struct platform_device bone_mkp_device = {
  47. .name = "matrix-keypad",
  48. .id = -1,
  49. .dev = {
  50. .platform_data = &bone_mkp_pdata,
  51. },
  52. };
  53.  
  54. static void __init bone_mkp_init(void)
  55. {
  56. platform_device_register(&bone_mkp_device);
  57. }
  58. #else
  59. static inline void bone_mkp_init(void) {}
  60. #endif
  61.  
  62.  
  63. static void __init bone_mkp_init(void)
  64. {
  65. platform_device_register(&bone_mkp_device);
  66. }
  67. #else
  68. static inline void bone_mkp_init(void) {}
  69. #endif
  70.  
  71.  
  72.  
  73. //init: bone_mkp_init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement