mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-18 23:54:39 +00:00
fix(uart): correct C3/S3 module enable porcedure to avoid undesired line noise
This commit is contained in:
@@ -113,18 +113,21 @@ static inline void uart_ll_reset_register(uart_port_t uart_num)
|
||||
// ESP32S3 requires a workaround: enable core reset before enabling uart module clock to prevent uart output garbage value
|
||||
switch (uart_num) {
|
||||
case 0:
|
||||
SYSTEM.perip_rst_en0.uart_rst = 0;
|
||||
UART0.clk_conf.rst_core = 1;
|
||||
SYSTEM.perip_rst_en0.uart_rst = 1;
|
||||
SYSTEM.perip_rst_en0.uart_rst = 0;
|
||||
UART0.clk_conf.rst_core = 0;
|
||||
break;
|
||||
case 1:
|
||||
SYSTEM.perip_rst_en0.uart1_rst = 0;
|
||||
UART1.clk_conf.rst_core = 1;
|
||||
SYSTEM.perip_rst_en0.uart1_rst = 1;
|
||||
SYSTEM.perip_rst_en0.uart1_rst = 0;
|
||||
UART1.clk_conf.rst_core = 0;
|
||||
break;
|
||||
case 2:
|
||||
SYSTEM.perip_rst_en1.uart2_rst = 0;
|
||||
UART2.clk_conf.rst_core = 1;
|
||||
SYSTEM.perip_rst_en1.uart2_rst = 1;
|
||||
SYSTEM.perip_rst_en1.uart2_rst = 0;
|
||||
|
Reference in New Issue
Block a user