All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon South <simon@simonsouth.net>
To: u-boot@lists.denx.de
Subject: Pinebook Pro keyboard (RK3399 OHCI)?
Date: Mon, 13 Jul 2020 16:31:33 -0400	[thread overview]
Message-ID: <87zh8388d6.fsf@simonsouth.net> (raw)

Has anyone managed to get the built-in keyboard of the Pinebook Pro
working with U-Boot?

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

             reply	other threads:[~2020-07-13 20:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13 20:31 Simon South [this message]
2020-07-14  8:07 ` Pinebook Pro keyboard (RK3399 OHCI)? Peter Robinson
2020-07-14 10:48   ` Simon South
2020-07-14 10:53     ` Peter Robinson
2020-07-14 15:05     ` Arnaud Patard
2020-07-14 15:29       ` Simon South
2020-07-14 15:40         ` Peter Robinson
2020-07-14 16:04         ` Arnaud Patard
2020-07-14 17:18           ` Simon South
2020-10-01 14:56 ` Simon South
2020-10-02  8:07   ` Arnaud Patard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zh8388d6.fsf@simonsouth.net \
    --to=simon@simonsouth.net \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.