[U-Boot] USB Host not enumerating properly on AM335x-based board

Maxime Ripard
2014-11-21T14:57:42Z

Hi Eric,

On Fri, Nov 21, 2014 at 11:20:37AM +0100, Eric B?nard wrote:
> Hi Maxime,
>
> Le Thu, 20 Nov 2014 17:49:17 +0100,
> Maxime Ripard <maxime.ripard@free-electrons.com> a ?crit :
>
> > Hi,
> >
> > I'm currently working on 2014.07, on a custom TI AM335x based board.
> >
> > Everything works great so far, except when we're trying to have USB
> > host working.
> >
> > The board has the MUSB1 controller wired as USB Host only, with the
> > following configuration:
> >
> > #define CONFIG_USB_MUSB_DSPS
> > #define CONFIG_ARCH_MISC_INIT
> > #define CONFIG_MUSB_PIO_ONLY
> > #define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
> > #define CONFIG_MUSB_HOST
> > #define CONFIG_MUSB_DSPS
> > #define CONFIG_AM335X_USB1
> > #define CONFIG_AM335X_USB1_MODE MUSB_HOST
> >
> > #ifdef CONFIG_MUSB_HOST
> > #define CONFIG_CMD_USB
> > #define CONFIG_USB_STORAGE
> > #define CONFIG_USB_HOST_ETHER
> > #define CONFIG_USB_ETHER_ASIX
> > #endif
> >
> > Whenever we try to scan the USB controller and that a device is
> > attached, we get the following output:
> >
> > U-Boot# usb start
> > (Re)start USB...
> > USB0: scanning bus 0 for devices... 1 USB Device(s) found
> > scanning usb for storage devices... 0 Storage Device(s) found
> > scanning usb for ethernet devices... 0 Ethernet Device(s) found
> >
> > The device itself being a USB key, it's somewhat odd that it
> > enumerates the device, but doesn't find the storage device...
> >
> > The same USB port with the same device works fine under Linux.
> >
> > The VBUS pin is still up after running the command, so it's not really
> > a matter of power being shut down on the bus.
> >
> > I'm kind of running out of idea on what to test next. The differences
> > between u-boot's musb-new and Linux' own musb driver seems thin and to
> > make sense, so I don't think the driver itself is to blame.
> >
> > Anyone experienced such a thing?
> >
> what is the log you get when you run "usb start" and the USB device is
> not plugged ?

I get:
U-Boot# usb start
(Re)start USB...
USB0: lowlevel init failed
USB error: all controllers failed lowlevel init

Which seems like something worth looking at. Also, when I do it a
second time, then it hangs, and finally reboots the board.

I don't really know what's going on, but we'll look into this.

Thanks!
Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141121/9045300a/attachment.pgp>