uart_config.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. * Copyright (c) 2006-2025, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2025-10-09 WangShun optimize the serial driver
  9. * 2025-11-13 kurisaw general GD driver adaptation
  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_UART0)
  19. #ifndef UART0_CONFIG
  20. #define UART0_CONFIG \
  21. { \
  22. .uart_periph = USART0, \
  23. .irqn = USART0_IRQn, \
  24. .per_clk = RCU_USART0, \
  25. .tx_pin_name = BSP_UART0_TX_PIN, \
  26. .rx_pin_name = BSP_UART0_RX_PIN, \
  27. .alternate = BSP_UART0_AFIO, \
  28. .serial = &serial0, \
  29. .device_name = "uart0", \
  30. }
  31. #endif /* UART0_CONFIG */
  32. #endif /* BSP_USING_UART0 */
  33. #if defined(BSP_USING_UART1)
  34. #ifndef UART1_CONFIG
  35. #define UART1_CONFIG \
  36. { \
  37. .uart_periph = USART1, \
  38. .irqn = USART1_IRQn, \
  39. .per_clk = RCU_USART1, \
  40. .tx_pin_name = BSP_UART1_TX_PIN, \
  41. .rx_pin_name = BSP_UART1_RX_PIN, \
  42. .alternate = BSP_UART1_AFIO, \
  43. .serial = &serial1, \
  44. .device_name = "uart1", \
  45. }
  46. #endif /* UART1_CONFIG */
  47. #endif /* BSP_USING_UART1 */
  48. #if defined(BSP_USING_UART2)
  49. #ifndef UART2_CONFIG
  50. #define UART2_CONFIG \
  51. { \
  52. .uart_periph = USART2, \
  53. .irqn = USART2_IRQn, \
  54. .per_clk = RCU_USART2, \
  55. .tx_pin_name = BSP_UART2_TX_PIN, \
  56. .rx_pin_name = BSP_UART2_RX_PIN, \
  57. .alternate = BSP_UART2_AFIO, \
  58. .serial = &serial2, \
  59. .device_name = "uart2", \
  60. }
  61. #endif /* UART2_CONFIG */
  62. #endif /* BSP_USING_UART2 */
  63. #if defined(BSP_USING_UART3)
  64. #ifndef UART3_CONFIG
  65. #define UART3_CONFIG \
  66. { \
  67. .uart_periph = UART3, \
  68. .irqn = UART3_IRQn, \
  69. .per_clk = RCU_UART3, \
  70. .tx_pin_name = BSP_UART3_TX_PIN, \
  71. .rx_pin_name = BSP_UART3_RX_PIN, \
  72. .alternate = BSP_UART3_AFIO, \
  73. .serial = &serial3, \
  74. .device_name = "uart3", \
  75. }
  76. #endif /* UART3_CONFIG */
  77. #endif /* BSP_USING_UART3 */
  78. #if defined(BSP_USING_UART4)
  79. #ifndef UART4_CONFIG
  80. #define UART4_CONFIG \
  81. { \
  82. .uart_periph = UART4, \
  83. .irqn = UART4_IRQn, \
  84. .per_clk = RCU_UART4, \
  85. .tx_pin_name = BSP_UART4_TX_PIN, \
  86. .rx_pin_name = BSP_UART4_RX_PIN, \
  87. .alternate = BSP_UART4_AFIO, \
  88. .serial = &serial4, \
  89. .device_name = "uart4", \
  90. }
  91. #endif /* UART4_CONFIG */
  92. #endif /* BSP_USING_UART4 */
  93. #if defined(BSP_USING_UART5)
  94. #ifndef UART5_CONFIG
  95. #define UART5_CONFIG \
  96. { \
  97. .uart_periph = USART5, \
  98. .irqn = USART5_IRQn, \
  99. .per_clk = RCU_USART5, \
  100. .tx_pin_name = BSP_UART5_TX_PIN, \
  101. .rx_pin_name = BSP_UART5_RX_PIN, \
  102. .alternate = BSP_UART5_AFIO, \
  103. .serial = &serial5, \
  104. .device_name = "uart5", \
  105. }
  106. #endif /* UART5_CONFIG */
  107. #endif /* BSP_USING_UART5 */
  108. #if defined(BSP_USING_UART6)
  109. #ifndef UART6_CONFIG
  110. #define UART6_CONFIG \
  111. { \
  112. .uart_periph = UART6, \
  113. .irqn = UART6_IRQn, \
  114. .per_clk = RCU_UART6, \
  115. .tx_pin_name = BSP_UART6_TX_PIN, \
  116. .rx_pin_name = BSP_UART6_RX_PIN, \
  117. .alternate = BSP_UART6_AFIO, \
  118. .serial = &serial6, \
  119. .device_name = "uart6", \
  120. }
  121. #endif /* UART6_CONFIG */
  122. #endif /* BSP_USING_UART6 */
  123. #if defined(BSP_USING_UART7)
  124. #ifndef UART7_CONFIG
  125. #define UART7_CONFIG \
  126. { \
  127. .uart_periph = UART7, \
  128. .irqn = UART7_IRQn, \
  129. .per_clk = RCU_UART7, \
  130. .tx_pin_name = BSP_UART7_TX_PIN, \
  131. .rx_pin_name = BSP_UART7_RX_PIN, \
  132. .alternate = BSP_UART7_AFIO, \
  133. .serial = &serial7, \
  134. .device_name = "uart7", \
  135. }
  136. #endif /* UART7_CONFIG */
  137. #endif /* BSP_USING_UART7 */
  138. #ifdef __cplusplus
  139. }
  140. #endif
  141. #endif /* __UART_CONFIG_H__ */