Pinebook Pro keyboard (RK3399 OHCI)?

Peter Robinson pbrobinson at gmail.com
Tue Jul 14 10:07:57 CEST 2020


On Tue, Jul 14, 2020 at 12:02 AM Simon South <simon at simonsouth.net> wrote:
>
> Has anyone managed to get the built-in keyboard of the Pinebook Pro
> working with U-Boot?

It should be fixed in the main devel repo, commit 3a5771249

> Kever, Jagan: Are you aware of any special setup required to have the
> RK3399's OHCI controller begin processing its periodic list?
>
> Even using the latest code, having USB started makes the U-boot console
> feel sluggish while pressing keys on the keyboard produces no result.
>
> The issue seems to be the OHCI (USB 1.1) driver continually times out
> waiting for the controller to start an interrupt transfer (to poll the
> keyboard for a keypress). Dumping the OHCI controller's registers as
> well as the endpoint and transfer descriptors shows everything set up
> correctly, however, as best I can tell from the OHCI spec: The
> descriptors have the right values, the ED is added to the first
> interrupt list, and the controller even "sees" the ED (the
> HcPeriodCurrentED register holds its address once per frame). Yet when
> the timeout expires the TD remains unprocessed, with its condition code
> still set to "not accessed" and the controller's error counters still at
> zero.
>
> Oddly, control messages are passed to the keyboard just fine. It's as
> though the controller is simply ignoring the periodic list, even though
> the bit to enable its processing is set in the HcControl register.
>
> Plugging in an external keyboard (after updating the build configuration
> to include the right phy driver) produces the same result, so it's not
> just the built-in one. And obviously the OHCI driver works on other
> platforms, so it seems to me this could be something specific to
> Rockchip's implementation not yet reflected in the code.
>
> Has anyone found a solution to this?
>
> --
> Simon South
> simon at simonsouth.net


More information about the U-Boot mailing list