uart_config.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. * 2023-01-31 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. #if defined(BSP_USING_UART1)
  20. #define UART1_CONFIG \
  21. { \
  22. .name = "uart1", \
  23. .uart_x = USART1, \
  24. .irqn = USART1_IRQn, \
  25. }
  26. #if defined(BSP_UART1_RX_USING_DMA)
  27. #define UART1_RX_DMA_CONFIG \
  28. { \
  29. .dma_channel = UART1_RX_DMA_CHANNEL, \
  30. .dma_clock = UART1_RX_DMA_CLOCK, \
  31. .dma_irqn = UART1_RX_DMA_IRQ, \
  32. .flex_channel = UART1_RX_DMA_FLEX_CHANNEL, \
  33. .request_id = UART1_RX_DMA_REQ_ID, \
  34. }
  35. #endif /* BSP_UART1_RX_USING_DMA */
  36. #if defined(BSP_UART1_TX_USING_DMA)
  37. #define UART1_TX_DMA_CONFIG \
  38. { \
  39. .dma_channel = UART1_TX_DMA_CHANNEL, \
  40. .dma_clock = UART1_TX_DMA_CLOCK, \
  41. .dma_irqn = UART1_TX_DMA_IRQ, \
  42. .flex_channel = UART1_TX_DMA_FLEX_CHANNEL, \
  43. .request_id = UART1_TX_DMA_REQ_ID, \
  44. }
  45. #endif /* BSP_UART1_TX_USING_DMA */
  46. #endif /* BSP_USING_UART1 */
  47. #if defined(BSP_USING_UART2)
  48. #define UART2_CONFIG \
  49. { \
  50. .name = "uart2", \
  51. .uart_x = USART2, \
  52. .irqn = USART2_IRQn, \
  53. }
  54. #if defined(BSP_UART2_RX_USING_DMA)
  55. #define UART2_RX_DMA_CONFIG \
  56. { \
  57. .dma_channel = UART2_RX_DMA_CHANNEL, \
  58. .dma_clock = UART2_RX_DMA_CLOCK, \
  59. .dma_irqn = UART2_RX_DMA_IRQ, \
  60. .flex_channel = UART2_RX_DMA_FLEX_CHANNEL, \
  61. .request_id = UART2_RX_DMA_REQ_ID, \
  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. .flex_channel = UART2_TX_DMA_FLEX_CHANNEL, \
  71. .request_id = UART2_TX_DMA_REQ_ID, \
  72. }
  73. #endif /* BSP_UART2_TX_USING_DMA */
  74. #endif /* BSP_USING_UART2 */
  75. #if defined(BSP_USING_UART3)
  76. #define UART3_CONFIG \
  77. { \
  78. .name = "uart3", \
  79. .uart_x = USART3, \
  80. .irqn = USART4_3_IRQn, \
  81. }
  82. #if defined(BSP_UART3_RX_USING_DMA)
  83. #define UART3_RX_DMA_CONFIG \
  84. { \
  85. .dma_channel = UART3_RX_DMA_CHANNEL, \
  86. .dma_clock = UART3_RX_DMA_CLOCK, \
  87. .dma_irqn = UART3_RX_DMA_IRQ, \
  88. .flex_channel = UART3_RX_DMA_FLEX_CHANNEL, \
  89. .request_id = UART3_RX_DMA_REQ_ID, \
  90. }
  91. #endif /* BSP_UART3_RX_USING_DMA */
  92. #if defined(BSP_UART3_TX_USING_DMA)
  93. #define UART3_TX_DMA_CONFIG \
  94. { \
  95. .dma_channel = UART3_TX_DMA_CHANNEL, \
  96. .dma_clock = UART3_TX_DMA_CLOCK, \
  97. .dma_irqn = UART3_TX_DMA_IRQ, \
  98. .flex_channel = UART3_TX_DMA_FLEX_CHANNEL, \
  99. .request_id = UART3_TX_DMA_REQ_ID, \
  100. }
  101. #endif /* BSP_UART3_TX_USING_DMA */
  102. #endif /* BSP_USING_UART3 */
  103. #if defined(BSP_USING_UART4)
  104. #define UART4_CONFIG \
  105. { \
  106. .name = "uart4", \
  107. .uart_x = USART4, \
  108. .irqn = USART4_3_IRQn, \
  109. }
  110. #endif /* BSP_USING_UART4 */
  111. #ifdef __cplusplus
  112. }
  113. #endif
  114. #endif