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-05     zylx         modify dma support
10  * 2020-05-02     whj4674672   support stm32h7 uart dma
11  */
12 
13 #ifndef __UART_CONFIG_H__
14 #define __UART_CONFIG_H__
15 
16 #include <rtthread.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #if defined(BSP_USING_UART1)
23 #ifndef UART1_CONFIG
24 #define UART1_CONFIG                                                \
25     {                                                               \
26         .name = "uart1",                                            \
27         .Instance = USART1,                                         \
28         .irq_type = USART1_IRQn,                                    \
29     }
30 #endif /* UART1_CONFIG */
31 #endif /* BSP_USING_UART1 */
32 
33 #if defined(BSP_UART1_RX_USING_DMA)
34 #ifndef UART1_DMA_RX_CONFIG
35 #define UART1_DMA_RX_CONFIG                                         \
36     {                                                               \
37         .Instance = UART1_RX_DMA_INSTANCE,                          \
38         .request = UART1_RX_DMA_REQUEST,                            \
39         .dma_rcc = UART1_RX_DMA_RCC,                                \
40         .dma_irq = UART1_RX_DMA_IRQ,                                \
41     }
42 #endif /* UART1_DMA_RX_CONFIG */
43 #endif /* BSP_UART1_RX_USING_DMA */
44 
45 #if defined(BSP_USING_UART2)
46 #ifndef UART2_CONFIG
47 #define UART2_CONFIG                                                \
48     {                                                               \
49         .name = "uart2",                                            \
50         .Instance = USART2,                                         \
51         .irq_type = USART2_IRQn,                                    \
52     }
53 #endif /* UART2_CONFIG */
54 #endif /* BSP_USING_UART2 */
55 
56 #if defined(BSP_UART2_RX_USING_DMA)
57 #ifndef UART2_DMA_RX_CONFIG
58 #define UART2_DMA_RX_CONFIG                                         \
59     {                                                               \
60         .Instance = UART2_RX_DMA_INSTANCE,                          \
61         .request = UART2_RX_DMA_REQUEST,                            \
62         .dma_rcc = UART2_RX_DMA_RCC,                                \
63         .dma_irq = UART2_RX_DMA_IRQ,                                \
64     }
65 #endif /* UART2_DMA_RX_CONFIG */
66 #endif /* BSP_UART2_RX_USING_DMA */
67 #if defined(BSP_UART2_TX_USING_DMA)
68 #ifndef UART2_DMA_TX_CONFIG
69 #define UART2_DMA_TX_CONFIG                                         \
70     {                                                               \
71         .Instance = UART2_TX_DMA_INSTANCE,                          \
72         .request = UART2_TX_DMA_REQUEST,                            \
73         .dma_rcc = UART2_TX_DMA_RCC,                                \
74         .dma_irq = UART2_TX_DMA_IRQ,                                \
75     }
76 #endif /* UART2_DMA_TX_CONFIG */
77 #endif /* BSP_UART2_TX_USING_DMA */
78 
79 #if defined(BSP_USING_UART3)
80 #ifndef UART3_CONFIG
81 #define UART3_CONFIG                                                \
82     {                                                               \
83         .name = "uart3",                                            \
84         .Instance = USART3,                                         \
85         .irq_type = USART3_IRQn,                                    \
86     }
87 #endif /* UART3_CONFIG */
88 #endif /* BSP_USING_UART3 */
89 
90 #if defined(BSP_UART3_RX_USING_DMA)
91 #ifndef UART3_DMA_RX_CONFIG
92 #define UART3_DMA_RX_CONFIG                                         \
93     {                                                               \
94         .Instance = UART3_RX_DMA_INSTANCE,                          \
95         .request = UART3_RX_DMA_REQUEST,                            \
96         .dma_rcc = UART3_RX_DMA_RCC,                                \
97         .dma_irq = UART3_RX_DMA_IRQ,                                \
98     }
99 #endif /* UART3_DMA_RX_CONFIG */
100 #endif /* BSP_UART3_RX_USING_DMA */
101 
102 #if defined(BSP_USING_UART4)
103 #ifndef UART4_CONFIG
104 #define UART4_CONFIG                                                \
105     {                                                               \
106         .name = "uart4",                                            \
107         .Instance = UART4,                                          \
108         .irq_type = UART4_IRQn,                                     \
109     }
110 #endif /* UART4_CONFIG */
111 #endif /* BSP_USING_UART4 */
112 
113 #if defined(BSP_UART4_RX_USING_DMA)
114 #ifndef UART4_DMA_RX_CONFIG
115 #define UART4_DMA_RX_CONFIG                                         \
116     {                                                               \
117         .Instance = UART4_RX_DMA_INSTANCE,                          \
118         .request = UART4_RX_DMA_REQUEST,                            \
119         .dma_rcc = UART4_RX_DMA_RCC,                                \
120         .dma_irq = UART4_RX_DMA_IRQ,                                \
121     }
122 #endif /* UART4_DMA_RX_CONFIG */
123 #endif /* BSP_UART4_RX_USING_DMA */
124 
125 #if defined(BSP_USING_UART5)
126 #ifndef UART5_CONFIG
127 #define UART5_CONFIG                                                \
128     {                                                               \
129         .name = "uart5",                                            \
130         .Instance = UART5,                                          \
131         .irq_type = UART5_IRQn,                                     \
132     }
133 #endif /* UART5_CONFIG */
134 #endif /* BSP_USING_UART5 */
135 
136 #if defined(BSP_UART5_RX_USING_DMA)
137 #ifndef UART5_DMA_RX_CONFIG
138 #define UART5_DMA_RX_CONFIG                                         \
139     {                                                               \
140         .Instance = UART5_RX_DMA_INSTANCE,                          \
141         .request = UART5_RX_DMA_REQUEST,                            \
142         .dma_rcc = UART5_RX_DMA_RCC,                                \
143         .dma_irq = UART5_RX_DMA_IRQ,                                \
144     }
145 #endif /* UART5_DMA_RX_CONFIG */
146 #endif /* BSP_UART5_RX_USING_DMA */
147 
148 #ifdef __cplusplus
149 }
150 #endif
151 
152 #endif
153