Hi Marek, On Sat, Jun 24, 2017 at 2:02 AM, Marek Vasut <ma...@denx.de> wrote: > On 06/23/2017 11:54 AM, Bin Meng wrote: >> 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. > > Great, but I really dislike the ifdef pollution, so this needs to be > sorted out.
The ifdef was needed due to it calls DM APIs or access DM udevice. I have no intention to add a new feature to the non-DM driver. Eventually we can get rid of all these ifdefs when all boards are converted to use DM USB. > >> Signed-off-by: Bin Meng <bmeng...@gmail.com> >> >> --- >> Test logs: two USB 3.0 hubs (one tier2, one tier3) >> => usb tree >> USB device tree: >> 1 Hub (5 Gb/s, 0mA) >> | U-Boot XHCI Host Controller >> | >> +-2 Hub (5 Gb/s, 0mA) >> | | GenesysLogic USB3.0 Hub >> | | >> | +-4 Hub (5 Gb/s, 0mA) >> | | | VIA Labs, Inc. USB3.0 Hub >> | | | >> | | +-7 Mass Storage (5 Gb/s, 76mA) >> | | JetFlash Mass Storage Device 16Q6ZPH20GF3E8UQ >> | | >> | +-8 Vendor specific (5 Gb/s, 36mA) >> | Realtek USB 10/100/1000 LAN 00E04C680977 >> | >> +-3 Hub (480 Mb/s, 100mA) >> | GenesysLogic USB2.0 Hub >> | >> +-5 Mass Storage (480 Mb/s, 200mA) >> | Netac OnlyDisk FF00ECB60800FFFF1526 >> | >> +-6 Hub (480 Mb/s, 0mA) >> VIA Labs, Inc. USB2.0 Hub >> [snip] Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot