aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/usb.c
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2015-07-09 16:29:10 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-07-18 09:40:48 +0200
commit752fba784681c2af0611a9d52ee1e8e2db8969a0 (patch)
treed8edfcd5056c559bd21ea4dfaf78aed9637c5ba4 /payloads/libpayload/drivers/usb/usb.c
parente44a4e8787b5388f63983c4460b495f53425162c (diff)
libpayload: usb: Add support for SuperSpeed hubs
This patch adds support for the SuperSpeed half of USB 3.0 hubs, which previously prevented SuperSpeed devices behind those hubs from working. BRANCH=None BUG=chrome-os-partner:39877 TEST=Played around with multiple hubs and devices on Oak and Falco, can no longer find a combination that doesn't work. Change-Id: I20815be95769e33d399b7ad91c3020687234e059 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 3db96ece20d2304e7f6f6aa333cf114037c48a3e Original-Change-Id: I2dd6c9c3607a24a7d78c308911e3d254d5f8d91d Original-Signed-off-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/284577 Original-Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Original-Tested-by: chunfeng yun <chunfeng.yun@mediatek.com> Reviewed-on: http://review.coreboot.org/10958 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'payloads/libpayload/drivers/usb/usb.c')
-rw-r--r--payloads/libpayload/drivers/usb/usb.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/payloads/libpayload/drivers/usb/usb.c b/payloads/libpayload/drivers/usb/usb.c
index e00d92f00a..69d1c39778 100644
--- a/payloads/libpayload/drivers/usb/usb.c
+++ b/payloads/libpayload/drivers/usb/usb.c
@@ -556,17 +556,13 @@ set_address (hci_t *controller, usb_speed speed, int hubport, int hubaddr)
#endif
break;
case hub_device:
- if (speed < SUPER_SPEED) {
- usb_debug ("hub (2.0)\n");
+ usb_debug ("hub\n");
#if IS_ENABLED(CONFIG_LP_USB_HUB)
- dev->init = usb_hub_init;
- return dev->address;
+ dev->init = usb_hub_init;
+ return dev->address;
#else
- usb_debug ("NOTICE: USB hub support not compiled in\n");
+ usb_debug ("NOTICE: USB hub support not compiled in\n");
#endif
- } else {
- usb_debug ("hub (3.0) - not yet supported!\n");
- }
break;
case cdc_device:
usb_debug("CDC\n");