adkey.h 997 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef DEVICE_ADKEY_H
  2. #define DEVICE_ADKEY_H
  3. #include "typedef.h"
  4. #include "asm/adc_api.h"
  5. #define ADKEY_MAX_NUM 10
  6. struct adkey_platform_data {
  7. u8 enable;
  8. u8 adkey_pin;
  9. u8 extern_up_en; //是否用外部上拉,1:用外部上拉, 0:用内部上拉10K
  10. u32 ad_channel;
  11. u16 ad_value[ADKEY_MAX_NUM];
  12. u8 key_value[ADKEY_MAX_NUM];
  13. };
  14. struct adkey_rtcvdd_platform_data {
  15. u8 enable;
  16. u8 adkey_pin;
  17. u8 adkey_num;
  18. u32 ad_channel;
  19. u32 extern_up_res_value; //是否用外部上拉,1:用外部上拉, 0:用内部上拉10K
  20. u16 res_value[ADKEY_MAX_NUM]; //电阻值, 从 [大 --> 小] 配置
  21. u8 key_value[ADKEY_MAX_NUM];
  22. };
  23. //ADKEY API:
  24. extern int adkey_init(const struct adkey_platform_data *adkey_data);
  25. extern u8 ad_get_key_value(void);
  26. //RTCVDD ADKEY API:
  27. extern int adkey_rtcvdd_init(const struct adkey_rtcvdd_platform_data *rtcvdd_adkey_data);
  28. extern u8 adkey_rtcvdd_get_key_value(void);
  29. #endif