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 USART4_IRQHandler 25 #define UART5_IRQHandler USART5_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 .dmamux_channel = UART1_RX_DMA_MUX_CHANNEL, \ 45 .request_id = UART1_RX_DMA_REQ_ID, \ 46 } 47 #endif /* BSP_UART1_RX_USING_DMA */ 48 49 #if defined(BSP_UART1_TX_USING_DMA) 50 #define UART1_TX_DMA_CONFIG \ 51 { \ 52 .dma_channel = UART1_TX_DMA_CHANNEL, \ 53 .dma_clock = UART1_TX_DMA_CLOCK, \ 54 .dma_irqn = UART1_TX_DMA_IRQ, \ 55 .dmamux_channel = UART1_TX_DMA_MUX_CHANNEL, \ 56 .request_id = UART1_TX_DMA_REQ_ID, \ 57 } 58 #endif /* BSP_UART1_TX_USING_DMA */ 59 #endif /* BSP_USING_UART1 */ 60 61 #if defined(BSP_USING_UART2) 62 #define UART2_CONFIG \ 63 { \ 64 .name = "uart2", \ 65 .uart_x = USART2, \ 66 .irqn = USART2_IRQn, \ 67 } 68 69 #if defined(BSP_UART2_RX_USING_DMA) 70 #define UART2_RX_DMA_CONFIG \ 71 { \ 72 .dma_channel = UART2_RX_DMA_CHANNEL, \ 73 .dma_clock = UART2_RX_DMA_CLOCK, \ 74 .dma_irqn = UART2_RX_DMA_IRQ, \ 75 .dmamux_channel = UART2_RX_DMA_MUX_CHANNEL, \ 76 .request_id = UART2_RX_DMA_REQ_ID, \ 77 } 78 #endif /* BSP_UART2_RX_USING_DMA */ 79 80 #if defined(BSP_UART2_TX_USING_DMA) 81 #define UART2_TX_DMA_CONFIG \ 82 { \ 83 .dma_channel = UART2_TX_DMA_CHANNEL, \ 84 .dma_clock = UART2_TX_DMA_CLOCK, \ 85 .dma_irqn = UART2_TX_DMA_IRQ, \ 86 .dmamux_channel = UART2_TX_DMA_MUX_CHANNEL, \ 87 .request_id = UART2_TX_DMA_REQ_ID, \ 88 } 89 #endif /* BSP_UART2_TX_USING_DMA */ 90 #endif /* BSP_USING_UART2 */ 91 92 #if defined(BSP_USING_UART3) 93 #define UART3_CONFIG \ 94 { \ 95 .name = "uart3", \ 96 .uart_x = USART3, \ 97 .irqn = USART3_IRQn, \ 98 } 99 100 #if defined(BSP_UART3_RX_USING_DMA) 101 #define UART3_RX_DMA_CONFIG \ 102 { \ 103 .dma_channel = UART3_RX_DMA_CHANNEL, \ 104 .dma_clock = UART3_RX_DMA_CLOCK, \ 105 .dma_irqn = UART3_RX_DMA_IRQ, \ 106 .dmamux_channel = UART3_RX_DMA_MUX_CHANNEL, \ 107 .request_id = UART3_RX_DMA_REQ_ID, \ 108 } 109 #endif /* BSP_UART3_RX_USING_DMA */ 110 111 #if defined(BSP_UART3_TX_USING_DMA) 112 #define UART3_TX_DMA_CONFIG \ 113 { \ 114 .dma_channel = UART3_TX_DMA_CHANNEL, \ 115 .dma_clock = UART3_TX_DMA_CLOCK, \ 116 .dma_irqn = UART3_TX_DMA_IRQ, \ 117 .dmamux_channel = UART3_TX_DMA_MUX_CHANNEL, \ 118 .request_id = UART3_TX_DMA_REQ_ID, \ 119 } 120 #endif /* BSP_UART3_TX_USING_DMA */ 121 #endif /* BSP_USING_UART3 */ 122 123 #if defined(BSP_USING_UART4) 124 #define UART4_CONFIG \ 125 { \ 126 .name = "uart4", \ 127 .uart_x = USART4, \ 128 .irqn = USART4_IRQn, \ 129 } 130 131 #if defined(BSP_UART4_RX_USING_DMA) 132 #define UART4_RX_DMA_CONFIG \ 133 { \ 134 .dma_channel = UART4_RX_DMA_CHANNEL, \ 135 .dma_clock = UART4_RX_DMA_CLOCK, \ 136 .dma_irqn = UART4_RX_DMA_IRQ, \ 137 .dmamux_channel = UART4_RX_DMA_MUX_CHANNEL, \ 138 .request_id = UART4_RX_DMA_REQ_ID, \ 139 } 140 #endif /* BSP_UART4_RX_USING_DMA */ 141 142 #if defined(BSP_UART4_TX_USING_DMA) 143 #define UART4_TX_DMA_CONFIG \ 144 { \ 145 .dma_channel = UART4_TX_DMA_CHANNEL, \ 146 .dma_clock = UART4_TX_DMA_CLOCK, \ 147 .dma_irqn = UART4_TX_DMA_IRQ, \ 148 .dmamux_channel = UART4_TX_DMA_MUX_CHANNEL, \ 149 .request_id = UART4_TX_DMA_REQ_ID, \ 150 } 151 #endif /* BSP_UART4_TX_USING_DMA */ 152 #endif /* BSP_USING_UART4 */ 153 154 #if defined(BSP_USING_UART5) 155 #define UART5_CONFIG \ 156 { \ 157 .name = "uart5", \ 158 .uart_x = USART5, \ 159 .irqn = USART5_IRQn, \ 160 } 161 162 #if defined(BSP_UART5_RX_USING_DMA) 163 #define UART5_RX_DMA_CONFIG \ 164 { \ 165 .dma_channel = UART5_RX_DMA_CHANNEL, \ 166 .dma_clock = UART5_RX_DMA_CLOCK, \ 167 .dma_irqn = UART5_RX_DMA_IRQ, \ 168 .dmamux_channel = UART5_RX_DMA_MUX_CHANNEL, \ 169 .request_id = UART5_RX_DMA_REQ_ID, \ 170 } 171 #endif /* BSP_UART5_RX_USING_DMA */ 172 173 #if defined(BSP_UART5_TX_USING_DMA) 174 #define UART5_TX_DMA_CONFIG \ 175 { \ 176 .dma_channel = UART5_TX_DMA_CHANNEL, \ 177 .dma_clock = UART5_TX_DMA_CLOCK, \ 178 .dma_irqn = UART5_TX_DMA_IRQ, \ 179 .dmamux_channel = UART5_TX_DMA_MUX_CHANNEL, \ 180 .request_id = UART5_TX_DMA_REQ_ID, \ 181 } 182 #endif /* BSP_UART5_TX_USING_DMA */ 183 #endif /* BSP_USING_UART5 */ 184 185 #if defined(BSP_USING_UART6) 186 #define UART6_CONFIG \ 187 { \ 188 .name = "uart6", \ 189 .uart_x = USART6, \ 190 .irqn = USART6_IRQn, \ 191 } 192 193 #if defined(BSP_UART6_RX_USING_DMA) 194 #define UART6_RX_DMA_CONFIG \ 195 { \ 196 .dma_channel = UART6_RX_DMA_CHANNEL, \ 197 .dma_clock = UART6_RX_DMA_CLOCK, \ 198 .dma_irqn = UART6_RX_DMA_IRQ, \ 199 .dmamux_channel = UART6_RX_DMA_MUX_CHANNEL, \ 200 .request_id = UART6_RX_DMA_REQ_ID, \ 201 } 202 #endif /* BSP_UART6_RX_USING_DMA */ 203 204 #if defined(BSP_UART6_TX_USING_DMA) 205 #define UART6_TX_DMA_CONFIG \ 206 { \ 207 .dma_channel = UART6_TX_DMA_CHANNEL, \ 208 .dma_clock = UART6_TX_DMA_CLOCK, \ 209 .dma_irqn = UART6_TX_DMA_IRQ, \ 210 .dmamux_channel = UART6_TX_DMA_MUX_CHANNEL, \ 211 .request_id = UART6_TX_DMA_REQ_ID, \ 212 } 213 #endif /* BSP_UART6_TX_USING_DMA */ 214 #endif /* BSP_USING_UART6 */ 215 216 #if defined(BSP_USING_UART7) 217 #define UART7_CONFIG \ 218 { \ 219 .name = "uart7", \ 220 .uart_x = UART7, \ 221 .irqn = UART7_IRQn, \ 222 } 223 224 #if defined(BSP_UART7_RX_USING_DMA) 225 #define UART7_RX_DMA_CONFIG \ 226 { \ 227 .dma_channel = UART7_RX_DMA_CHANNEL, \ 228 .dma_clock = UART7_RX_DMA_CLOCK, \ 229 .dma_irqn = UART7_RX_DMA_IRQ, \ 230 .dmamux_channel = UART7_RX_DMA_MUX_CHANNEL, \ 231 .request_id = UART7_RX_DMA_REQ_ID, \ 232 } 233 #endif /* BSP_UART7_RX_USING_DMA */ 234 235 #if defined(BSP_UART7_TX_USING_DMA) 236 #define UART7_TX_DMA_CONFIG \ 237 { \ 238 .dma_channel = UART7_TX_DMA_CHANNEL, \ 239 .dma_clock = UART7_TX_DMA_CLOCK, \ 240 .dma_irqn = UART7_TX_DMA_IRQ, \ 241 .dmamux_channel = UART7_TX_DMA_MUX_CHANNEL, \ 242 .request_id = UART7_TX_DMA_REQ_ID, \ 243 } 244 #endif /* BSP_UART7_TX_USING_DMA */ 245 #endif /* BSP_USING_UART7 */ 246 247 #if defined(BSP_USING_UART8) 248 #define UART8_CONFIG \ 249 { \ 250 .name = "uart8", \ 251 .uart_x = UART8, \ 252 .irqn = UART8_IRQn, \ 253 } 254 #endif /* BSP_USING_UART8 */ 255 256 #ifdef __cplusplus 257 } 258 #endif 259 260 #endif 261