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 11 #ifndef __UART_CONFIG_H__ 12 #define __UART_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "dma_config.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #define UART1_IRQHandler USART1_IRQHandler 22 #define UART2_IRQHandler USART2_IRQHandler 23 #define UART3_IRQHandler USART3_IRQHandler 24 #define UART4_IRQHandler UART4_IRQHandler 25 #define UART5_IRQHandler UART5_IRQHandler 26 #define UART6_IRQHandler USART6_IRQHandler 27 #define UART7_IRQHandler UART7_IRQHandler 28 #define UART8_IRQHandler UART8_IRQHandler 29 30 #if defined(BSP_USING_UART1) 31 #define UART1_CONFIG \ 32 { \ 33 .name = "uart1", \ 34 .uart_x = USART1, \ 35 .irqn = USART1_IRQn, \ 36 } 37 38 #if defined(BSP_UART1_RX_USING_DMA) 39 #define UART1_RX_DMA_CONFIG \ 40 { \ 41 .dma_channel = UART1_RX_DMA_CHANNEL, \ 42 .dma_clock = UART1_RX_DMA_CLOCK, \ 43 .dma_irqn = UART1_RX_DMA_IRQ, \ 44 } 45 #endif /* BSP_UART1_RX_USING_DMA */ 46 47 #if defined(BSP_UART1_TX_USING_DMA) 48 #define UART1_TX_DMA_CONFIG \ 49 { \ 50 .dma_channel = UART1_TX_DMA_CHANNEL, \ 51 .dma_clock = UART1_TX_DMA_CLOCK, \ 52 .dma_irqn = UART1_TX_DMA_IRQ, \ 53 } 54 #endif /* BSP_UART1_TX_USING_DMA */ 55 #endif /* BSP_USING_UART1 */ 56 57 #if defined(BSP_USING_UART2) 58 #define UART2_CONFIG \ 59 { \ 60 .name = "uart2", \ 61 .uart_x = USART2, \ 62 .irqn = USART2_IRQn, \ 63 } 64 65 #if defined(BSP_UART2_RX_USING_DMA) 66 #define UART2_RX_DMA_CONFIG \ 67 { \ 68 .dma_channel = UART2_RX_DMA_CHANNEL, \ 69 .dma_clock = UART2_RX_DMA_CLOCK, \ 70 .dma_irqn = UART2_RX_DMA_IRQ, \ 71 } 72 #endif /* BSP_UART2_RX_USING_DMA */ 73 74 #if defined(BSP_UART2_TX_USING_DMA) 75 #define UART2_TX_DMA_CONFIG \ 76 { \ 77 .dma_channel = UART2_TX_DMA_CHANNEL, \ 78 .dma_clock = UART2_TX_DMA_CLOCK, \ 79 .dma_irqn = UART2_TX_DMA_IRQ, \ 80 } 81 #endif /* BSP_UART2_TX_USING_DMA */ 82 #endif /* BSP_USING_UART2 */ 83 84 #if defined(BSP_USING_UART3) 85 #define UART3_CONFIG \ 86 { \ 87 .name = "uart3", \ 88 .uart_x = USART3, \ 89 .irqn = USART3_IRQn, \ 90 } 91 92 #if defined(BSP_UART3_RX_USING_DMA) 93 #define UART3_RX_DMA_CONFIG \ 94 { \ 95 .dma_channel = UART3_RX_DMA_CHANNEL, \ 96 .dma_clock = UART3_RX_DMA_CLOCK, \ 97 .dma_irqn = UART3_RX_DMA_IRQ, \ 98 } 99 #endif /* BSP_UART3_RX_USING_DMA */ 100 101 #if defined(BSP_UART3_TX_USING_DMA) 102 #define UART3_TX_DMA_CONFIG \ 103 { \ 104 .dma_channel = UART3_TX_DMA_CHANNEL, \ 105 .dma_clock = UART3_TX_DMA_CLOCK, \ 106 .dma_irqn = UART3_TX_DMA_IRQ, \ 107 } 108 #endif /* BSP_UART3_TX_USING_DMA */ 109 #endif /* BSP_USING_UART3 */ 110 111 #if defined(BSP_USING_UART4) 112 #define UART4_CONFIG \ 113 { \ 114 .name = "uart4", \ 115 .uart_x = UART4, \ 116 .irqn = UART4_IRQn, \ 117 } 118 119 #if defined(BSP_UART4_RX_USING_DMA) 120 #define UART4_RX_DMA_CONFIG \ 121 { \ 122 .dma_channel = UART4_RX_DMA_CHANNEL, \ 123 .dma_clock = UART4_RX_DMA_CLOCK, \ 124 .dma_irqn = UART4_RX_DMA_IRQ, \ 125 } 126 #endif /* BSP_UART4_RX_USING_DMA */ 127 128 #if defined(BSP_UART4_TX_USING_DMA) 129 #define UART4_TX_DMA_CONFIG \ 130 { \ 131 .dma_channel = UART4_TX_DMA_CHANNEL, \ 132 .dma_clock = UART4_TX_DMA_CLOCK, \ 133 .dma_irqn = UART4_TX_DMA_IRQ, \ 134 } 135 #endif /* BSP_UART4_TX_USING_DMA */ 136 #endif /* BSP_USING_UART4 */ 137 138 #if defined(BSP_USING_UART5) 139 #define UART5_CONFIG \ 140 { \ 141 .name = "uart5", \ 142 .uart_x = UART5, \ 143 .irqn = UART5_IRQn, \ 144 } 145 #endif /* BSP_USING_UART5 */ 146 147 #if defined(BSP_USING_UART6) 148 #define UART6_CONFIG \ 149 { \ 150 .name = "uart6", \ 151 .uart_x = USART6, \ 152 .irqn = USART6_IRQn, \ 153 } 154 #endif /* BSP_USING_UART6 */ 155 156 #if defined(BSP_USING_UART7) 157 #define UART7_CONFIG \ 158 { \ 159 .name = "uart7", \ 160 .uart_x = UART7, \ 161 .irqn = UART7_IRQn, \ 162 } 163 #endif /* BSP_USING_UART7 */ 164 165 #if defined(BSP_USING_UART8) 166 #define UART8_CONFIG \ 167 { \ 168 .name = "uart8", \ 169 .uart_x = UART8, \ 170 .irqn = UART8_IRQn, \ 171 } 172 #endif /* BSP_USING_UART8 */ 173 174 #ifdef __cplusplus 175 } 176 #endif 177 178 #endif 179