Commit 16b61d13bab361853564da401b15fc34ae1dfea7

Authored by Daniel Mack
Committed by Marek Vasut
1 parent d1fcbae117

usb: musb-new: core: set MUSB_POWER_HSENAB in MUSB_POWER for host mode

This bit allows the MUSB controller to negotiate for high-speed mode when
the device is reset by the hub. If unset, Babble errors occur with
high-speed mass storage devices right after the first packet. This condition
is not caught by the interrupt handles in U-Boot, so no recovery is done,
and the USB communication is stuck.

To fix this, set the bit unconditionally, not only for
CONFIG_USB_GADGET_DUALSPEED but also for host-only modes.

Signed-off-by: Daniel Mack <zonque@gmail.com>

Showing 1 changed file with 0 additions and 2 deletions Side-by-side Diff

drivers/usb/musb-new/musb_core.c
... ... @@ -942,9 +942,7 @@
942 942  
943 943 /* put into basic highspeed mode and start session */
944 944 musb_writeb(regs, MUSB_POWER, MUSB_POWER_ISOUPDATE
945   -#ifdef CONFIG_USB_GADGET_DUALSPEED
946 945 | MUSB_POWER_HSENAB
947   -#endif
948 946 /* ENSUSPEND wedges tusb */
949 947 /* | MUSB_POWER_ENSUSPEND */
950 948 );