diff --git a/bsp/allwinner_tina/drivers/drv_uart.c b/bsp/allwinner_tina/drivers/drv_uart.c index 1c48c53dca64e0a7d29ae1ba8ea6e2f406f6ce2b..8dd7e68bee4996580f49c8e0a74b642a5ed99c15 100644 --- a/bsp/allwinner_tina/drivers/drv_uart.c +++ b/bsp/allwinner_tina/drivers/drv_uart.c @@ -184,16 +184,19 @@ static rt_err_t uart_configure(struct rt_serial_device *serial, struct serial_co if ((rt_uint32_t)(uart->hw_base) == UART0_BASE_ADDR) { bus_gate_clk_enalbe(UART0_GATING); + bus_software_reset_disalbe(UART0_GATING); bus_software_reset_enalbe(UART0_GATING); } else if ((rt_uint32_t)(uart->hw_base) == UART1_BASE_ADDR) { bus_gate_clk_enalbe(UART1_GATING); + bus_software_reset_disalbe(UART1_GATING); bus_software_reset_enalbe(UART1_GATING); } else if ((rt_uint32_t)(uart->hw_base) == UART2_BASE_ADDR) { bus_gate_clk_enalbe(UART2_GATING); + bus_software_reset_disalbe(UART2_GATING); bus_software_reset_enalbe(UART2_GATING); } else