drv_gpio.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * Copyright (C) 2020, Huada Semiconductor Co., Ltd.
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2020-10-30 CDT first version
  9. */
  10. #ifndef __DRV_GPIO_H__
  11. #define __DRV_GPIO_H__
  12. #include <rtdevice.h>
  13. #include "board_config.h"
  14. #ifdef RT_USING_PIN
  15. #define __HC_PORT(port) GPIO_PORT_##port
  16. #define GET_PIN(PORT, PIN) (((rt_uint16_t)__HC_PORT(PORT) * 16) + PIN)
  17. #ifndef EXINT0_IRQ_CONFIG
  18. #define EXINT0_IRQ_CONFIG \
  19. { \
  20. .irq = EXINT0_INT_IRQn, \
  21. .irq_prio = EXINT0_INT_PRIO, \
  22. }
  23. #endif /* EXINT1_IRQ_CONFIG */
  24. #ifndef EXINT1_IRQ_CONFIG
  25. #define EXINT1_IRQ_CONFIG \
  26. { \
  27. .irq = EXINT1_INT_IRQn, \
  28. .irq_prio = EXINT1_INT_PRIO, \
  29. }
  30. #endif /* EXINT1_IRQ_CONFIG */
  31. #ifndef EXINT2_IRQ_CONFIG
  32. #define EXINT2_IRQ_CONFIG \
  33. { \
  34. .irq = EXINT2_INT_IRQn, \
  35. .irq_prio = EXINT2_INT_PRIO, \
  36. }
  37. #endif /* EXINT2_IRQ_CONFIG */
  38. #ifndef EXINT3_IRQ_CONFIG
  39. #define EXINT3_IRQ_CONFIG \
  40. { \
  41. .irq = EXINT3_INT_IRQn, \
  42. .irq_prio = EXINT3_INT_PRIO, \
  43. }
  44. #endif /* EXINT3_IRQ_CONFIG */
  45. #ifndef EXINT4_IRQ_CONFIG
  46. #define EXINT4_IRQ_CONFIG \
  47. { \
  48. .irq = EXINT4_INT_IRQn, \
  49. .irq_prio = EXINT4_INT_PRIO, \
  50. }
  51. #endif /* EXINT4_IRQ_CONFIG */
  52. #ifndef EXINT5_IRQ_CONFIG
  53. #define EXINT5_IRQ_CONFIG \
  54. { \
  55. .irq = EXINT5_INT_IRQn, \
  56. .irq_prio = EXINT5_INT_PRIO, \
  57. }
  58. #endif /* EXINT5_IRQ_CONFIG */
  59. #ifndef EXINT6_IRQ_CONFIG
  60. #define EXINT6_IRQ_CONFIG \
  61. { \
  62. .irq = EXINT6_INT_IRQn, \
  63. .irq_prio = EXINT6_INT_PRIO, \
  64. }
  65. #endif /* EXINT6_IRQ_CONFIG */
  66. #ifndef EXINT7_IRQ_CONFIG
  67. #define EXINT7_IRQ_CONFIG \
  68. { \
  69. .irq = EXINT7_INT_IRQn, \
  70. .irq_prio = EXINT7_INT_PRIO, \
  71. }
  72. #endif /* EXINT7_IRQ_CONFIG */
  73. #ifndef EXINT8_IRQ_CONFIG
  74. #define EXINT8_IRQ_CONFIG \
  75. { \
  76. .irq = EXINT8_INT_IRQn, \
  77. .irq_prio = EXINT8_INT_PRIO, \
  78. }
  79. #endif /* EXINT8_IRQ_CONFIG */
  80. #ifndef EXINT9_IRQ_CONFIG
  81. #define EXINT9_IRQ_CONFIG \
  82. { \
  83. .irq = EXINT9_INT_IRQn, \
  84. .irq_prio = EXINT9_INT_PRIO, \
  85. }
  86. #endif /* EXINT9_IRQ_CONFIG */
  87. #ifndef EXINT10_IRQ_CONFIG
  88. #define EXINT10_IRQ_CONFIG \
  89. { \
  90. .irq = EXINT10_INT_IRQn, \
  91. .irq_prio = EXINT10_INT_PRIO, \
  92. }
  93. #endif /* EXINT10_IRQ_CONFIG */
  94. #ifndef EXINT11_IRQ_CONFIG
  95. #define EXINT11_IRQ_CONFIG \
  96. { \
  97. .irq = EXINT11_INT_IRQn, \
  98. .irq_prio = EXINT11_INT_PRIO, \
  99. }
  100. #endif /* EXINT11_IRQ_CONFIG */
  101. #ifndef EXINT12_IRQ_CONFIG
  102. #define EXINT12_IRQ_CONFIG \
  103. { \
  104. .irq = EXINT12_INT_IRQn, \
  105. .irq_prio = EXINT12_INT_PRIO, \
  106. }
  107. #endif /* EXINT12_IRQ_CONFIG */
  108. #ifndef EXINT13_IRQ_CONFIG
  109. #define EXINT13_IRQ_CONFIG \
  110. { \
  111. .irq = EXINT13_INT_IRQn, \
  112. .irq_prio = EXINT13_INT_PRIO, \
  113. }
  114. #endif /* EXINT13_IRQ_CONFIG */
  115. #ifndef EXINT14_IRQ_CONFIG
  116. #define EXINT14_IRQ_CONFIG \
  117. { \
  118. .irq = EXINT14_INT_IRQn, \
  119. .irq_prio = EXINT14_INT_PRIO, \
  120. }
  121. #endif /* EXINT14_IRQ_CONFIG */
  122. #ifndef EXINT15_IRQ_CONFIG
  123. #define EXINT15_IRQ_CONFIG \
  124. { \
  125. .irq = EXINT15_INT_IRQn, \
  126. .irq_prio = EXINT15_INT_PRIO, \
  127. }
  128. #endif /* EXINT15_IRQ_CONFIG */
  129. #endif
  130. #endif /* __DRV_GPIO_H__ */