driver_axp209.h 1.3 KB

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