uart_config.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022-11-09 shelton first version
  9. */
  10. #ifndef __UART_CONFIG_H__
  11. #define __UART_CONFIG_H__
  12. #include <rtthread.h>
  13. #include "dma_config.h"
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #define UART1_IRQHandler USART1_IRQHandler
  18. #define UART2_IRQHandler USART2_IRQHandler
  19. #define UART3_IRQHandler USART3_IRQHandler
  20. #define UART4_IRQHandler USART4_IRQHandler
  21. #define UART5_IRQHandler USART5_IRQHandler
  22. #define UART6_IRQHandler USART6_IRQHandler
  23. #define UART7_IRQHandler USART7_IRQHandler
  24. #define UART8_IRQHandler USART8_IRQHandler
  25. #if defined(BSP_USING_UART1)
  26. #define UART1_CONFIG \
  27. { \
  28. .name = "uart1", \
  29. .uart_x = USART1, \
  30. .irqn = USART1_IRQn, \
  31. }
  32. #if defined(BSP_UART1_RX_USING_DMA)
  33. #define UART1_RX_DMA_CONFIG \
  34. { \
  35. .dma_channel = UART1_RX_DMA_CHANNEL, \
  36. .dma_clock = UART1_RX_DMA_CLOCK, \
  37. .dma_irqn = UART1_RX_DMA_IRQ, \
  38. .dmamux_channel = UART1_RX_DMA_MUX_CHANNEL, \
  39. .request_id = UART1_RX_DMA_REQ_ID, \
  40. }
  41. #endif /* BSP_UART1_RX_USING_DMA */
  42. #if defined(BSP_UART1_TX_USING_DMA)
  43. #define UART1_TX_DMA_CONFIG \
  44. { \
  45. .dma_channel = UART1_TX_DMA_CHANNEL, \
  46. .dma_clock = UART1_TX_DMA_CLOCK, \
  47. .dma_irqn = UART1_TX_DMA_IRQ, \
  48. .dmamux_channel = UART1_TX_DMA_MUX_CHANNEL, \
  49. .request_id = UART1_TX_DMA_REQ_ID, \
  50. }
  51. #endif /* BSP_UART1_TX_USING_DMA */
  52. #endif /* BSP_USING_UART1 */
  53. #if defined(BSP_USING_UART2)
  54. #define UART2_CONFIG \
  55. { \
  56. .name = "uart2", \
  57. .uart_x = USART2, \
  58. .irqn = USART2_IRQn, \
  59. }
  60. #if defined(BSP_UART2_RX_USING_DMA)
  61. #define UART2_RX_DMA_CONFIG \
  62. { \
  63. .dma_channel = UART2_RX_DMA_CHANNEL, \
  64. .dma_clock = UART2_RX_DMA_CLOCK, \
  65. .dma_irqn = UART2_RX_DMA_IRQ, \
  66. .dmamux_channel = UART2_RX_DMA_MUX_CHANNEL, \
  67. .request_id = UART2_RX_DMA_REQ_ID, \
  68. }
  69. #endif /* BSP_UART2_RX_USING_DMA */
  70. #if defined(BSP_UART2_TX_USING_DMA)
  71. #define UART2_TX_DMA_CONFIG \
  72. { \
  73. .dma_channel = UART2_TX_DMA_CHANNEL, \
  74. .dma_clock = UART2_TX_DMA_CLOCK, \
  75. .dma_irqn = UART2_TX_DMA_IRQ, \
  76. .dmamux_channel = UART2_TX_DMA_MUX_CHANNEL, \
  77. .request_id = UART2_TX_DMA_REQ_ID, \
  78. }
  79. #endif /* BSP_UART2_TX_USING_DMA */
  80. #endif /* BSP_USING_UART2 */
  81. #if defined(BSP_USING_UART3)
  82. #define UART3_CONFIG \
  83. { \
  84. .name = "uart3", \
  85. .uart_x = USART3, \
  86. .irqn = USART3_IRQn, \
  87. }
  88. #if defined(BSP_UART3_RX_USING_DMA)
  89. #define UART3_RX_DMA_CONFIG \
  90. { \
  91. .dma_channel = UART3_RX_DMA_CHANNEL, \
  92. .dma_clock = UART3_RX_DMA_CLOCK, \
  93. .dma_irqn = UART3_RX_DMA_IRQ, \
  94. .dmamux_channel = UART3_RX_DMA_MUX_CHANNEL, \
  95. .request_id = UART3_RX_DMA_REQ_ID, \
  96. }
  97. #endif /* BSP_UART3_RX_USING_DMA */
  98. #if defined(BSP_UART3_TX_USING_DMA)
  99. #define UART3_TX_DMA_CONFIG \
  100. { \
  101. .dma_channel = UART3_TX_DMA_CHANNEL, \
  102. .dma_clock = UART3_TX_DMA_CLOCK, \
  103. .dma_irqn = UART3_TX_DMA_IRQ, \
  104. .dmamux_channel = UART3_TX_DMA_MUX_CHANNEL, \
  105. .request_id = UART3_TX_DMA_REQ_ID, \
  106. }
  107. #endif /* BSP_UART3_TX_USING_DMA */
  108. #endif /* BSP_USING_UART3 */
  109. #if defined(BSP_USING_UART4)
  110. #define UART4_CONFIG \
  111. { \
  112. .name = "uart4", \
  113. .uart_x = USART4, \
  114. .irqn = USART4_IRQn, \
  115. }
  116. #if defined(BSP_UART4_RX_USING_DMA)
  117. #define UART4_RX_DMA_CONFIG \
  118. { \
  119. .dma_channel = UART4_RX_DMA_CHANNEL, \
  120. .dma_clock = UART4_RX_DMA_CLOCK, \
  121. .dma_irqn = UART4_RX_DMA_IRQ, \
  122. .dmamux_channel = UART4_RX_DMA_MUX_CHANNEL, \
  123. .request_id = UART4_RX_DMA_REQ_ID, \
  124. }
  125. #endif /* BSP_UART4_RX_USING_DMA */
  126. #if defined(BSP_UART4_TX_USING_DMA)
  127. #define UART4_TX_DMA_CONFIG \
  128. { \
  129. .dma_channel = UART4_TX_DMA_CHANNEL, \
  130. .dma_clock = UART4_TX_DMA_CLOCK, \
  131. .dma_irqn = UART4_TX_DMA_IRQ, \
  132. .dmamux_channel = UART4_TX_DMA_MUX_CHANNEL, \
  133. .request_id = UART4_TX_DMA_REQ_ID, \
  134. }
  135. #endif /* BSP_UART4_TX_USING_DMA */
  136. #endif /* BSP_USING_UART4 */
  137. #if defined(BSP_USING_UART5)
  138. #define UART5_CONFIG \
  139. { \
  140. .name = "uart5", \
  141. .uart_x = USART5, \
  142. .irqn = USART5_IRQn, \
  143. }
  144. #if defined(BSP_UART5_RX_USING_DMA)
  145. #define UART5_RX_DMA_CONFIG \
  146. { \
  147. .dma_channel = UART5_RX_DMA_CHANNEL, \
  148. .dma_clock = UART5_RX_DMA_CLOCK, \
  149. .dma_irqn = UART5_RX_DMA_IRQ, \
  150. .dmamux_channel = UART5_RX_DMA_MUX_CHANNEL, \
  151. .request_id = UART5_RX_DMA_REQ_ID, \
  152. }
  153. #endif /* BSP_UART5_RX_USING_DMA */
  154. #if defined(BSP_UART5_TX_USING_DMA)
  155. #define UART5_TX_DMA_CONFIG \
  156. { \
  157. .dma_channel = UART5_TX_DMA_CHANNEL, \
  158. .dma_clock = UART5_TX_DMA_CLOCK, \
  159. .dma_irqn = UART5_TX_DMA_IRQ, \
  160. .dmamux_channel = UART5_TX_DMA_MUX_CHANNEL, \
  161. .request_id = UART5_TX_DMA_REQ_ID, \
  162. }
  163. #endif /* BSP_UART5_TX_USING_DMA */
  164. #endif /* BSP_USING_UART5 */
  165. #if defined(BSP_USING_UART6)
  166. #define UART6_CONFIG \
  167. { \
  168. .name = "uart6", \
  169. .uart_x = USART6, \
  170. .irqn = USART6_IRQn, \
  171. }
  172. #if defined(BSP_UART6_RX_USING_DMA)
  173. #define UART6_RX_DMA_CONFIG \
  174. { \
  175. .dma_channel = UART6_RX_DMA_CHANNEL, \
  176. .dma_clock = UART6_RX_DMA_CLOCK, \
  177. .dma_irqn = UART6_RX_DMA_IRQ, \
  178. .dmamux_channel = UART6_RX_DMA_MUX_CHANNEL, \
  179. .request_id = UART6_RX_DMA_REQ_ID, \
  180. }
  181. #endif /* BSP_UART6_RX_USING_DMA */
  182. #if defined(BSP_UART6_TX_USING_DMA)
  183. #define UART6_TX_DMA_CONFIG \
  184. { \
  185. .dma_channel = UART6_TX_DMA_CHANNEL, \
  186. .dma_clock = UART6_TX_DMA_CLOCK, \
  187. .dma_irqn = UART6_TX_DMA_IRQ, \
  188. .dmamux_channel = UART6_TX_DMA_MUX_CHANNEL, \
  189. .request_id = UART6_TX_DMA_REQ_ID, \
  190. }
  191. #endif /* BSP_UART6_TX_USING_DMA */
  192. #endif /* BSP_USING_UART6 */
  193. #if defined(BSP_USING_UART7)
  194. #define UART7_CONFIG \
  195. { \
  196. .name = "uart7", \
  197. .uart_x = USART7, \
  198. .irqn = USART7_IRQn, \
  199. }
  200. #if defined(BSP_UART7_RX_USING_DMA)
  201. #define UART7_RX_DMA_CONFIG \
  202. { \
  203. .dma_channel = UART7_RX_DMA_CHANNEL, \
  204. .dma_clock = UART7_RX_DMA_CLOCK, \
  205. .dma_irqn = UART7_RX_DMA_IRQ, \
  206. .dmamux_channel = UART7_RX_DMA_MUX_CHANNEL, \
  207. .request_id = UART7_RX_DMA_REQ_ID, \
  208. }
  209. #endif /* BSP_UART7_RX_USING_DMA */
  210. #if defined(BSP_UART7_TX_USING_DMA)
  211. #define UART7_TX_DMA_CONFIG \
  212. { \
  213. .dma_channel = UART7_TX_DMA_CHANNEL, \
  214. .dma_clock = UART7_TX_DMA_CLOCK, \
  215. .dma_irqn = UART7_TX_DMA_IRQ, \
  216. .dmamux_channel = UART7_TX_DMA_MUX_CHANNEL, \
  217. .request_id = UART7_TX_DMA_REQ_ID, \
  218. }
  219. #endif /* BSP_UART7_TX_USING_DMA */
  220. #endif /* BSP_USING_UART7 */
  221. #if defined(BSP_USING_UART8)
  222. #define UART8_CONFIG \
  223. { \
  224. .name = "uart8", \
  225. .uart_x = USART8, \
  226. .irqn = USART8_IRQn, \
  227. }
  228. #endif /* BSP_USING_UART8 */
  229. #ifdef __cplusplus
  230. }
  231. #endif
  232. #endif