Skip to content

Commit d64a7e0

Browse files
authored
Merge pull request #3530 from tekkamanninja/k210_drv_uart_upstream
K210 drv uart upstream
2 parents bc7d903 + 609911b commit d64a7e0

File tree

3 files changed

+314
-43
lines changed

3 files changed

+314
-43
lines changed

bsp/k210/driver/Kconfig

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,44 @@ config BSP_USING_UART_HS
22
bool "Enable High Speed UART"
33
default y
44

5-
config BSP_USING_UART1
6-
bool "Enable UART1 (GPIO0/1)"
5+
menu "General Purpose UARTs"
6+
7+
menuconfig BSP_USING_UART1
8+
bool "Enable UART1"
79
default n
10+
if BSP_USING_UART1
11+
config BSP_UART1_TXD_PIN
12+
int "uart1 TXD pin number"
13+
default 20
14+
config BSP_UART1_RXD_PIN
15+
int "uart1 RXD pin number"
16+
default 21
17+
endif
818

9-
config BSP_USING_UART2
10-
bool "Enable UART2 (GPIO0/1)"
19+
menuconfig BSP_USING_UART2
20+
bool "Enable UART2"
1121
default n
22+
if BSP_USING_UART2
23+
config BSP_UART2_TXD_PIN
24+
int "uart2 TXD pin number"
25+
default 28
26+
config BSP_UART2_RXD_PIN
27+
int "uart2 RXD pin number"
28+
default 27
29+
endif
1230

13-
config BSP_USING_UART3
14-
bool "Enable UART3 (GPIO0/1)"
31+
menuconfig BSP_USING_UART3
32+
bool "Enable UART3"
1533
default n
34+
if BSP_USING_UART3
35+
config BSP_UART3_TXD_PIN
36+
int "uart3 TXD pin number"
37+
default 22
38+
config BSP_UART3_RXD_PIN
39+
int "uart3 RXD pin number"
40+
default 23
41+
endif
42+
endmenu
1643

1744
config BSP_USING_I2C1
1845
bool "Enable I2C1 (GPIO0/1)"

bsp/k210/driver/drv_io_config.c

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,18 @@ static struct io_config
6363
#endif
6464
#endif
6565

66+
#ifdef BSP_USING_UART1
67+
IOCONFIG(BSP_UART1_TXD_PIN, FUNC_UART1_TX),
68+
IOCONFIG(BSP_UART1_RXD_PIN, FUNC_UART1_RX),
69+
#endif
70+
#ifdef BSP_USING_UART2
71+
IOCONFIG(BSP_UART2_TXD_PIN, FUNC_UART2_TX),
72+
IOCONFIG(BSP_UART2_RXD_PIN, FUNC_UART2_RX),
73+
#endif
74+
#ifdef BSP_USING_UART3
75+
IOCONFIG(BSP_UART3_TXD_PIN, FUNC_UART3_TX),
76+
IOCONFIG(BSP_UART3_RXD_PIN, FUNC_UART3_RX),
77+
#endif
6678
};
6779

6880
static int print_io_config()
@@ -89,7 +101,15 @@ int io_config_init(void)
89101
sysctl_set_power_mode(SYSCTL_POWER_BANK0, SYSCTL_POWER_V18);
90102
sysctl_set_power_mode(SYSCTL_POWER_BANK1, SYSCTL_POWER_V18);
91103
sysctl_set_power_mode(SYSCTL_POWER_BANK2, SYSCTL_POWER_V18);
92-
104+
#ifdef BSP_USING_UART2
105+
// for IO-27/28
106+
sysctl_set_power_mode(SYSCTL_POWER_BANK4, SYSCTL_POWER_V33);
107+
#endif
108+
#if defined(BSP_USING_UART1) || defined(BSP_USING_UART3)
109+
// for IO-20~23
110+
sysctl_set_power_mode(SYSCTL_POWER_BANK3, SYSCTL_POWER_V33);
111+
#endif
112+
93113
for(i = 0; i < count; i++)
94114
{
95115
fpioa_set_function(io_config[i].io_num, io_config[i].func);

0 commit comments

Comments
 (0)