support uart1-uart3 for k210 on Nuttx

This commit is contained in:
wgzAIIT
2022-09-27 20:54:22 +08:00
parent 3bec8f496a
commit 281389af1c
13 changed files with 8683 additions and 119 deletions
@@ -79,6 +79,26 @@ extern "C"
#define EXTERN extern
#endif
#define GPIO_CAN_RXD 18
#define GPIO_CAN_TXD 19
#define GPIO_EC200T_RXD 21
#define GPIO_EC200T_TXD 20
#define GPIO_CH376T_RXD 22
#define GPIO_CH376T_TXD 23
#define FPOA_USART1_RX K210_IO_FUNC_UART1_RX
#define FPOA_USART1_TX K210_IO_FUNC_UART1_TX
#define FPOA_USART2_RX K210_IO_FUNC_UART2_RX
#define FPOA_USART2_TX K210_IO_FUNC_UART2_TX
#define FPOA_USART3_RX K210_IO_FUNC_UART3_RX
#define FPOA_USART3_TX K210_IO_FUNC_UART3_TX
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
@@ -36,6 +36,8 @@
#include "k210.h"
#include "k210_clockconfig.h"
#include "xidatong-riscv64.h"
#include <arch/board/board.h>
#include "k210_sysctl.h"
#ifdef CONFIG_BSP_USING_CH438
# include "k210_ch438.h"
@@ -85,5 +87,31 @@ int k210_bringup(void)
}
#endif
#ifdef CONFIG_K210_16550_UART1
sysctl_clock_enable(SYSCTL_CLOCK_UART1);
sysctl_reset(SYSCTL_RESET_UART1);
fpioa_set_function(GPIO_CAN_RXD, FPOA_USART1_RX);
fpioa_set_function(GPIO_CAN_TXD, FPOA_USART1_TX);
#endif
#ifdef CONFIG_K210_16550_UART2
sysctl_clock_enable(SYSCTL_CLOCK_UART2);
sysctl_reset(SYSCTL_RESET_UART2);
fpioa_set_function(GPIO_EC200T_RXD, FPOA_USART2_RX);
fpioa_set_function(GPIO_EC200T_TXD, FPOA_USART2_TX);
#endif
#ifdef CONFIG_K210_16550_UART3
sysctl_clock_enable(SYSCTL_CLOCK_UART3);
sysctl_reset(SYSCTL_RESET_UART3);
fpioa_set_function(GPIO_CH376T_RXD, FPOA_USART3_RX);
fpioa_set_function(GPIO_CH376T_TXD, FPOA_USART3_TX);
#endif
#ifdef CONFIG_BSP_USING_ENET
k210_sysctl_init();
board_enet_initialize();
#endif
return ret;
}