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

Marek Vasut
2014-11-21T19:35:07Z

On Friday, November 21, 2014 at 03:57:42 PM, Maxime Ripard wrote:
> 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 for the helpful comments. I personally don't have much experience with
the mUSB, so I'm glad that others do help here.

Thanks!