The Genio 510 and 700 EVKs describe the USB 2 and USB 3 sides of their onboard TUSB8020B hub with usb451,8025 and usb451,8027. Neither ID currently matches the onboard-hub driver, leaving its power and reset controls uninitialized before USB enumeration.
Add both IDs with the 3 ms reset pulse and single vdd supply used by Linux's onboard USB device driver. The existing peer-hub handling keeps the shared power and reset resources under one instance's control. Signed-off-by: Carlo Caione <[email protected]> --- common/usb_onboard_hub.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 0684f7bfd47..ead8bf44cd5 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -289,6 +289,12 @@ static const struct onboard_hub_data usbhx3_data = { .supply_names = { "vdd-supply", "vdd2-supply" }, }; +static const struct onboard_hub_data tusb8020b_data = { + .reset_us = 3000, + .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 */ @@ -305,6 +311,12 @@ static const struct udevice_id usb_onboard_hub_ids[] = { }, { .compatible = "usb424,5744", /* USB5744 USB 3.0 */ .data = (ulong)&usb5744_data, + }, { + .compatible = "usb451,8025", /* TUSB8020B USB 2.0 */ + .data = (ulong)&tusb8020b_data, + }, { + .compatible = "usb451,8027", /* TUSB8020B USB 3.0 */ + .data = (ulong)&tusb8020b_data, }, { .compatible = "usb4b4,6504", /* Cypress HX3 USB 3.0 */ .data = (ulong)&usbhx3_data, -- 2.56.0
