[beagleboard] U-Boot: EHCI or OTG Host support for Mass Storage Devices (Rev C4)

Dear all,

I am looking at USB Host support in U-Boot (not kernel) for the Beagle
Board, either via EHCI or the MUSB drivers - I'm not too fussy about
which one, though both would be nice at some time in the future :slight_smile:
In particular, I want to get USB Mass Storage Device support working.
I have a Rev C4 board.

There are hints that patches are available *somewhere* [1], but sever
hours of googling has evaded me so far. Another message has hinted
that the drivers aren't available [2].

I have compiled and run U-Boot with the C4 USB changes [3]. I have
been playing around with CONFIG_MUSB_HCD to try to get host support
but without success so far.

My motivation for this that I have another board with U-Boot (PowerPC,
not ARM) that has unstable USB drivers and I am having problems with
some (but not all) USB sticks in U-Boot. I want to see if the problem
can be reproduced on separate hardware with different low-level
drivers to try to determine where the actual problem is.

Are there separate patches that I need to apply? If they're already in
u-boot, what configuration should I use to turn the functionality on
in omap3_beagle.h?

Best regards,
Damien Dusha.

[1] http://groups.google.com/group/beagleboard/browse_thread/thread/7ac19bf1f9ff1107
[2] http://groups.google.com/group/beagleboard/browse_thread/thread/af7c744fb661bde1
[3] http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/

Dear all,

Over the weekend, I had another crack at getting MUSB going. I found
and manually applied the patch (since the u-boot structure ha changed)
that was submitted to the Denx mailing list some time ago:
http://www.mail-archive.com/u-boot@lists.denx.de/msg09438.html which
was fairly similar to the changes I made when I looked at it on
Friday. I've also enable some of the debugging output.

I applied it against Khasim's Rev C4 repository:
http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/

Texas Instruments X-Loader 1.4.2 (Feb 19 2009 -
12:01:24)
Reading boot
sector
Loading u-boot.bin from
mmc

U-Boot 2009.11 (Apr 19 2010 -
09:28:22)

U-Boot code: 80E80000 -> 80EB5188 BSS: ->
80EF1C94
OMAP3530-GP ES3.1, CPU-OPP2
L3-165MHz
OMAP3 Beagle board + LPDDR/
NAND
I2C:
ready
RAM
Configuration:
Bank #0: 80000000 128
MB
Bank #1: 88000000 128
MB
NAND: 256
MiB
*** Warning - bad CRC or NAND, using default
environment

In:
serial
Out:
serial
Err:
serial
Board revision
C4
Die ID
#2754000400000000040365fa1401c007
### main_loop entered:
bootdelay=10

### main_loop: bootcmd="if mmc init; then if run loadbootscript; then
run boots"
Hit any key to stop autoboot:
0
OMAP3 beagleboard.org # usb
start
(Re)start
USB...
USB: scanning bus for devices... New Device
0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index
0x0 length 0x40
usb_new_device: usb_get_descriptor()
failed
No USB Device
found
       scanning bus for storage devices...
i=0
i=1
0 Storage Device(s)
found
OMAP3 beagleboard.org #

I'm not sure what I'm doing wrong here - any pointers to help debug
are most welcome :slight_smile:

  -- Damien