drv_gpio.h 4.6 KB

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