Unfortunately, I am far from being a USB expert, so please forgive my ignorance. I am trying to understand the ESP32-S3 USB. I am using only the internal USB PHY. Depending on where I look, I get conflicting information. The API Guides>>USB OTG Console states:
By default, USB_SERIAL_JTAG module is connected to the internal PHY of the ESP32-S3, while USB_OTG peripheral can be used only if the external USB PHY is connected. Since CDC console is provided via USB_OTG peripheral, it cannot be used through the internal PHY in this configuration.
However, the TRF states:
These two USB controllers can utilize the integrated internal transceiver by time-division multiplexing...When only internal transceiver is used, it is shared by USB OTG and USB Serial/JTAG.
The TRF goes on to talk about fuses and flags (such as RTC_CNTL_SW _USB_PHY_SEL_CFG) for connection switching. If USB OTG and USB Serial/JTAG are TDMed, do I have to be setting/clearing flags to switch between them?
Where I'm going with this -
chegewara wrote:Why not build composite device, MSC + CDC-ACM?
USB Serial/JTAG is a CDC implementation, correct? I've implemented a console based on the examples>system>console examples (using esp_console_new_repl_usb_serial_jtag()). If I want to make a composite device, do I need to switch to USB OTG mode and use the tiny USB driver as in examples>peripherals>usb>tusb_console, then try to figure out ESP_iggr's project to make the MSC part? Or, can I keep my USB Serial/JTAG console and implement a USB OTG MSC device?