driver_axp209.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _DRIVER_AXP209_H_
  2. #define _DRIVER_AXP209_H_
  3. /****************************************************************
  4. * Includes
  5. ****************************************************************/
  6. #include <stdbool.h>
  7. /****************************************************************
  8. * Defines
  9. ****************************************************************/
  10. // Chip physical address
  11. #define AXP209_I2C_ADDR 0x34
  12. // Chip registers adresses
  13. #define AXP209_REG_32H 0x32
  14. #define AXP209_REG_PEK_PARAMS 0x36
  15. #define AXP209_INTERRUPT_BANK_1_ENABLE 0x40
  16. #define AXP209_INTERRUPT_BANK_1_STATUS 0x48
  17. #define AXP209_INTERRUPT_BANK_2_ENABLE 0x41
  18. #define AXP209_INTERRUPT_BANK_2_STATUS 0x49
  19. #define AXP209_INTERRUPT_BANK_3_ENABLE 0x42
  20. #define AXP209_INTERRUPT_BANK_3_STATUS 0x4A
  21. #define AXP209_INTERRUPT_BANK_4_ENABLE 0x43
  22. #define AXP209_INTERRUPT_BANK_4_STATUS 0x4B
  23. #define AXP209_INTERRUPT_BANK_5_ENABLE 0x44
  24. #define AXP209_INTERRUPT_BANK_5_STATUS 0x4C
  25. // Masks
  26. #define AXP209_INTERRUPT_PEK_SHORT_PRESS 0x02
  27. #define AXP209_INTERRUPT_PEK_LONG_PRESS 0x01
  28. /****************************************************************
  29. * Public functions
  30. ****************************************************************/
  31. bool axp209_init(void);
  32. bool axp209_deinit(void);
  33. int axp209_read_interrupt_bank_3(void);
  34. #endif //_DRIVER_AXP209_H_