USB3803 USB 2.0 Hub¶
lbuild module: modm:driver:usb3803
The Microchip USB3803 is a high-speed USB 2.0 hub with three downstream ports and a bypass switch for mobile devices. See https://www.microchip.com/en-us/product/usb3803
Its I2C slave port is only available from the time RESET_N is released until
the hub connects to the upstream host, and only while REFCLK is running.
By default, the hub completes its configuration stage autonomously after 400ms,
so the configuration must be held first with setInterlock() to access the
registers without this deadline and then released again for the hub to
connect.
The driver configures the USB descriptors and strings, the power reporting, the port disabling, remapping and DP/DM swapping, the upstream charger detection and downstream battery charging, the interrupts, and the PHY squelch and drive strength of every port.