[U-Boot] [PATCH 00/20] usb: xhci: Fix USB xHCI support on Intel platform
Stefan Roese
sr at denx.de
Fri Jun 16 14:29:25 UTC 2017
On 16.06.2017 16:21, Marek Vasut wrote:
> On 06/16/2017 03:31 PM, Bin Meng wrote:
>> Currently U-Boot xHCI driver does not work on Intel BayTrail SoC based
>> boards that have USB 3.0 ports. Trying to do a 'usb start' simply hangs
>> the board. This series fixes a bunch of xHCI driver issues to make it
>> work on Intel's platform.
>>
>> Issues identified in the U-Boot xHCI driver are really spec violations,
>> but apparently other xHCI IPs found on ARM SoCs (mainly Synopsis IP?)
>> are quite tolerant with these spec violations, or IOW those IPs don't
>> respect the xHCI spec. While it comes to Intel platform, it just breaks.
>>
>> Note xHCI interrupt transfer is still not supported in this series, as
>> it has been there since the original commit of xHCI support for years.
>>
>> Tested on Intel MinnowMax board with the following USB devices:
>> - Dell USB 1.1 keyboard
>> - Dell USB 2.0 mouse
>> - Netac USB 2.0 flash disk
>> - JetFlash USB 3.0 flash disk
>> - GenesysLogic 4-port USB 3.0 hub, with an integrated Realtek USB
>> ethernet chipset connected to one of its downstream port
>>
>> Testing were performed on both ports (2.0 port and 3.0 port), and both
>> ports are connected to xHCI (configure MinnowMax to enable xHCI).
>>
>> Testing results:
>> - DELL USB 1.1 keyboard and 2.0 mouse can be enumerated on both ports
>> - USB 2.0 and 3.0 flash disks work fine (enumerated, read/write) on
>> both ports
>> - GenesysLogic USB 3.0 hub can be enumerated on 2.0 port as a 2.0 hub,
>> and the integrated Realtek USB ethernet chipset enumerated as well.
>> USB 2.0 and 3.0 flash disks connected via the hub can be enumerated,
>> but DELL USB 1.1 keyboard and 2.0 mouse cannot.
>> - GenesysLogic USB 3.0 hub can be enumerated on 3.0 port as a 3.0 hub,
>> but the integrated Realtek USB ethernet chipset cannot be enumerated.
>> None of devices connected via the hub can be enumerated. U-Boot xHCI
>> driver just throws BUG_ON() on the event TRB handling.
>>
>> This indicates that USB 3.0 hub support in U-Boot is seriously broken.
>> So far this series tries to fix some of the issues identified, but the
>> USB 3.0 hub is still not working. This will be left as future work, or
>> if someone else is interested it to pick up the work.
>>
>> The USB 3.0 hub work includes: port status translation, USB 3.0 newly
>> added "Set Hub Depth" request support, xHCI codes update to fill in
>> hub description fields in the input slot context when issuing commands
>> to xHC, etc.
>>
Bin, thanks for working on this.
> I'd like Stefan to review this series as he worked on the intel stuff
> recently too.
Yes, I'll review and test this series most likely beginning of next
week.
Thanks,
Stefan
More information about the U-Boot
mailing list