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