t_gpio.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef _USER_GPIO_H_
  2. #define _USER_GPIO_H_
  3. #include "t_define.h"
  4. #include "t_bk3231sf.h"
  5. #define GPIO_PORT_0 0
  6. #define GPIO_PORT_1 1
  7. #define GPIO_PORT_2 2
  8. #define GPIO_PORT_3 3
  9. #define GPIO_PORT_4 4
  10. #define GPIO_PIN_0 0
  11. #define GPIO_PIN_1 1
  12. #define GPIO_PIN_2 2
  13. #define GPIO_PIN_3 3
  14. #define GPIO_PIN_4 4
  15. #define GPIO_PIN_5 5
  16. #define GPIO_PIN_6 6
  17. #define GPIO_PIN_7 7
  18. #define GPIO_GEN_CFG_0 BM_GPIO_MODE|BM_GPIO_IO_OUT_NOR|BM_GPIO_PULL_UP|BM_GPIO_PULL_DOWN
  19. #define GPIO_GEN_CFG_1 BM_GPIO_IO_IN
  20. #define GPIO_MODE_GPIO (0x01ul<<BO_GPIO_MODE)
  21. #define GPIO_MODE_SECOND 0x00
  22. #define GPIO_MODE_HIGHZ (0x01ul<<BO_GPIO_MODE)
  23. #define GPIO_IO_NONE (0x01ul<<BO_GPIO_IO_OUT_NOR)
  24. #define GPIO_IO_OUT 0x00
  25. #define GPIO_IO_IN (0x01ul<<BO_GPIO_IO_OUT_NOR)|(0x01ul<<BO_GPIO_IO_IN)
  26. #define GPIO_PULL_NONE 0x00
  27. #define GPIO_PULL_UP (0x01ul<<BO_GPIO_PULL_UP)
  28. #define GPIO_PULL_DOWM (0x01ul<<BO_GPIO_PULL_DOWN)
  29. #define GPIO_PULL_UPADOWM (0x01ul<<BO_GPIO_PULL_UP)|(0x01ul<<BO_GPIO_PULL_DOWN)
  30. #define GPIO_INTERRUPT_EDGE_UP 0
  31. #define GPIO_INTERRUPT_EDGE_DOWN 1
  32. typedef void (*GPIO_INT_HANDLE_CB_PFN)(uint32);
  33. void GpioGenCfg(uint8 port, uint8 bitoffset, uint32 mode, uint32 io, uint32 pull);
  34. void GpioModeCfg(uint8 port, uint8 bitoffset, uint32 mode);
  35. void GpioIoCfg(uint8 port, uint8 bitoffset, uint32 io);
  36. void GpioPullCfg(uint8 port, uint8 bitoffset, uint32 pull);
  37. void GpioSetOutNegate(uint8 port, uint8 bitoffset);
  38. void GpioSetOut(uint8 port, uint8 bitoffset, uint32 out);
  39. bool8 GpioGetIn(uint8 port, uint8 bitoffset);
  40. void GpioIntCfg(uint8 port, uint8 bitoffset, uint32 interruptenable, uint32 trigedge);
  41. void GpioIntEnCfg(uint8 port, uint8 bitoffset, uint32 interruptenable);
  42. void GpioInTrigedgeCfg(uint8 port, uint8 bitoffset, uint32 trigedge);
  43. void GpioDeepWakeupCfg(uint8 port, uint8 bitoffset, uint32 wakeupenable);
  44. uint32 GpioGetInitSta(void);
  45. void GpioClearInitSta(uint32 gpiointstate);
  46. void GpioIntHandleCbCfg(GPIO_INT_HANDLE_CB_PFN cbpfn);
  47. void GpioIntHandle(void);
  48. void GpioIntHandleCb(uint32 gpiointstate);
  49. void GpioInit(void);
  50. #endif