u-boot-brain/drivers/usb/host
Bin Meng 493b8dd070 usb: xhci: Program 'route string' in the input slot context
xHCI spec says: the values of the 'route string' field shall be
initialized by the first 'Address Device' command issued to a
device slot, and shall not be modified by any other command.

So far U-Boot does not program this field, and it does not prevent
SS device directly attached to root port, or HS device behind an HS
hub, from working, due to the fact that 'route string' is used by
the xHC to target SS packets. But in order to enumerate devices
behind an SS hub, this field must be programmed.

With this commit and along with previous commits, now SS & HS devices
attached to a USB 3.0 hub can be enumerated by U-Boot.

As usual, this new feature is only available when DM is on.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-07-28 23:34:33 +02:00
..
dwc2.c usb: dwc2: use dev_read_bool() instead of fdt_getprop() 2017-07-11 12:13:49 +02:00
dwc2.h usb: dwc2: disable erroneous overcurrent condition 2016-03-05 02:21:36 +01:00
ehci-armada100.c Update Maintainer and Author's email address 2016-12-27 11:24:17 -05:00
ehci-atmel.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci-exynos.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci-faraday.c dm: usb: Drop the EHCI weak functions 2015-04-18 11:11:24 -06:00
ehci-fsl.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci-generic.c usb: host: ehci-generic: add generic PHY support 2017-07-28 23:34:10 +02:00
ehci-hcd.c usb: ehci: Get rid of CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2017-07-28 23:34:23 +02:00
ehci-marvell.c dm: core: Rename of_device_is_compatible() 2017-06-01 07:03:06 -06:00
ehci-msm.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci-mx5.c usb: Rename ehci-fsl.h to ehci-ci.h 2016-04-01 17:18:10 -04:00
ehci-mx6.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
ehci-mxc.c usb: Rename ehci-fsl.h to ehci-ci.h 2016-04-01 17:18:10 -04:00
ehci-mxs.c usb: ehci: mxs: Add board-specific callbacks 2014-09-29 09:02:16 +02:00
ehci-omap.c usb: ehci-omap: Reset the USB Host OMAP module 2013-12-06 07:02:32 -05:00
ehci-pci.c ehci-pci: Prepare for usage of readl()/writel() accessors 2017-06-05 13:42:09 +02:00
ehci-ppc4xx.c ehci-ppc4xx: Prepare for usage of readl()/writel() accessors 2017-04-25 12:50:13 +02:00
ehci-rcar_gen3.c usb: ehci: Add Renesas RCar M3/H3 EHCI support 2017-05-22 11:47:27 +02:00
ehci-rmobile.c usb: rmobile: Use ARRAY_SIZE(usb_base_address) instead of CONFIG_USB_MAX_CONTROLLER_COUNT 2014-11-07 16:32:02 +01:00
ehci-spear.c usb: spear: Add support for both SPEAr600 EHCI controllers 2015-08-19 22:30:20 +02:00
ehci-sunxi.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci-tegra.c dm: gpio: Add live tree support 2017-06-01 07:03:10 -06:00
ehci-vct.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-vf.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
ehci-zynq.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ehci.h usb: ehci: Get rid of CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2017-07-28 23:34:23 +02:00
isp116x-hcd.c Remove some merge markers 2016-10-23 18:33:18 -04:00
isp116x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Kconfig usb: xhci-pci: Drop non-DM version of xhci-pci driver 2017-07-28 23:34:28 +02:00
Makefile powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04:00
ohci-at91.c drivers: usb: ohci-at91: clean up the PLLB code 2016-02-18 21:34:41 +01:00
ohci-da8xx.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ohci-ep93xx.c arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
ohci-generic.c usb: host: ohci-generic: add generic PHY support 2017-07-28 23:34:14 +02:00
ohci-hcd.c powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
ohci-lpc32xx.c usb: lpc32xx: add i2c DM support 2017-05-18 11:31:56 +02:00
ohci-sunxi.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ohci.h powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04:00
r8a66597-hcd.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
r8a66597.h usb: Update some EHCI driver licenses to use SPDX 2015-07-21 17:39:38 -06:00
sl811-hcd.c usb: add enum usb_init_type parameter to usb_lowlevel_init 2013-10-20 23:45:26 +02:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
usb-sandbox.c usb: sandbox: Add support for interrupt operations 2015-11-19 20:27:52 -07:00
usb-uclass.c usb: hub: Use 'struct usb_hub_device' as hub device's uclass_priv 2017-07-28 23:34:29 +02:00
utmi-armada100.c Update Maintainer and Author's email address 2016-12-27 11:24:17 -05:00
xhci-dwc3.c usb: host: xhci-dwc3: Add generic PHY support 2017-07-28 23:34:05 +02:00
xhci-exynos5.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
xhci-fsl.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
xhci-keystone.c treewide: replace #include <asm-generic/errno.h> with <linux/errno.h> 2016-09-23 22:25:27 -04:00
xhci-mem.c usb: xhci: Program 'route string' in the input slot context 2017-07-28 23:34:33 +02:00
xhci-mvebu.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
xhci-omap.c arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks 2017-05-08 11:38:38 -04:00
xhci-pci.c usb: xhci-pci: Clean up the driver a little bit 2017-07-28 23:34:29 +02:00
xhci-ring.c usb: xhci: Correct command TRB 4th dword initialization 2017-07-28 23:34:15 +02:00
xhci-rockchip.c usb: host: xhci-rockchip: use fixed regulator to control vbus 2017-07-11 12:13:48 +02:00
xhci-zynqmp.c treewide: replace #include <asm-generic/errno.h> with <linux/errno.h> 2016-09-23 22:25:27 -04:00
xhci.c usb: xhci: Change xhci_setup_addressable_virt_dev() signature 2017-07-28 23:34:33 +02:00
xhci.h usb: xhci: Change xhci_setup_addressable_virt_dev() signature 2017-07-28 23:34:33 +02:00