uart_config.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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. #if defined(BSP_USING_UART1)
  23. #define UART1_CONFIG \
  24. { \
  25. .name = "uart1", \
  26. .uart_x = USART1, \
  27. .irqn = USART1_IRQn, \
  28. }
  29. #if defined(BSP_UART1_RX_USING_DMA)
  30. #define UART1_RX_DMA_CONFIG \
  31. { \
  32. .dma_channel = UART1_RX_DMA_CHANNEL, \
  33. .dma_clock = UART1_RX_DMA_CLOCK, \
  34. .dma_irqn = UART1_RX_DMA_IRQ, \
  35. }
  36. #endif /* BSP_UART1_RX_USING_DMA */
  37. #if defined(BSP_UART1_TX_USING_DMA)
  38. #define UART1_TX_DMA_CONFIG \
  39. { \
  40. .dma_channel = UART1_TX_DMA_CHANNEL, \
  41. .dma_clock = UART1_TX_DMA_CLOCK, \
  42. .dma_irqn = UART1_TX_DMA_IRQ, \
  43. }
  44. #endif /* BSP_UART1_TX_USING_DMA */
  45. #endif /* BSP_USING_UART1 */
  46. #if defined(BSP_USING_UART2)
  47. #define UART2_CONFIG \
  48. { \
  49. .name = "uart2", \
  50. .uart_x = USART2, \
  51. .irqn = USART2_IRQn, \
  52. }
  53. #if defined(BSP_UART2_RX_USING_DMA)
  54. #define UART2_RX_DMA_CONFIG \
  55. { \
  56. .dma_channel = UART2_RX_DMA_CHANNEL, \
  57. .dma_clock = UART2_RX_DMA_CLOCK, \
  58. .dma_irqn = UART2_RX_DMA_IRQ, \
  59. }
  60. #endif /* BSP_UART2_RX_USING_DMA */
  61. #if defined(BSP_UART2_TX_USING_DMA)
  62. #define UART2_TX_DMA_CONFIG \
  63. { \
  64. .dma_channel = UART2_TX_DMA_CHANNEL, \
  65. .dma_clock = UART2_TX_DMA_CLOCK, \
  66. .dma_irqn = UART2_TX_DMA_IRQ, \
  67. }
  68. #endif /* BSP_UART2_TX_USING_DMA */
  69. #endif /* BSP_USING_UART2 */
  70. #if defined(BSP_USING_UART3)
  71. #define UART3_CONFIG \
  72. { \
  73. .name = "uart3", \
  74. .uart_x = USART3, \
  75. .irqn = USART3_IRQn, \
  76. }
  77. #if defined(BSP_UART3_RX_USING_DMA)
  78. #define UART3_RX_DMA_CONFIG \
  79. { \
  80. .dma_channel = UART3_RX_DMA_CHANNEL, \
  81. .dma_clock = UART3_RX_DMA_CLOCK, \
  82. .dma_irqn = UART3_RX_DMA_IRQ, \
  83. }
  84. #endif /* BSP_UART3_RX_USING_DMA */
  85. #if defined(BSP_UART3_TX_USING_DMA)
  86. #define UART3_TX_DMA_CONFIG \
  87. { \
  88. .dma_channel = UART3_TX_DMA_CHANNEL, \
  89. .dma_clock = UART3_TX_DMA_CLOCK, \
  90. .dma_irqn = UART3_TX_DMA_IRQ, \
  91. }
  92. #endif /* BSP_UART3_TX_USING_DMA */
  93. #endif /* BSP_USING_UART3 */
  94. #if defined(BSP_USING_UART4)
  95. #define UART4_CONFIG \
  96. { \
  97. .name = "uart4", \
  98. .uart_x = UART4, \
  99. .irqn = UART4_IRQn, \
  100. }
  101. #if defined(BSP_UART4_RX_USING_DMA)
  102. #define UART4_RX_DMA_CONFIG \
  103. { \
  104. .dma_channel = UART4_RX_DMA_CHANNEL, \
  105. .dma_clock = UART4_RX_DMA_CLOCK, \
  106. .dma_irqn = UART4_RX_DMA_IRQ, \
  107. }
  108. #endif /* BSP_UART4_RX_USING_DMA */
  109. #if defined(BSP_UART4_TX_USING_DMA)
  110. #define UART4_TX_DMA_CONFIG \
  111. { \
  112. .dma_channel = UART4_TX_DMA_CHANNEL, \
  113. .dma_clock = UART4_TX_DMA_CLOCK, \
  114. .dma_irqn = UART4_TX_DMA_IRQ, \
  115. }
  116. #endif /* BSP_UART4_TX_USING_DMA */
  117. #endif /* BSP_USING_UART4 */
  118. #if defined(BSP_USING_UART5)
  119. #define UART5_CONFIG \
  120. { \
  121. .name = "uart5", \
  122. .uart_x = UART5, \
  123. .irqn = UART5_IRQn, \
  124. }
  125. #endif /* BSP_USING_UART5 */
  126. #ifdef __cplusplus
  127. }
  128. #endif
  129. #endif