Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <linux/input/matrix_keypad.h>
- /******************************************************************************
- * GPIO keyboard
- ******************************************************************************/
- #if defined(CONFIG_KEYBOARD_MATRIX) || defined(CONFIG_KEYBOARD_MATRIX_MODULE)
- static uint32_t board_keymap[] = {
- KEY(0, 0, KEY_NUMERIC_1),
- KEY(0, 1, KEY_NUMERIC_2),
- KEY(0, 2, KEY_NUMERIC_3),
- KEY(1, 0, KEY_NUMERIC_4),
- KEY(1, 1, KEY_NUMERIC_5),
- KEY(1, 2, KEY_NUMERIC_6),
- KEY(2, 0, KEY_NUMERIC_7),
- KEY(2, 1, KEY_NUMERIC_8),
- KEY(2, 2, KEY_NUMERIC_9),
- KEY(3, 0, KEY_NUMERIC_STAR),
- KEY(3, 1, KEY_NUMERIC_9),
- KEY(3, 2, KEY_NUMERIC_POUND),
- };
- static const uint32_t bone_row_gpios[] =
- { 12, 17, 91, 34, 36, 38, 39 };
- static const uint32_t bone_col_gpios[] =
- { 88, 23, 24, 25, 26, 27, 52, 103, 107, 108, 114 };
- static struct matrix_keymap_data board_map_data = {
- .keymap = board_keymap,
- .keymap_size = ARRAY_SIZE(board_keymap),
- };
- static struct matrix_keypad_platform_data bone_mkp_pdata = {
- .keymap_data = &matrix_keymap_data,
- .row_gpios = bone_row_gpios,
- .col_gpios = bone_col_gpios,
- .num_row_gpios = ARRAY_SIZE(bone_row_gpios),
- .num_col_gpios = ARRAY_SIZE(bone_col_gpios),
- .col_scan_delay_us = 10,
- .debounce_ms = 10,
- };
- static struct platform_device bone_mkp_device = {
- .name = "matrix-keypad",
- .id = -1,
- .dev = {
- .platform_data = &bone_mkp_pdata,
- },
- };
- static void __init bone_mkp_init(void)
- {
- platform_device_register(&bone_mkp_device);
- }
- #else
- static inline void bone_mkp_init(void) {}
- #endif
- static void __init bone_mkp_init(void)
- {
- platform_device_register(&bone_mkp_device);
- }
- #else
- static inline void bone_mkp_init(void) {}
- #endif
- //init: bone_mkp_init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement