driver_axp209.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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_INTERRUPT_BANK_1_ENABLE 0x40
  14. #define AXP209_INTERRUPT_BANK_1_STATUS 0x48
  15. #define AXP209_INTERRUPT_BANK_2_ENABLE 0x41
  16. #define AXP209_INTERRUPT_BANK_2_STATUS 0x49
  17. #define AXP209_INTERRUPT_BANK_3_ENABLE 0x42
  18. #define AXP209_INTERRUPT_BANK_3_STATUS 0x4A
  19. #define AXP209_INTERRUPT_BANK_4_ENABLE 0x43
  20. #define AXP209_INTERRUPT_BANK_4_STATUS 0x4B
  21. #define AXP209_INTERRUPT_BANK_5_ENABLE 0x44
  22. #define AXP209_INTERRUPT_BANK_5_STATUS 0x4C
  23. // Masks
  24. #define AXP209_INTERRUPT_PEK_SHORT_PRESS 0x02
  25. #define AXP209_INTERRUPT_PEK_LONG_PRESS 0x01
  26. /****************************************************************
  27. * Public functions
  28. ****************************************************************/
  29. bool axp209_init(void);
  30. bool axp209_deinit(void);
  31. int axp209_read_interrupt_bank_3(void);
  32. #endif //_DRIVER_AXP209_H_