ls1c_pin.h 921 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // 引脚功能(普通gpio,pwm,复用等)相关接口
  2. #ifndef __OPENLOONGSON_PIN_H
  3. #define __OPENLOONGSON_PIN_H
  4. // 引脚用途
  5. typedef enum
  6. {
  7. PIN_PURPOSE_GPIO = 0, // 引脚用作普通gpio
  8. PIN_PURPOSE_OTHER, // 引脚用作其它功能(非gpio)
  9. }pin_purpose_t;
  10. // 引脚复用
  11. typedef enum
  12. {
  13. PIN_REMAP_FIRST = 0, // 第一复用
  14. PIN_REMAP_SECOND, // 第二复用
  15. PIN_REMAP_THIRD, // 第三复用
  16. PIN_REMAP_FOURTH, // 第四复用
  17. PIN_REMAP_FIFTH, // 第五复用
  18. PIN_REMAP_DEFAULT, //缺省复用
  19. }pin_remap_t;
  20. /*
  21. * 把指定pin设置为指定用途(普通gpio,非gpio)
  22. * @gpio gpio引脚编号
  23. * @purpose 用途
  24. */
  25. void pin_set_purpose(unsigned int gpio, pin_purpose_t purpose);
  26. /*
  27. * 设置指定pin为第n复用
  28. * @gpio gpio编号
  29. * @remap 第n复用
  30. */
  31. void pin_set_remap(unsigned int gpio, pin_remap_t remap);
  32. #endif