Skip to content

Commit 98b9ecd

Browse files
kurisaWRbb666
authored andcommitted
[gd32/arm][drivers]: general GD serial driver adapter
1 parent d32ed6a commit 98b9ecd

File tree

4 files changed

+267
-310
lines changed

4 files changed

+267
-310
lines changed

bsp/gd32/arm/libraries/gd32_drivers/SConscript

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ if GetDepend('BSP_USING_SDRAM'):
6565
src += ['drv_sdram.c']
6666

6767
path = [cwd]
68+
path += [cwd + "/config"]
6869

6970
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
7071

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
/*
2+
* Copyright (c) 2006-2025, RT-Thread Development Team
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*
6+
* Change Logs:
7+
* Date Author Notes
8+
* 2025-10-09 WangShun optimize the serial driver
9+
* 2025-11-13 kurisaw general GD driver adaptation
10+
*/
11+
12+
#ifndef __UART_CONFIG_H__
13+
#define __UART_CONFIG_H__
14+
15+
#include <rtthread.h>
16+
#include <board.h>
17+
18+
#ifdef __cplusplus
19+
extern "C" {
20+
#endif
21+
22+
#if defined(BSP_USING_UART0)
23+
#ifndef UART0_CONFIG
24+
#define UART0_CONFIG \
25+
{ \
26+
.uart_periph = USART0, \
27+
.irqn = USART0_IRQn, \
28+
.per_clk = RCU_USART0, \
29+
.tx_pin_name = BSP_UART0_TX_PIN, \
30+
.rx_pin_name = BSP_UART0_RX_PIN, \
31+
.alternate = BSP_UART0_AFIO, \
32+
.serial = &serial0, \
33+
.device_name = "uart0", \
34+
}
35+
#endif /* UART0_CONFIG */
36+
#endif /* BSP_USING_UART0 */
37+
38+
#if defined(BSP_USING_UART1)
39+
#ifndef UART1_CONFIG
40+
#define UART1_CONFIG \
41+
{ \
42+
.uart_periph = USART1, \
43+
.irqn = USART1_IRQn, \
44+
.per_clk = RCU_USART1, \
45+
.tx_pin_name = BSP_UART1_TX_PIN, \
46+
.rx_pin_name = BSP_UART1_RX_PIN, \
47+
.alternate = BSP_UART1_AFIO, \
48+
.serial = &serial1, \
49+
.device_name = "uart1", \
50+
}
51+
#endif /* UART1_CONFIG */
52+
#endif /* BSP_USING_UART1 */
53+
54+
#if defined(BSP_USING_UART2)
55+
#ifndef UART2_CONFIG
56+
#define UART2_CONFIG \
57+
{ \
58+
.uart_periph = USART2, \
59+
.irqn = USART2_IRQn, \
60+
.per_clk = RCU_USART2, \
61+
.tx_pin_name = BSP_UART2_TX_PIN, \
62+
.rx_pin_name = BSP_UART2_RX_PIN, \
63+
.alternate = BSP_UART2_AFIO, \
64+
.serial = &serial2, \
65+
.device_name = "uart2", \
66+
}
67+
#endif /* UART2_CONFIG */
68+
#endif /* BSP_USING_UART2 */
69+
70+
#if defined(BSP_USING_UART3)
71+
#ifndef UART3_CONFIG
72+
#define UART3_CONFIG \
73+
{ \
74+
.uart_periph = UART3, \
75+
.irqn = UART3_IRQn, \
76+
.per_clk = RCU_UART3, \
77+
.tx_pin_name = BSP_UART3_TX_PIN, \
78+
.rx_pin_name = BSP_UART3_RX_PIN, \
79+
.alternate = BSP_UART3_AFIO, \
80+
.serial = &serial3, \
81+
.device_name = "uart3", \
82+
}
83+
#endif /* UART3_CONFIG */
84+
#endif /* BSP_USING_UART3 */
85+
86+
#if defined(BSP_USING_UART4)
87+
#ifndef UART4_CONFIG
88+
#define UART4_CONFIG \
89+
{ \
90+
.uart_periph = UART4, \
91+
.irqn = UART4_IRQn, \
92+
.per_clk = RCU_UART4, \
93+
.tx_pin_name = BSP_UART4_TX_PIN, \
94+
.rx_pin_name = BSP_UART4_RX_PIN, \
95+
.alternate = BSP_UART4_AFIO, \
96+
.serial = &serial4, \
97+
.device_name = "uart4", \
98+
}
99+
#endif /* UART4_CONFIG */
100+
#endif /* BSP_USING_UART4 */
101+
102+
#if defined(BSP_USING_UART5)
103+
#ifndef UART5_CONFIG
104+
#define UART5_CONFIG \
105+
{ \
106+
.uart_periph = USART5, \
107+
.irqn = USART5_IRQn, \
108+
.per_clk = RCU_USART5, \
109+
.tx_pin_name = BSP_UART5_TX_PIN, \
110+
.rx_pin_name = BSP_UART5_RX_PIN, \
111+
.alternate = BSP_UART5_AFIO, \
112+
.serial = &serial5, \
113+
.device_name = "uart5", \
114+
}
115+
#endif /* UART5_CONFIG */
116+
#endif /* BSP_USING_UART5 */
117+
118+
#if defined(BSP_USING_UART6)
119+
#ifndef UART6_CONFIG
120+
#define UART6_CONFIG \
121+
{ \
122+
.uart_periph = UART6, \
123+
.irqn = UART6_IRQn, \
124+
.per_clk = RCU_UART6, \
125+
.tx_pin_name = BSP_UART6_TX_PIN, \
126+
.rx_pin_name = BSP_UART6_RX_PIN, \
127+
.alternate = BSP_UART6_AFIO, \
128+
.serial = &serial6, \
129+
.device_name = "uart6", \
130+
}
131+
#endif /* UART6_CONFIG */
132+
#endif /* BSP_USING_UART6 */
133+
134+
#if defined(BSP_USING_UART7)
135+
#ifndef UART7_CONFIG
136+
#define UART7_CONFIG \
137+
{ \
138+
.uart_periph = UART7, \
139+
.irqn = UART7_IRQn, \
140+
.per_clk = RCU_UART7, \
141+
.tx_pin_name = BSP_UART7_TX_PIN, \
142+
.rx_pin_name = BSP_UART7_RX_PIN, \
143+
.alternate = BSP_UART7_AFIO, \
144+
.serial = &serial7, \
145+
.device_name = "uart7", \
146+
}
147+
#endif /* UART7_CONFIG */
148+
#endif /* BSP_USING_UART7 */
149+
150+
#ifdef __cplusplus
151+
}
152+
#endif
153+
154+
#endif /* __UART_CONFIG_H__ */
155+

0 commit comments

Comments
 (0)