[fix][board] automatic switching uart sig and funciton to avoid the same uart function

This commit is contained in:
jzlv 2022-02-23 17:07:18 +08:00
parent 6b11ba03ef
commit a12381870c

View File

@ -208,9 +208,11 @@ static void board_pin_mux_init(void)
} else if ((af_pin_table[i].func & 0xF0) == 0xF0) {
/*if uart func*/
gpio_cfg.gpioFun = GPIO_FUN_UART;
uint8_t sig = af_pin_table[i].func & 0x07;
uint8_t uart_func = af_pin_table[i].func & 0x07;
uint8_t uart_sig = gpio_cfg.gpioPin % 8;
/*link to one uart sig*/
GLB_UART_Fun_Sel((gpio_cfg.gpioPin % 8), sig);
GLB_UART_Fun_Sel((GLB_UART_SIG_Type)uart_sig, (GLB_UART_SIG_FUN_Type)uart_func);
GLB_UART_Fun_Sel((GLB_UART_SIG_Type)uart_func, (GLB_UART_SIG_FUN_Type)uart_sig);
} else if (af_pin_table[i].func == GPIO_FUN_PWM) {
/*if pwm func*/
gpio_cfg.pullType = GPIO_PULL_DOWN;