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

Marek Vasut
2014-12-11T13:09:30Z

On Wednesday, December 10, 2014 at 04:23:49 PM, Maxime Ripard wrote:
> Hi,
>
> On Thu, Nov 20, 2014 at 05:49:17PM +0100, Maxime Ripard wrote:
> > 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
>
> Just an update on this one.
>
> Our configuration was missing CONFIG_USB_GADGET_DUALSPEED that, even
> though its name suggest otherwise, seems to be needed to enable USB2.0
> devices support in the musb-new driver.
>
> With this additional configuration option, everything works as
> expected.

Wow, this is excellent news, good job finding this!

On the other hand, this behavior is very braindead and should be fixed before
someone else gets burnt. Do you have any ideas for a patch please ?

Best regards,
Marek Vasut