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  * 2020-10-14     Dozingfiretruck   first version
9  */
10 
11 #ifndef __UART_CONFIG_H__
12 #define __UART_CONFIG_H__
13 
14 #include <rtthread.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #if defined(BSP_USING_LPUART1)
21 #ifndef LPUART1_CONFIG
22 #define LPUART1_CONFIG                                              \
23     {                                                               \
24         .name = "lpuart1",                                          \
25         .Instance = LPUART1,                                        \
26         .irq_type = LPUART1_IRQn,                                   \
27     }
28 #endif /* LPUART1_CONFIG */
29 #if defined(BSP_LPUART1_RX_USING_DMA)
30 #ifndef LPUART1_DMA_CONFIG
31 #define LPUART1_DMA_CONFIG                                          \
32     {                                                               \
33         .Instance = LPUART1_RX_DMA_INSTANCE,                        \
34         .request  = LPUART1_RX_DMA_REQUEST,                         \
35         .dma_rcc  = LPUART1_RX_DMA_RCC,                             \
36         .dma_irq  = LPUART1_RX_DMA_IRQ,                             \
37     }
38 #endif /* LPUART1_DMA_CONFIG */
39 #endif /* BSP_LPUART1_RX_USING_DMA */
40 #endif /* BSP_USING_LPUART1 */
41 
42 #if defined(BSP_USING_UART1)
43 #ifndef UART1_CONFIG
44 #define UART1_CONFIG                                                \
45     {                                                               \
46         .name = "uart1",                                            \
47         .Instance = USART1,                                         \
48         .irq_type = USART1_IRQn,                                    \
49     }
50 #endif /* UART1_CONFIG */
51 #endif /* BSP_USING_UART1 */
52 
53 #if defined(BSP_UART1_RX_USING_DMA)
54 #ifndef UART1_DMA_RX_CONFIG
55 #define UART1_DMA_RX_CONFIG                                            \
56     {                                                               \
57         .Instance = UART1_RX_DMA_INSTANCE,                          \
58         .request  = UART1_RX_DMA_REQUEST,                           \
59         .dma_rcc  = UART1_RX_DMA_RCC,                               \
60         .dma_irq  = UART1_RX_DMA_IRQ,                               \
61     }
62 #endif /* UART1_DMA_RX_CONFIG */
63 #endif /* BSP_UART1_RX_USING_DMA */
64 
65 #if defined(BSP_UART1_TX_USING_DMA)
66 #ifndef UART1_DMA_TX_CONFIG
67 #define UART1_DMA_TX_CONFIG                                            \
68     {                                                               \
69         .Instance = UART1_TX_DMA_INSTANCE,                          \
70         .request  = UART1_TX_DMA_REQUEST,                           \
71         .dma_rcc  = UART1_TX_DMA_RCC,                               \
72         .dma_irq  = UART1_TX_DMA_IRQ,                               \
73     }
74 #endif /* UART1_DMA_TX_CONFIG */
75 #endif /* BSP_UART1_TX_USING_DMA */
76 
77 #if defined(BSP_USING_UART2)
78 #ifndef UART2_CONFIG
79 #define UART2_CONFIG                                                \
80     {                                                               \
81         .name = "uart2",                                            \
82         .Instance = USART2,                                         \
83         .irq_type = USART2_IRQn,                                    \
84     }
85 #endif /* UART2_CONFIG */
86 #endif /* BSP_USING_UART2 */
87 
88 #if defined(BSP_UART2_RX_USING_DMA)
89 #ifndef UART2_DMA_RX_CONFIG
90 #define UART2_DMA_RX_CONFIG                                            \
91     {                                                               \
92         .Instance = UART2_RX_DMA_INSTANCE,                          \
93         .request  = UART2_RX_DMA_REQUEST,                           \
94         .dma_rcc  = UART2_RX_DMA_RCC,                               \
95         .dma_irq  = UART2_RX_DMA_IRQ,                               \
96     }
97 #endif /* UART2_DMA_RX_CONFIG */
98 #endif /* BSP_UART2_RX_USING_DMA */
99 
100 #if defined(BSP_UART2_TX_USING_DMA)
101 #ifndef UART2_DMA_TX_CONFIG
102 #define UART2_DMA_TX_CONFIG                                            \
103     {                                                               \
104         .Instance = UART2_TX_DMA_INSTANCE,                          \
105         .request  = UART2_TX_DMA_REQUEST,                           \
106         .dma_rcc  = UART2_TX_DMA_RCC,                               \
107         .dma_irq  = UART2_TX_DMA_IRQ,                               \
108     }
109 #endif /* UART2_DMA_TX_CONFIG */
110 #endif /* BSP_UART2_TX_USING_DMA */
111 
112 #if defined(BSP_USING_UART3)
113 #ifndef UART3_CONFIG
114 #define UART3_CONFIG                                                \
115     {                                                               \
116         .name = "uart3",                                            \
117         .Instance = USART3,                                         \
118         .irq_type = USART3_IRQn,                                    \
119     }
120 #endif /* UART3_CONFIG */
121 #endif /* BSP_USING_UART3 */
122 
123 #if defined(BSP_UART3_RX_USING_DMA)
124 #ifndef UART3_DMA_RX_CONFIG
125 #define UART3_DMA_RX_CONFIG                                            \
126     {                                                               \
127         .Instance = UART3_RX_DMA_INSTANCE,                          \
128         .request  = UART3_RX_DMA_REQUEST,                           \
129         .dma_rcc  = UART3_RX_DMA_RCC,                               \
130         .dma_irq  = UART3_RX_DMA_IRQ,                               \
131     }
132 #endif /* UART3_DMA_RX_CONFIG */
133 #endif /* BSP_UART3_RX_USING_DMA */
134 
135 #if defined(BSP_UART3_TX_USING_DMA)
136 #ifndef UART3_DMA_TX_CONFIG
137 #define UART3_DMA_TX_CONFIG                                            \
138     {                                                               \
139         .Instance = UART3_TX_DMA_INSTANCE,                          \
140         .request  = UART3_TX_DMA_REQUEST,                           \
141         .dma_rcc  = UART3_TX_DMA_RCC,                               \
142         .dma_irq  = UART3_TX_DMA_IRQ,                               \
143     }
144 #endif /* UART3_DMA_TX_CONFIG */
145 #endif /* BSP_UART3_TX_USING_DMA */
146 
147 #ifdef __cplusplus
148 }
149 #endif
150 
151 #endif
152