uart_config.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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. * 2018-10-30 zylx first version
  9. */
  10. #ifndef __UART_CONFIG_H__
  11. #define __UART_CONFIG_H__
  12. #include <rtthread.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #if defined(BSP_USING_LPUART1)
  17. #ifndef LPUART1_CONFIG
  18. #define LPUART1_CONFIG \
  19. { \
  20. .name = "lpuart1", \
  21. .Instance = LPUART1, \
  22. .irq_type = USART3_4_LPUART1_IRQn, \
  23. }
  24. #define LPUART1_IRQHandler USART3_4_LPUART1_IRQHandler
  25. #endif /* LPUART1_CONFIG */
  26. #if defined(BSP_LPUART1_RX_USING_DMA)
  27. #ifndef LPUART1_DMA_CONFIG
  28. #define LPUART1_DMA_CONFIG \
  29. { \
  30. .Instance = LPUART1_RX_DMA_INSTANCE, \
  31. .request = LPUART1_RX_DMA_REQUEST, \
  32. .dma_rcc = LPUART1_RX_DMA_RCC, \
  33. .dma_irq = LPUART1_RX_DMA_IRQ, \
  34. }
  35. #endif /* LPUART1_DMA_CONFIG */
  36. #endif /* BSP_LPUART1_RX_USING_DMA */
  37. #endif /* BSP_USING_LPUART1 */
  38. #if defined(BSP_USING_UART1)
  39. #ifndef UART1_CONFIG
  40. #define UART1_CONFIG \
  41. { \
  42. .name = "uart1", \
  43. .Instance = USART1, \
  44. .irq_type = USART1_IRQn, \
  45. }
  46. #endif /* UART1_CONFIG */
  47. #endif /* BSP_USING_UART1 */
  48. #if defined(BSP_UART1_RX_USING_DMA)
  49. #ifndef UART1_DMA_RX_CONFIG
  50. #define UART1_DMA_RX_CONFIG \
  51. { \
  52. .Instance = UART1_RX_DMA_INSTANCE, \
  53. .request = UART1_RX_DMA_REQUEST, \
  54. .dma_rcc = UART1_RX_DMA_RCC, \
  55. .dma_irq = UART1_RX_DMA_IRQ, \
  56. }
  57. #endif /* UART1_DMA_RX_CONFIG */
  58. #endif /* BSP_UART1_RX_USING_DMA */
  59. #if defined(BSP_USING_UART2)
  60. #ifndef UART2_CONFIG
  61. #if defined(STM32G0B1xx) || defined(STM32G0C1xx)
  62. #define UART2_CONFIG \
  63. { \
  64. .name = "uart2", \
  65. .Instance = USART2, \
  66. .irq_type = USART2_LPUART2_IRQn , \
  67. }
  68. #else
  69. #define UART2_CONFIG \
  70. { \
  71. .name = "uart2", \
  72. .Instance = USART2, \
  73. .irq_type = USART2_IRQn, \
  74. }
  75. #endif /* defined(STM32G0B1xx) || defined(STM32G0C1xx) */
  76. #endif /* UART2_CONFIG */
  77. #endif /* BSP_USING_UART2 */
  78. #if defined(BSP_UART2_RX_USING_DMA)
  79. #ifndef UART2_DMA_RX_CONFIG
  80. #define UART2_DMA_RX_CONFIG \
  81. { \
  82. .Instance = UART2_RX_DMA_INSTANCE, \
  83. .request = UART2_RX_DMA_REQUEST, \
  84. .dma_rcc = UART2_RX_DMA_RCC, \
  85. .dma_irq = UART2_RX_DMA_IRQ, \
  86. }
  87. #endif /* UART2_DMA_RX_CONFIG */
  88. #endif /* BSP_UART2_RX_USING_DMA */
  89. #if defined(BSP_USING_UART3)
  90. #ifndef UART3_CONFIG
  91. #if defined(STM32G0B1xx) || defined(STM32G0C1xx)
  92. #define UART3_CONFIG \
  93. { \
  94. .name = "uart3", \
  95. .Instance = USART3, \
  96. .irq_type = USART3_4_5_6_LPUART1_IRQn, \
  97. }
  98. #elif defined(STM32G070xx)
  99. #define UART3_CONFIG \
  100. { \
  101. .name = "uart3", \
  102. .Instance = USART3, \
  103. .irq_type = USART3_4_IRQn, \
  104. }
  105. #elif defined(STM32G071xx) || defined(STM32G081xx)
  106. #define UART3_CONFIG \
  107. { \
  108. .name = "uart3", \
  109. .Instance = USART3, \
  110. .irq_type = USART3_4_LPUART1_IRQn, \
  111. }
  112. #elif defined(STM32G0B0xx)
  113. #define UART3_CONFIG \
  114. { \
  115. .name = "uart3", \
  116. .Instance = USART3, \
  117. .irq_type = USART3_4_5_6_IRQn, \
  118. }
  119. #else
  120. #define UART3_CONFIG \
  121. { \
  122. .name = "uart3", \
  123. .Instance = USART3, \
  124. .irq_type = USART3_IRQn, \
  125. }
  126. #endif /* defined(STM32G0B1xx) || defined(STM32G0C1xx) */
  127. #endif /* UART3_CONFIG */
  128. #endif /* BSP_USING_UART3 */
  129. #if defined(BSP_UART3_RX_USING_DMA)
  130. #ifndef UART3_DMA_RX_CONFIG
  131. #define UART3_DMA_RX_CONFIG \
  132. { \
  133. .Instance = UART3_RX_DMA_INSTANCE, \
  134. .request = UART3_RX_DMA_REQUEST, \
  135. .dma_rcc = UART3_RX_DMA_RCC, \
  136. .dma_irq = UART3_RX_DMA_IRQ, \
  137. }
  138. #endif /* UART3_DMA_RX_CONFIG */
  139. #endif /* BSP_UART3_RX_USING_DMA */
  140. #if defined(BSP_USING_UART4)
  141. #ifndef UART4_CONFIG
  142. #if defined(STM32G0B1xx) || defined(STM32G0C1xx)
  143. #define UART4_CONFIG \
  144. { \
  145. .name = "uart4", \
  146. .Instance = USART4, \
  147. .irq_type = USART3_4_5_6_LPUART1_IRQn, \
  148. }
  149. #elif defined(STM32G070xx)
  150. #define UART4_CONFIG \
  151. { \
  152. .name = "uart4", \
  153. .Instance = USART4, \
  154. .irq_type = USART3_4_IRQn, \
  155. }
  156. #elif defined(STM32G071xx) || defined(STM32G081xx)
  157. #define UART4_CONFIG \
  158. { \
  159. .name = "uart4", \
  160. .Instance = USART4, \
  161. .irq_type = USART3_4_LPUART1_IRQn, \
  162. }
  163. #elif defined(STM32G0B0xx)
  164. #define UART4_CONFIG \
  165. { \
  166. .name = "uart4", \
  167. .Instance = USART4, \
  168. .irq_type = USART3_4_5_6_IRQn, \
  169. }
  170. #else
  171. #define UART4_CONFIG \
  172. { \
  173. .name = "uart4", \
  174. .Instance = USART4, \
  175. .irq_type = USART4_IRQn, \
  176. }
  177. #endif /* defined(STM32G0B1xx) || defined(STM32G0C1xx) */
  178. #endif /* UART4_CONFIG */
  179. #endif /* BSP_USING_UART4 */
  180. #if defined(BSP_UART4_RX_USING_DMA)
  181. #ifndef UART4_DMA_RX_CONFIG
  182. #define UART4_DMA_RX_CONFIG \
  183. { \
  184. .Instance = UART4_RX_DMA_INSTANCE, \
  185. .request = UART4_RX_DMA_REQUEST, \
  186. .dma_rcc = UART4_RX_DMA_RCC, \
  187. .dma_irq = UART4_RX_DMA_IRQ, \
  188. }
  189. #endif /* UART4_DMA_RX_CONFIG */
  190. #endif /* BSP_UART4_RX_USING_DMA */
  191. #if defined(BSP_USING_UART5)
  192. #ifndef UART5_CONFIG
  193. #if defined(STM32G0B1xx) || defined(STM32G0C1xx)
  194. #define UART5_CONFIG \
  195. { \
  196. .name = "uart5", \
  197. .Instance = UART5, \
  198. .irq_type = USART3_4_5_6_LPUART1_IRQn, \
  199. }
  200. #elif defined(STM32G0B0xx)
  201. #define UART5_CONFIG \
  202. { \
  203. .name = "uart5", \
  204. .Instance = UART5, \
  205. .irq_type = USART3_4_5_6_IRQn, \
  206. }
  207. #else
  208. #define UART5_CONFIG \
  209. { \
  210. .name = "uart5", \
  211. .Instance = UART5, \
  212. .irq_type = UART5_IRQn, \
  213. }
  214. #endif /* defined(STM32G0B1xx) || defined(STM32G0C1xx) */
  215. #endif /* UART5_CONFIG */
  216. #endif /* BSP_USING_UART5 */
  217. #if defined(BSP_UART5_RX_USING_DMA)
  218. #ifndef UART5_DMA_RX_CONFIG
  219. #define UART5_DMA_RX_CONFIG \
  220. { \
  221. .Instance = DMA_NOT_AVAILABLE, \
  222. }
  223. #endif /* UART5_DMA_RX_CONFIG */
  224. #endif /* BSP_UART5_RX_USING_DMA */
  225. #ifdef __cplusplus
  226. }
  227. #endif
  228. #endif /* __UART_CONFIG_H__ */