[U-Boot] [PATCH 10/16] usb: xhci: Program 'route string' in the input slot context

Bin Meng bmeng.cn at gmail.com
Sat Jun 24 01:57:27 UTC 2017


Hi Marek,

On Sat, Jun 24, 2017 at 2:02 AM, Marek Vasut <marex at 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.cn at 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


More information about the U-Boot mailing list