keypad-ep93xx.h 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __KEYPAD_EP93XX_H
  3. #define __KEYPAD_EP93XX_H
  4. struct matrix_keymap_data;
  5. /* flags for the ep93xx_keypad driver */
  6. #define EP93XX_KEYPAD_DISABLE_3_KEY (1<<0) /* disable 3-key reset */
  7. #define EP93XX_KEYPAD_DIAG_MODE (1<<1) /* diagnostic mode */
  8. #define EP93XX_KEYPAD_BACK_DRIVE (1<<2) /* back driving mode */
  9. #define EP93XX_KEYPAD_TEST_MODE (1<<3) /* scan only column 0 */
  10. #define EP93XX_KEYPAD_AUTOREPEAT (1<<4) /* enable key autorepeat */
  11. /**
  12. * struct ep93xx_keypad_platform_data - platform specific device structure
  13. * @keymap_data: pointer to &matrix_keymap_data
  14. * @debounce: debounce start count; terminal count is 0xff
  15. * @prescale: row/column counter pre-scaler load value
  16. * @flags: see above
  17. */
  18. struct ep93xx_keypad_platform_data {
  19. struct matrix_keymap_data *keymap_data;
  20. unsigned int debounce;
  21. unsigned int prescale;
  22. unsigned int flags;
  23. unsigned int clk_rate;
  24. };
  25. #define EP93XX_MATRIX_ROWS (8)
  26. #define EP93XX_MATRIX_COLS (8)
  27. #endif /* __KEYPAD_EP93XX_H */