[U-Boot] [PATCH v2 00/18] usb: xhci: Fix USB xHCI support on Intel platform

Marek Vasut marex at denx.de
Tue Jul 18 09:04:14 UTC 2017


On 07/18/2017 11:03 AM, Bin Meng wrote:
> Hi Marek,
> 
> On Mon, Jul 10, 2017 at 10:46 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
>> Hi Marek,
>>
>> On Thu, Jun 22, 2017 at 3:13 PM, Bin Meng <bmeng.cn at gmail.com> 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.
>>>
>>> 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.
>>>
>>> This series is available at u-boot-x86/xhci-working for testing.
>>>
>>> Changes in v2:
>>> - Change to use uint and also 'normal' variable name packet_size.
>>> - Update description to use "PCI-based"
>>> - Remove CONFIG_USB_XHCI_PCI from config_whitelist.txt
>>> - Drop two x86 patches that were already applied to u-boot-x86
>>
>> Do you have any comments regarding to this first series for xHCI? If
>> not, I will rebase my series and send out for you to apply soon.
> 
> Do you have any comments to all the 3 xHCI series? If not, I will
> rebase again soon for you to apply.

I have none ; if SR has no comments either, works for me.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list