mtk_key.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef __MTK_KEY_H__
  2. #define __MTK_KEY_H__
  3. #include <platform/mt_reg_base.h>
  4. #define KP_STA (KP_BASE + 0x0000)
  5. #define KP_MEM1 (KP_BASE + 0x0004)
  6. #define KP_MEM2 (KP_BASE + 0x0008)
  7. #define KP_MEM3 (KP_BASE + 0x000c)
  8. #define KP_MEM4 (KP_BASE + 0x0010)
  9. #define KP_MEM5 (KP_BASE + 0x0014)
  10. #define KP_DEBOUNCE (KP_BASE + 0x0018)
  11. #define KP_SCAN_TIMING (KP_BASE + 0x001C)
  12. #define KP_SEL (KP_BASE + 0x0020)
  13. #define KP_EN (KP_BASE + 0x0024)
  14. #define KPD_NUM_MEMS 5
  15. #define KPD_MEM5_BITS 8
  16. #define KPD_NUM_KEYS 72 /* 4 * 16 + KPD_MEM5_BITS */
  17. struct keypad_dts_data {
  18. u32 kpd_sw_pwrkey;
  19. u32 kpd_hw_pwrkey;
  20. u32 kpd_sw_rstkey;
  21. u32 kpd_hw_rstkey;
  22. u32 kpd_use_extend_type;
  23. u32 kpd_hw_map_num;
  24. u32 kpd_hw_init_map[KPD_NUM_KEYS];
  25. u32 kpd_hw_recovery_key;
  26. u32 kpd_hw_factory_key;
  27. };
  28. void set_kpd_pmic_mode(void);
  29. void disable_PMIC_kpd_clock(void);
  30. void enable_PMIC_kpd_clock(void);
  31. BOOL mtk_detect_key(unsigned short key);
  32. BOOL mtk_detect_pmic_just_rst(void);
  33. #endif /* __MTK_KEY_H__ */