uart_config.h 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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. * 2018-10-30 BalanceTWK first version
  9. * 2019-01-05 SummerGift modify DMA support
  10. */
  11. #ifndef __UART_CONFIG_H__
  12. #define __UART_CONFIG_H__
  13. #include <rtthread.h>
  14. #include <board.h>
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #if defined(BSP_USING_UART1)
  19. #ifndef UART1_CONFIG
  20. #define UART1_CONFIG \
  21. { \
  22. .name = "uart1", \
  23. .Instance = USART1, \
  24. .irq_type = USART1_IRQn, \
  25. .tx_port = UART1_TX_PORT, \
  26. .rx_port = UART1_RX_PORT, \
  27. .tx_pin = UART1_TX_PIN, \
  28. .rx_pin = UART1_RX_PIN, \
  29. }
  30. #endif /* UART1_CONFIG */
  31. #if defined(BSP_UART1_RX_USING_DMA)
  32. #ifndef UART1_DMA_RX_CONFIG
  33. #define UART1_DMA_RX_CONFIG \
  34. { \
  35. .Instance = UART1_RX_DMA_INSTANCE, \
  36. .dma_rcc = UART1_RX_DMA_RCC, \
  37. .dma_irq = UART1_RX_DMA_IRQ, \
  38. }
  39. #endif /* UART1_DMA_RX_CONFIG */
  40. #endif /* BSP_UART1_RX_USING_DMA */
  41. #if defined(BSP_UART1_TX_USING_DMA)
  42. #ifndef UART1_DMA_TX_CONFIG
  43. #define UART1_DMA_TX_CONFIG \
  44. { \
  45. .Instance = UART1_TX_DMA_INSTANCE, \
  46. .dma_rcc = UART1_TX_DMA_RCC, \
  47. .dma_irq = UART1_TX_DMA_IRQ, \
  48. }
  49. #endif /* UART1_DMA_TX_CONFIG */
  50. #endif /* BSP_UART1_TX_USING_DMA */
  51. #endif /* BSP_USING_UART1 */
  52. #if defined(BSP_USING_UART2)
  53. #ifndef UART2_CONFIG
  54. #define UART2_CONFIG \
  55. { \
  56. .name = "uart2", \
  57. .Instance = USART2, \
  58. .irq_type = USART2_IRQn, \
  59. .tx_port = UART2_TX_PORT, \
  60. .rx_port = UART2_RX_PORT, \
  61. .tx_pin = UART2_TX_PIN, \
  62. .rx_pin = UART2_RX_PIN, \
  63. }
  64. #endif /* UART2_CONFIG */
  65. #if defined(BSP_UART2_RX_USING_DMA)
  66. #ifndef UART2_DMA_RX_CONFIG
  67. #define UART2_DMA_RX_CONFIG \
  68. { \
  69. .Instance = UART2_RX_DMA_INSTANCE, \
  70. .dma_rcc = UART2_RX_DMA_RCC, \
  71. .dma_irq = UART2_RX_DMA_IRQ, \
  72. }
  73. #endif /* UART2_DMA_RX_CONFIG */
  74. #endif /* BSP_UART2_RX_USING_DMA */
  75. #if defined(BSP_UART2_TX_USING_DMA)
  76. #ifndef UART2_DMA_TX_CONFIG
  77. #define UART2_DMA_TX_CONFIG \
  78. { \
  79. .Instance = UART2_TX_DMA_INSTANCE, \
  80. .dma_rcc = UART2_TX_DMA_RCC, \
  81. .dma_irq = UART2_TX_DMA_IRQ, \
  82. }
  83. #endif /* UART2_DMA_TX_CONFIG */
  84. #endif /* BSP_UART2_TX_USING_DMA */
  85. #endif /* BSP_USING_UART2 */
  86. #if defined(BSP_USING_UART3)
  87. #ifndef UART3_CONFIG
  88. #define UART3_CONFIG \
  89. { \
  90. .name = "uart3", \
  91. .Instance = USART3, \
  92. .irq_type = USART3_IRQn, \
  93. .tx_port = UART3_TX_PORT, \
  94. .rx_port = UART3_RX_PORT, \
  95. .tx_pin = UART3_TX_PIN, \
  96. .rx_pin = UART3_RX_PIN, \
  97. }
  98. #endif /* UART3_CONFIG */
  99. #if defined(BSP_UART3_RX_USING_DMA)
  100. #ifndef UART3_DMA_RX_CONFIG
  101. #define UART3_DMA_RX_CONFIG \
  102. { \
  103. .Instance = UART3_RX_DMA_INSTANCE, \
  104. .dma_rcc = UART3_RX_DMA_RCC, \
  105. .dma_irq = UART3_RX_DMA_IRQ, \
  106. }
  107. #endif /* UART3_DMA_RX_CONFIG */
  108. #endif /* BSP_UART3_RX_USING_DMA */
  109. #if defined(BSP_UART3_TX_USING_DMA)
  110. #ifndef UART3_DMA_TX_CONFIG
  111. #define UART3_DMA_TX_CONFIG \
  112. { \
  113. .Instance = UART3_TX_DMA_INSTANCE, \
  114. .dma_rcc = UART3_TX_DMA_RCC, \
  115. .dma_irq = UART3_TX_DMA_IRQ, \
  116. }
  117. #endif /* UART3_DMA_TX_CONFIG */
  118. #endif /* BSP_UART3_TX_USING_DMA */
  119. #endif /* BSP_USING_UART3 */
  120. #if defined(BSP_USING_UART4)
  121. #ifndef UART4_CONFIG
  122. #define UART4_CONFIG \
  123. { \
  124. .name = "uart4", \
  125. .Instance = UART4, \
  126. .irq_type = UART4_IRQn, \
  127. .tx_port = UART4_TX_PORT, \
  128. .rx_port = UART4_RX_PORT, \
  129. .tx_pin = UART4_TX_PIN, \
  130. .rx_pin = UART4_RX_PIN, \
  131. }
  132. #endif /* UART4_CONFIG */
  133. #if defined(BSP_UART4_RX_USING_DMA)
  134. #ifndef UART4_DMA_RX_CONFIG
  135. #define UART4_DMA_RX_CONFIG \
  136. { \
  137. .Instance = UART4_RX_DMA_INSTANCE, \
  138. .dma_rcc = UART4_RX_DMA_RCC, \
  139. .dma_irq = UART4_RX_DMA_IRQ, \
  140. }
  141. #endif /* UART4_DMA_RX_CONFIG */
  142. #endif /* BSP_UART4_RX_USING_DMA */
  143. #if defined(BSP_UART4_TX_USING_DMA)
  144. #ifndef UART4_DMA_TX_CONFIG
  145. #define UART4_DMA_TX_CONFIG \
  146. { \
  147. .Instance = UART4_TX_DMA_INSTANCE, \
  148. .dma_rcc = UART4_TX_DMA_RCC, \
  149. .dma_irq = UART4_TX_DMA_IRQ, \
  150. }
  151. #endif /* UART4_DMA_TX_CONFIG */
  152. #endif /* BSP_UART4_TX_USING_DMA */
  153. #endif /* BSP_USING_UART4 */
  154. #if defined(BSP_USING_UART5)
  155. #ifndef UART5_CONFIG
  156. #define UART5_CONFIG \
  157. { \
  158. .name = "uart5", \
  159. .Instance = UART5, \
  160. .irq_type = UART5_IRQn, \
  161. .tx_port = UART5_TX_PORT, \
  162. .rx_port = UART5_RX_PORT, \
  163. .tx_pin = UART5_TX_PIN, \
  164. .rx_pin = UART5_RX_PIN, \
  165. }
  166. #endif /* UART5_CONFIG */
  167. #endif /* BSP_USING_UART5 */
  168. #if defined(BSP_UART5_RX_USING_DMA)
  169. #ifndef UART5_DMA_RX_CONFIG
  170. #define UART5_DMA_RX_CONFIG \
  171. { \
  172. .Instance = DMA_NOT_AVAILABLE, \
  173. }
  174. #endif /* UART5_DMA_RX_CONFIG */
  175. #endif /* BSP_UART5_RX_USING_DMA */
  176. #ifdef __cplusplus
  177. }
  178. #endif
  179. #endif