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

Hans de Goede
2015-01-05T07:10:24Z

Hi,

On 05-01-15 03:49, Simon Glass wrote:
> 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.

Yes, that is what I was thinking too.

> Marek do you know if anyone is looking at this?

Actually I was about to ask you (Simon) if you are looking into converting
the usb stuff to dm, AFAIK no one else is working on this.

Regards,

Hans