From bc2ea111fb911a6ec7a21efe489d241741c5fd74 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 24 Oct 2023 13:29:15 +0200 Subject: [PATCH] fix(console): switch USB PHY to OTG when OTG is used for console On ESP32-S3 with the default efuse settings, USB PHY is connected to the USB_SERIAL_JTAG peripheral. If USB OTG peripheral is used for the console, we need to additionally switch the PHY to USB OTG, otherwise we won't get any output. Closes https://github.com/espressif/esp-idf/issues/12437 --- components/bootloader_support/src/bootloader_console.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/bootloader_support/src/bootloader_console.c b/components/bootloader_support/src/bootloader_console.c index 8ee4c3acdf..bbcfe38422 100644 --- a/components/bootloader_support/src/bootloader_console.c +++ b/components/bootloader_support/src/bootloader_console.c @@ -26,6 +26,9 @@ #include "esp32h2/rom/ets_sys.h" #include "esp32h2/rom/uart.h" #endif +#if SOC_USB_SERIAL_JTAG_SUPPORTED +#include "hal/usb_phy_ll.h" +#endif #include "esp_rom_gpio.h" #include "esp_rom_uart.h" #include "esp_rom_sys.h" @@ -104,6 +107,9 @@ void bootloader_console_init(void) esp_rom_uart_usb_acm_init(s_usb_cdc_buf, sizeof(s_usb_cdc_buf)); esp_rom_uart_set_as_console(ESP_ROM_UART_USB); esp_rom_install_channel_putc(1, bootloader_console_write_char_usb); +#if SOC_USB_SERIAL_JTAG_SUPPORTED + usb_phy_ll_int_otg_enable(&USB_WRAP); +#endif } #endif //CONFIG_ESP_CONSOLE_USB_CDC