[U-Boot] Rpi Uboot not working ; USB keyboard undetected

Hello All,
I am new to Rpi and for a project I need to install Uboot for Rpi. For starters I installed Raspbian-jessie to the pi and it worked fine. Now I am attempting to use uboot but I don't succeed. I am trying to follow the instructions http://elinux.org/RPi_U-Boot and http://arrizza.org/wiki/index.php/RPI_U-boot . Here is what i have done so far.
1) Downloaded and compiled the code from "Stephen Warren's work-in-progress branch" (and also from the mainline when the former did not work). I used a Debian box to compile and and used CROSS_COMPILE=arm-linux-gnueabi- . I am able to successfully build uboot.bin
2) Now I copy uboot.bin to the SD card. I replace the config.txt to have a line kernel=uboot.bin . ( I also tried to replace the kernel.bin directly as uboot.bin)
Now when I boot the pi I stop at the uboot prompt but my USB keyboard and USB mouse are not recognized . I can't do anything ! How do I communicate with the pi ??
My question seems similar to https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=104383 but I see no fix for the problem.
I am attaching an image of the bootup so maybe you guys can point the error ..
https://www.dropbox.com/s/dn4njagoes5f7 ... R.jpg?dl=0https://www.dropbox.com/s/dn4njagoes5f7ll/P_20151124_204301_HDR.jpg?dl=0 Regards

On Wednesday 25 November 2015 16:55:54 Sumeet Jauhar wrote:
Hello All,
I am new to Rpi and for a project I need to install Uboot for Rpi. For starters I installed Raspbian-jessie to the pi and it worked fine. Now I am attempting to use uboot but I don't succeed. I am trying to follow the instructions http://elinux.org/RPi_U-Boot and http://arrizza.org/wiki/index.php/RPI_U-boot . Here is what i have done so far.
There seems to be a problem with the RPi and USB Low-speed and Full-speed devices. The following did work (480Mbps capable):
- several USB memory sticks - USB 3.0/2.0 SDHC card reader - RTL2832u based DVB-T stick - Haupage PCTV 290e DVB-T2 stick
Following did not work: - several mice/keyboards (12Mbps/1.5Mbps) - several USB/serial adapters * PL2303 (12Mbps) * Cypress CYC765211 (12Mbps) - USB audio noname device (12Mbps)
Kind regards,
Stefan

Hi,
On 26-11-15 01:38, Stefan Bruens wrote:
On Wednesday 25 November 2015 16:55:54 Sumeet Jauhar wrote:
Hello All,
I am new to Rpi and for a project I need to install Uboot for Rpi. For starters I installed Raspbian-jessie to the pi and it worked fine. Now I am attempting to use uboot but I don't succeed. I am trying to follow the instructions http://elinux.org/RPi_U-Boot and http://arrizza.org/wiki/index.php/RPI_U-boot . Here is what i have done so far.
There seems to be a problem with the RPi and USB Low-speed and Full-speed devices. The following did work (480Mbps capable):
- several USB memory sticks
- USB 3.0/2.0 SDHC card reader
- RTL2832u based DVB-T stick
- Haupage PCTV 290e DVB-T2 stick
Following did not work:
- several mice/keyboards (12Mbps/1.5Mbps)
- several USB/serial adapters
- PL2303 (12Mbps)
- Cypress CYC765211 (12Mbps)
- USB audio noname device (12Mbps)
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.:
http://git.denx.de/?p=u-boot.git;a=commitdiff;h=4e2c4ad3604ba6f5053090749d64... http://git.denx.de/?p=u-boot.git;a=commitdiff;h=fcdd8aaa48dfcac492cbac5436d9...
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...
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.
I hope this helps.
Regards,
Hans

+Stephen
On 26 November 2015 at 03:25, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 26-11-15 01:38, Stefan Bruens wrote:
On Wednesday 25 November 2015 16:55:54 Sumeet Jauhar wrote:
Hello All,
I am new to Rpi and for a project I need to install Uboot for Rpi. For starters I installed Raspbian-jessie to the pi and it worked fine. Now I am attempting to use uboot but I don't succeed. I am trying to follow the instructions http://elinux.org/RPi_U-Boot and http://arrizza.org/wiki/index.php/RPI_U-boot . Here is what i have done so far.
There seems to be a problem with the RPi and USB Low-speed and Full-speed devices. The following did work (480Mbps capable):
- several USB memory sticks
- USB 3.0/2.0 SDHC card reader
- RTL2832u based DVB-T stick
- Haupage PCTV 290e DVB-T2 stick
Following did not work:
- several mice/keyboards (12Mbps/1.5Mbps)
- several USB/serial adapters
- PL2303 (12Mbps)
- Cypress CYC765211 (12Mbps)
- USB audio noname device (12Mbps)
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.:
http://git.denx.de/?p=u-boot.git;a=commitdiff;h=4e2c4ad3604ba6f5053090749d64... http://git.denx.de/?p=u-boot.git;a=commitdiff;h=fcdd8aaa48dfcac492cbac5436d9...
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...
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.
I hope this helps.
Regards,
Hans
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On 11/28/2015 09:55 AM, Simon Glass wrote:
+Stephen
On 26 November 2015 at 03:25, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 26-11-15 01:38, Stefan Bruens wrote:
On Wednesday 25 November 2015 16:55:54 Sumeet Jauhar wrote:
Hello All,
I am new to Rpi and for a project I need to install Uboot for Rpi. For starters I installed Raspbian-jessie to the pi and it worked fine. Now I am attempting to use uboot but I don't succeed. I am trying to follow the instructions http://elinux.org/RPi_U-Boot and http://arrizza.org/wiki/index.php/RPI_U-boot . Here is what i have done so far.
There seems to be a problem with the RPi and USB Low-speed and Full-speed devices.
Yes, LS/FS devices probably won't work.
If you attach an LS/FS device directly to the bcm2835 USB controller, they should work fine with recent versions of U-Boot. This is possible with a RPi model A.
However, with an RPi model B, there is an integrated USB hub which runs at HS. This requires "split transactions" to be implemented by the USB host controller in order to communicate with an LS/FS device. This is not yet implemented in the U-Boot driver for this HW.

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
participants (5)
-
Hans de Goede
-
Simon Glass
-
Stefan Bruens
-
Stephen Warren
-
Sumeet Jauhar