[U-Boot] [PATCH 0/3] usb: xhci: Add interrupt transfer support

Bin Meng bmeng.cn at gmail.com
Thu Jun 29 02:38:56 UTC 2017


On Thu, Jun 29, 2017 at 6:52 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
> +Simon
>
> On Wed, Jun 28, 2017 at 7:00 PM, Stefan Roese <sr at denx.de> wrote:
>> Hi Bin,
>>
>> On 26.06.2017 13:05, Bin Meng wrote:
>>> This series is the final series of the xHCI driver update.
>>>
>>> This adds the missing interrupt transfer support to xHCI driver, so
>>> that devices like USB keyboard that uses interrupt transfer when
>>> CONFIG_SYS_USB_EVENT_POLL is defined can work.
>>>
>>> Previous two series:
>>> [1]: usb: xhci: Fix USB xHCI support on Intel platform
>>> https://lists.denx.de/pipermail/u-boot/2017-June/296166.html
>>> [2]: usb: hub: Support USB 3.0 hubs
>>> https://lists.denx.de/pipermail/u-boot/2017-June/296284.html
>>>
>>> This series is available at u-boot-x86/xhci-working3 for testing.
>>
>> I'm using this git branch to test all your xHCI related patches
>> now. On my BayTrail platform I get these messages upon "usb reset"
>> scanning:
>>
>> => usb reset
>> resetting USB...
>> USB0:   Register 7000820 NbrPorts 7
>> Starting the controller
>> USB XHCI 1.00
>> scanning bus 0 for devices... cannot reset port 1!?
>> USB device descriptor short read (expected 18, got 8)
>> 5 USB Device(s) found
>>        scanning usb for storage devices... 1 Storage Device(s) found
>>
>> On the 2nd scan, the "cannot reset port 1" line is gone:
>>
>> => usb reset
>> resetting USB...
>> USB0:   Register 7000820 NbrPorts 7
>> Starting the controller
>> USB XHCI 1.00
>> scanning bus 0 for devices... USB device descriptor short read (expected 18, got 8)
>> 5 USB Device(s) found
>>        scanning usb for storage devices... 1 Storage Device(s) found
>>
>> All USB devices seem to be detected correctly though. Here the
>> logs:
>>
>> => usb tree
>> USB device tree:
>>   1  Hub (5 Gb/s, 0mA)
>>   |  U-Boot XHCI Host Controller
>>   |
>>   +-2  Hub (480 Mb/s, 100mA)
>>   |
>>   +-3  Hub (480 Mb/s, 2mA)
>>   | |
>>   | +-5  Mass Storage (480 Mb/s, 200mA)
>>   |      JetFlash Mass Storage Device 3281440601
>>   |
>>   +-4  Vendor specific (5 Gb/s, 64mA)
>>        Realtek USB 10/100/1000 LAN 000002000000
>>
>> => usb info
>> 1: Hub,  USB Revision 3.0
>>  - U-Boot XHCI Host Controller
>>  - Class: Hub
>>  - PacketSize: 512  Configurations: 1
>>  - Vendor: 0x0000  Product 0x0000 Version 1.0
>>    Configuration: 1
>>    - Interfaces: 1 Self Powered 0mA
>>      Interface: 0
>>      - Alternate Setting 0, Endpoints: 1
>>      - Class Hub
>>      - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms
>>
>> 2: Hub,  USB Revision 2.0
>>  - Class: Hub
>>  - PacketSize: 64  Configurations: 1
>>  - Vendor: 0x0409  Product 0x005a Version 1.0
>>    Configuration: 1
>>    - Interfaces: 1 Self Powered Remote Wakeup 100mA
>>      Interface: 0
>>      - Alternate Setting 0, Endpoints: 1
>>      - Class Hub
>>      - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
>>
>> 3: Hub,  USB Revision 2.1
>>  - Class: Hub
>>  - PacketSize: 64  Configurations: 1
>>  - Vendor: 0x0424  Product 0x4604 Version 1.131
>>    Configuration: 1
>>    - Interfaces: 1 Self Powered Remote Wakeup 2mA
>>      Interface: 0
>>      - Alternate Setting 0, Endpoints: 1
>>      - Class Hub
>>      - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
>>      - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
>>
>> 5: Mass Storage,  USB Revision 2.10
>>  - JetFlash Mass Storage Device 3281440601
>>  - Class: (from Interface) Mass Storage
>>  - PacketSize: 64  Configurations: 1
>>  - Vendor: 0x8564  Product 0x1000 Version 16.117
>>    Configuration: 1
>>    - Interfaces: 1 Bus Powered 200mA
>>      Interface: 0
>>      - Alternate Setting 0, Endpoints: 2
>>      - Class Mass Storage, Transp. SCSI, Bulk only
>>      - Endpoint 2 Out Bulk MaxPacket 512
>>      - Endpoint 1 In Bulk MaxPacket 512
>>
>> 4: Vendor specific,  USB Revision 3.0
>>  - Realtek USB 10/100/1000 LAN 000002000000
>>  - Class: (from Interface) Vendor specific
>>  - PacketSize: 512  Configurations: 2
>>  - Vendor: 0x0bda  Product 0x8153 Version 48.0
>>    Configuration: 1
>>    - Interfaces: 1 Bus Powered Remote Wakeup 64mA
>>      Interface: 0
>>      - Alternate Setting 0, Endpoints: 3
>>      - Class Vendor specific
>>      - Endpoint 1 In Bulk MaxPacket 1024
>>      - Endpoint 2 Out Bulk MaxPacket 1024
>>      - Endpoint 3 In Interrupt MaxPacket 2 Interval 8ms
>>
>> Do you have any ideas about the scanning logs that I've noticed
>> above? Would it help if I provided some debug logs (-DDEBUG)
>> for this?
>>
>>
>> BTW: I need to re-add the SYS_USB_EVENT_POLL* options back to
>> the whilelist file. Otherwise compiling fails with this
>> message:
>>
>> $ make minnowmax_defconfig
>> $ make -s -j10
>> Error: You must add new CONFIG options using Kconfig
>> The following new ad-hoc CONFIG options were detected:
>> CONFIG_SYS_USB_EVENT_POLL
>>
>> Please add these via Kconfig instead. Find a suitable Kconfig
>> file and add a 'config' or 'menuconfig' option.
>> Makefile:862: recipe for target 'all' failed
>>
>> Don't you see this error? Any idea whats going wrong here?
>
> Simon,
>
> Do you know why this error was generated? CONFIG_SYS_USB_EVENT_POLL
> was already a Kconfig option.

I've figured out where the problem is. Will send a patch soon.

Regards,
Bin


More information about the U-Boot mailing list