uart_config.h 8.8 KB

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