[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