uart_config.h 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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 UART4_IRQHandler
  21. #define UART5_IRQHandler UART5_IRQHandler
  22. #define UART6_IRQHandler USART6_IRQHandler
  23. #define UART7_IRQHandler UART7_IRQHandler
  24. #define UART8_IRQHandler UART8_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. }
  39. #endif /* BSP_UART1_RX_USING_DMA */
  40. #if defined(BSP_UART1_TX_USING_DMA)
  41. #define UART1_TX_DMA_CONFIG \
  42. { \
  43. .dma_channel = UART1_TX_DMA_CHANNEL, \
  44. .dma_clock = UART1_TX_DMA_CLOCK, \
  45. .dma_irqn = UART1_TX_DMA_IRQ, \
  46. }
  47. #endif /* BSP_UART1_TX_USING_DMA */
  48. #endif /* BSP_USING_UART1 */
  49. #if defined(BSP_USING_UART2)
  50. #define UART2_CONFIG \
  51. { \
  52. .name = "uart2", \
  53. .uart_x = USART2, \
  54. .irqn = USART2_IRQn, \
  55. }
  56. #if defined(BSP_UART2_RX_USING_DMA)
  57. #define UART2_RX_DMA_CONFIG \
  58. { \
  59. .dma_channel = UART2_RX_DMA_CHANNEL, \
  60. .dma_clock = UART2_RX_DMA_CLOCK, \
  61. .dma_irqn = UART2_RX_DMA_IRQ, \
  62. }
  63. #endif /* BSP_UART2_RX_USING_DMA */
  64. #if defined(BSP_UART2_TX_USING_DMA)
  65. #define UART2_TX_DMA_CONFIG \
  66. { \
  67. .dma_channel = UART2_TX_DMA_CHANNEL, \
  68. .dma_clock = UART2_TX_DMA_CLOCK, \
  69. .dma_irqn = UART2_TX_DMA_IRQ, \
  70. }
  71. #endif /* BSP_UART2_TX_USING_DMA */
  72. #endif /* BSP_USING_UART2 */
  73. #if defined(BSP_USING_UART3)
  74. #define UART3_CONFIG \
  75. { \
  76. .name = "uart3", \
  77. .uart_x = USART3, \
  78. .irqn = USART3_IRQn, \
  79. }
  80. #if defined(BSP_UART3_RX_USING_DMA)
  81. #define UART3_RX_DMA_CONFIG \
  82. { \
  83. .dma_channel = UART3_RX_DMA_CHANNEL, \
  84. .dma_clock = UART3_RX_DMA_CLOCK, \
  85. .dma_irqn = UART3_RX_DMA_IRQ, \
  86. }
  87. #endif /* BSP_UART3_RX_USING_DMA */
  88. #if defined(BSP_UART3_TX_USING_DMA)
  89. #define UART3_TX_DMA_CONFIG \
  90. { \
  91. .dma_channel = UART3_TX_DMA_CHANNEL, \
  92. .dma_clock = UART3_TX_DMA_CLOCK, \
  93. .dma_irqn = UART3_TX_DMA_IRQ, \
  94. }
  95. #endif /* BSP_UART3_TX_USING_DMA */
  96. #endif /* BSP_USING_UART3 */
  97. #if defined(BSP_USING_UART4)
  98. #define UART4_CONFIG \
  99. { \
  100. .name = "uart4", \
  101. .uart_x = UART4, \
  102. .irqn = UART4_IRQn, \
  103. }
  104. #if defined(BSP_UART4_RX_USING_DMA)
  105. #define UART4_RX_DMA_CONFIG \
  106. { \
  107. .dma_channel = UART4_RX_DMA_CHANNEL, \
  108. .dma_clock = UART4_RX_DMA_CLOCK, \
  109. .dma_irqn = UART4_RX_DMA_IRQ, \
  110. }
  111. #endif /* BSP_UART4_RX_USING_DMA */
  112. #if defined(BSP_UART4_TX_USING_DMA)
  113. #define UART4_TX_DMA_CONFIG \
  114. { \
  115. .dma_channel = UART4_TX_DMA_CHANNEL, \
  116. .dma_clock = UART4_TX_DMA_CLOCK, \
  117. .dma_irqn = UART4_TX_DMA_IRQ, \
  118. }
  119. #endif /* BSP_UART4_TX_USING_DMA */
  120. #endif /* BSP_USING_UART4 */
  121. #if defined(BSP_USING_UART5)
  122. #define UART5_CONFIG \
  123. { \
  124. .name = "uart5", \
  125. .uart_x = UART5, \
  126. .irqn = UART5_IRQn, \
  127. }
  128. #endif /* BSP_USING_UART5 */
  129. #if defined(BSP_USING_UART6)
  130. #define UART6_CONFIG \
  131. { \
  132. .name = "uart6", \
  133. .uart_x = USART6, \
  134. .irqn = USART6_IRQn, \
  135. }
  136. #endif /* BSP_USING_UART6 */
  137. #if defined(BSP_USING_UART7)
  138. #define UART7_CONFIG \
  139. { \
  140. .name = "uart7", \
  141. .uart_x = UART7, \
  142. .irqn = UART7_IRQn, \
  143. }
  144. #endif /* BSP_USING_UART7 */
  145. #if defined(BSP_USING_UART8)
  146. #define UART8_CONFIG \
  147. { \
  148. .name = "uart8", \
  149. .uart_x = UART8, \
  150. .irqn = UART8_IRQn, \
  151. }
  152. #endif /* BSP_USING_UART8 */
  153. #ifdef __cplusplus
  154. }
  155. #endif
  156. #endif