ls1b_pin.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2017-09-06 勤为本 first version
  9. */
  10. // 引脚功能(普通gpio,pwm,复用等)相关接口
  11. #ifndef __LOONGSON_PIN_H
  12. #define __LOONGSON_PIN_H
  13. // 引脚用途
  14. typedef enum
  15. {
  16. PIN_PURPOSE_GPIO = 0, // 引脚用作普通gpio
  17. PIN_PURPOSE_OTHER, // 引脚用作其它功能(非gpio)
  18. }pin_purpose_t;
  19. // 引脚复用
  20. typedef enum
  21. {
  22. PIN_REMAP_FIRST = 0, // 第一复用
  23. PIN_REMAP_SECOND, // 第二复用
  24. PIN_REMAP_THIRD, // 第三复用
  25. PIN_REMAP_FOURTH, // 第四复用
  26. PIN_REMAP_FIFTH, // 第五复用
  27. PIN_REMAP_DEFAULT, //缺省复用
  28. }pin_remap_t;
  29. /*
  30. * 把指定pin设置为指定用途(普通gpio,非gpio)
  31. * @gpio gpio引脚编号
  32. * @purpose 用途
  33. */
  34. void pin_set_purpose(unsigned int gpio, pin_purpose_t purpose);
  35. /*
  36. * 设置指定pin为第n复用
  37. * @gpio gpio编号
  38. * @remap 第n复用
  39. */
  40. void pin_set_remap(unsigned int gpio, pin_remap_t remap);
  41. #endif