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

Simon Glass
2015-01-05T02:49:32Z

Hi Hans,

On 4 January 2015 at 12:05, Hans de Goede <hdegoede@redhat.com> wrote:
> 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.

This could be solved by moving USB to driver model.

Marek do you know if anyone is looking at this?

Regards,
Simon