[U-Boot] [linux-sunxi] Mainline U-Boot, EHCI, usbkbd not working (workaround)

Hans de Goede
2015-01-04T19:05:20Z

Hi,

On 04-01-15 19:21, B.R. Oake wrote:
> (This started on the linux-sunxi mailing list but will hopefully be
> of interest on the U-Boot list)
>
> On 04/01/15 13:45, Lars Doelle wrote:
>> while testing with mainline u-boot, I came over the
>> problem, that the USB keyboard is not recognized.
>>
>> The device is an A20-OLinuXIno-LIME2. I used the
>> current A20-OLinuXino-Lime2_defconfig for building.
>>
>> In my understanding, the issue should be reproducible
>> with all devices having an EHCI root hub.
>>
>> ---
>> sun7i# usb reset
>> (Re)start USB...
>> USB0: USB EHCI 1.00
>> scanning bus 0 for devices... cannot reset port 1!?
>> 1 USB Device(s) found
>> USB1: USB EHCI 1.00
>> scanning bus 1 for devices... 1 USB Device(s) found
>> scanning usb for storage devices... 0 Storage Device(s) found
>> sun7i# usb tree
>> USB device tree:
>> 1 Hub (480 Mb/s, 0mA)
>> u-boot EHCI Host Controller
>>
>> 2 Hub (480 Mb/s, 0mA)
>> u-boot EHCI Host Controller
>> ---
>>
>> As a workaround, i plugged an USB hub in between:
>> [...]
>
>
> I also have this problem. I've tried three different USB keyboards on
> an A20-Olinuxino-Micro and a Banana Pi, and I always get that error
> "cannot reset port N!?" where N is whichever USB socket I've plugged
> it into, and U-Boot cannot see the keyboard. Once Linux has loaded,
> the keyboard works without any trouble.
>
> Can anyone suggest what is causing this?

The problem is that u-boot does not allow building both ohci and
ehci drivers into the same u-boot binary, so we cannot enable both
usb-1 and usb-2 support at the same time.

So we're stuck with having only usb-2 support until someone reworks
u-boot's usb code, and keyboards and mice are typically usb-1 devices,
the workaround for this is to plug in a usb-2 hub so that the board
sees a usb-2 device, and then plug the mouse / keyboard into that
hub.

Regards,

Hans

>
> Thank you,
> B.R. Oake.
>