[U-Boot] Rpi Uboot not working ; USB keyboard undetected
Stefan Bruens
stefan.bruens at rwth-aachen.de
Mon Dec 7 23:36:20 CET 2015
On Thursday 26 November 2015 12:25:14 Hans de Goede wrote:
> Hmm, I'm not familiar with the rpi usb controller, but AFAIK the rpi uses
> an onboard usb-2 hub, when talking to usb-1 devices attached to a usb-2
> hub you must address the tt in the first usb-2 hub upstream of the
> usb-1 device. See e.g.:
Yes, thats true for RPi 1 B, B+ and RPi 2 B.
> http://git.denx.de/?p=u-boot.git;a=commitdiff;h=4e2c4ad3604ba6f5053090749d64
> ed3ce5914805
> http://git.denx.de/?p=u-boot.git;a=commitdiff;h=fcdd8aaa48dfcac492cbac5436d
> 9edc3f5928325
>
> And also, for a controller which AFAICT is closer to the rpi usb controller:
>
> http://git.denx.de/?p=u-boot.git;a=commitdiff;h=e740ca3cab93a8cb31d870bffecd
> 6aa8eadf44e1
>
> Note that the last 2 commits both do a bunch of magic to translate from
> usb_device pointers to dm device pointers and back, not sure if the rpi usb
> controller code has been converted to dm yet, but if it has that is a
> likely culprit.
Most of the DWC2 code is agnostic to DM vs. legacy. The biggest problem is the
fact that on the DWC2 both SSPLIT and CSPLIT have to be handled explicitly,
i.e. there is an ACK interrupt after the SSPLIT and the channel is halted, and
you get another ACK/CHHLT/XFERCOMPL interrupt after the CSPLIT transaction.
I have some rough prototype code which is at least able to enumerate most of
my LS/FS devices. There are errors for some devices, which are picky about
some SETUP requests.
Kind regards,
Stefan
--
Stefan Brüns / Bergstraße 21 / 52062 Aachen
home: +49 241 53809034 mobile: +49 151 50412019
work: +49 2405 49936-424
More information about the U-Boot
mailing list