[U-Boot] [PATCH 00/16] usb: hub: Support USB 3.0 hubs
Bin Meng
bmeng.cn at gmail.com
Fri Jun 23 09:54:16 UTC 2017
This series is a follow-up series to previous series [1] that adds
support for USB 3.0 hubs.
USB 3.0 hubs have slightly different hub descriptor format, as well
as different port status bit positions. These needs to be properly
handled by U-Boot USB core stack codes. xHCI driver has also been
updated to correctly set up context structures that are required
for devices behind a 3.0 hub to work.
Besides USB 3.0 hubs support, this series also adds support for low
speed/full speed devices connected behind a high speed hub with the
xHC controller. It turns out the 'Transaction Translator' part in
the xHC data structure is missing.
Note there is one error during testing USB keyboard when
CONFIG_USB_KEYBOARD is on.
"Failed to get keyboard state from device 413c:2105"
The enumeration process did pass and the error was thrown in the
USB keyboard driver. This was due to the interrupt transfer is
still not supported by xHCI driver, as of today.
This series is available at u-boot-x86/xhci-working2 for testing.
[1] https://lists.denx.de/pipermail/u-boot/2017-June/296166.html
Bin Meng (16):
usb: xhci-pci: Drop non-DM version of xhci-pci driver
usb: xhci-pci: Clean up the driver a little bit
usb: Remove unnecessary work in usb_setup_descriptor()
usb: hub: Use 'struct usb_hub_device' as hub device's uclass_priv
usb: hub: Add a new API to test if a hub device is root hub
usb: xhci: Change to use usb_hub_is_root_hub() API
usb: hub: Translate USB 3.0 hub port status into old version
usb: hub: Support 'set hub depth' request for USB 3.0 hubs
usb: xhci: Change xhci_setup_addressable_virt_dev() signature
usb: xhci: Program 'route string' in the input slot context
usb: hub: Parse and save TT details from device descriptor
dm: usb: Add a new USB controller operation 'update_hub_device'
usb: hub: Call usb_update_hub_device() after hub descriptor is fetched
usb: xhci: Implement update_hub_device() operation
usb: xhci: Correct TT_SLOT and TT_PORT macros
usb: xhci: Enable TT to support LS/FS devices behind a HS hub
common/usb.c | 40 +++++-----
common/usb_hub.c | 166 +++++++++++++++++++++++++++++++++++++++++-
drivers/usb/host/usb-uclass.c | 13 +++-
drivers/usb/host/xhci-mem.c | 40 +++++++++-
drivers/usb/host/xhci-pci.c | 68 +----------------
drivers/usb/host/xhci.c | 85 +++++++++++++++------
drivers/usb/host/xhci.h | 8 +-
include/usb.h | 46 +++++++++++-
include/usb_defs.h | 15 ++++
9 files changed, 357 insertions(+), 124 deletions(-)
--
2.9.2
More information about the U-Boot
mailing list