This adds the missing interrupt transfer support to xHCI driver, so that devices like USB keyboard that uses interrupt transfer when CONFIG_SYS_USB_EVENT_POLL is defined can work.
This also adds full speed device support. Unlike low/high/super speed devices, full speed device may report its endpoint 0 max packet size as 8/16/32/64. xHCI driver guesses 64 for the first attempt to get the initial 8 bytes device descriptor, and later adjusts the context for endpoint 0. This series also made several updates to xHCI driver to conform with the spec. This series is available at u-boot-x86/xhci-working for testing. Bin Meng (14): dm: usb: Fix broken usb_stop() dm: usb: Remove no longer needed blk_unbind_all() usb: xhci: Don't assume LS/FS devices are always behind a HS hub usb: Handle audio extension endpoint descriptor in usb_parse_config() usb: xhci: Add interrupt transfer support usb: Only get 64 bytes device descriptor for full speed devices usb: Read device descriptor after device is addressed for xHCI usb: xhci: Fix max packet size for full speed device endpoint 0 usb: hub: Clear port reset before usb_hub_port_connect_change() usb: hub: Clear BH reset status change for a 3.0 hub usb: xhci: Honor endpoint's interval usb: xhci: Program max burst size for endpoint usb: xhci: Set 'Error Count' to 0 for isoch endpoints usb: xhci: Set 'Average TRB Length' to 8 for control endpoints common/usb.c | 45 +++++--- common/usb_hub.c | 16 ++- drivers/usb/host/usb-uclass.c | 19 +++- drivers/usb/host/xhci-mem.c | 24 +++- drivers/usb/host/xhci.c | 249 ++++++++++++++++++++++++++++++++++++++++-- drivers/usb/host/xhci.h | 5 +- include/linux/usb/ch9.h | 20 ++++ 7 files changed, 336 insertions(+), 42 deletions(-) -- 2.9.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot