1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2018-10-30     SummerGift   first version
9  * 2019-01-03     zylx         modify dma support
10  */
11 
12 #ifndef __UART_CONFIG_H__
13 #define __UART_CONFIG_H__
14 
15 #include <rtthread.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #if defined(BSP_USING_UART1)
22 #ifndef UART1_CONFIG
23 #define UART1_CONFIG                                                \
24     {                                                               \
25         .name = "uart1",                                            \
26         .Instance = USART1,                                         \
27         .irq_type = USART1_IRQn,                                    \
28     }
29 #endif /* UART1_CONFIG */
30 
31 #if defined(BSP_UART1_RX_USING_DMA)
32 #ifndef UART1_DMA_RX_CONFIG
33 #define UART1_DMA_RX_CONFIG                                        \
34     {                                                              \
35         .Instance = UART1_RX_DMA_INSTANCE,                         \
36         .channel = UART1_RX_DMA_CHANNEL,                           \
37         .dma_rcc = UART1_RX_DMA_RCC,                               \
38         .dma_irq = UART1_RX_DMA_IRQ,                               \
39     }
40 #endif /* UART1_DMA_RX_CONFIG */
41 #endif /* BSP_UART1_RX_USING_DMA */
42 
43 #if defined(BSP_UART1_TX_USING_DMA)
44 #ifndef UART1_DMA_TX_CONFIG
45 #define UART1_DMA_TX_CONFIG                                        \
46     {                                                              \
47         .Instance = UART1_TX_DMA_INSTANCE,                         \
48         .channel = UART1_TX_DMA_CHANNEL,                           \
49         .dma_rcc = UART1_TX_DMA_RCC,                               \
50         .dma_irq = UART1_TX_DMA_IRQ,                               \
51     }
52 #endif /* UART1_DMA_TX_CONFIG */
53 #endif /* BSP_UART1_TX_USING_DMA */
54 #endif /* BSP_USING_UART1 */
55 
56 #if defined(BSP_USING_UART2)
57 #ifndef UART2_CONFIG
58 #define UART2_CONFIG                                                \
59     {                                                               \
60         .name = "uart2",                                            \
61         .Instance = USART2,                                         \
62         .irq_type = USART2_IRQn,                                    \
63     }
64 #endif /* UART2_CONFIG */
65 
66 #if defined(BSP_UART2_RX_USING_DMA)
67 #ifndef UART2_DMA_RX_CONFIG
68 #define UART2_DMA_RX_CONFIG                                        \
69     {                                                              \
70         .Instance = UART2_RX_DMA_INSTANCE,                         \
71         .channel = UART2_RX_DMA_CHANNEL,                           \
72         .dma_rcc = UART2_RX_DMA_RCC,                               \
73         .dma_irq = UART2_RX_DMA_IRQ,                               \
74     }
75 #endif /* UART2_DMA_RX_CONFIG */
76 #endif /* BSP_UART2_RX_USING_DMA */
77 
78 #if defined(BSP_UART2_TX_USING_DMA)
79 #ifndef UART2_DMA_TX_CONFIG
80 #define UART2_DMA_TX_CONFIG                                        \
81     {                                                              \
82         .Instance = UART2_TX_DMA_INSTANCE,                         \
83         .channel = UART2_TX_DMA_CHANNEL,                           \
84         .dma_rcc = UART2_TX_DMA_RCC,                               \
85         .dma_irq = UART2_TX_DMA_IRQ,                               \
86     }
87 #endif /* UART2_DMA_TX_CONFIG */
88 #endif /* BSP_UART2_TX_USING_DMA */
89 #endif /* BSP_USING_UART2 */
90 
91 #if defined(BSP_USING_UART3)
92 #ifndef UART3_CONFIG
93 #define UART3_CONFIG                                                \
94     {                                                               \
95         .name = "uart3",                                            \
96         .Instance = USART3,                                         \
97         .irq_type = USART3_IRQn,                                    \
98     }
99 #endif /* UART3_CONFIG */
100 
101 #if defined(BSP_UART3_RX_USING_DMA)
102 #ifndef UART3_DMA_RX_CONFIG
103 #define UART3_DMA_RX_CONFIG                                        \
104     {                                                              \
105         .Instance = UART3_RX_DMA_INSTANCE,                         \
106         .channel = UART3_RX_DMA_CHANNEL,                           \
107         .dma_rcc = UART3_RX_DMA_RCC,                               \
108         .dma_irq = UART3_RX_DMA_IRQ,                               \
109     }
110 #endif /* UART3_DMA_RX_CONFIG */
111 #endif /* BSP_UART3_RX_USING_DMA */
112 
113 #if defined(BSP_UART3_TX_USING_DMA)
114 #ifndef UART3_DMA_TX_CONFIG
115 #define UART3_DMA_TX_CONFIG                                        \
116     {                                                              \
117         .Instance = UART3_TX_DMA_INSTANCE,                         \
118         .channel = UART3_TX_DMA_CHANNEL,                           \
119         .dma_rcc = UART3_TX_DMA_RCC,                               \
120         .dma_irq = UART3_TX_DMA_IRQ,                               \
121     }
122 #endif /* UART3_DMA_TX_CONFIG */
123 #endif /* BSP_UART3_TX_USING_DMA */
124 #endif /* BSP_USING_UART3 */
125 
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 #endif
131