The VL817 is a USB 3.1 Gen 1 hub controller with one supply and a reset pin. Use the same reset time as Linux.
The Milk-V Jupiter and the Banana Pi BPI-F3 have one in front of all their USB ports. Without this, U-Boot leaves the hub unpowered and in reset, so no USB device is found. Signed-off-by: Hung-Chun Tseng <[email protected]> --- common/usb_onboard_hub.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 0684f7bfd..0ed70a6ba 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -289,9 +289,21 @@ static const struct onboard_hub_data usbhx3_data = { .supply_names = { "vdd-supply", "vdd2-supply" }, }; +static const struct onboard_hub_data vialab_vl817_data = { + .reset_us = 10, + .num_supplies = 1, + .supply_names = { "vdd-supply" }, +}; + static const struct udevice_id usb_onboard_hub_ids[] = { /* Use generic usbVID,PID dt-bindings (usb-device.yaml) */ - { .compatible = "usb3431,6241", /* Corechips SL6341 USB 2.0 */ + { .compatible = "usb2109,2817", /* VIA Labs VL817 USB 2.0 */ + .data = (ulong)&vialab_vl817_data, + }, { + .compatible = "usb2109,817", /* VIA Labs VL817 USB 3.0 */ + .data = (ulong)&vialab_vl817_data, + }, { + .compatible = "usb3431,6241", /* Corechips SL6341 USB 2.0 */ .data = (ulong)&corechips_sl6341_data, }, { .compatible = "usb3431,6341", /* Corechips SL6341 USB 3.0 */ -- 2.43.0
