summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2014-07-22 12:47:02 +0200
committerMarek Vasut <marex@denx.de>2014-10-06 21:04:44 +0200
commit16b61d13bab361853564da401b15fc34ae1dfea7 (patch)
tree1ec1fefcfc6fcae8d6f4a016e901b971b27883ad /drivers/usb
parentd1fcbae1173f00917f5a71e4c074a61120605021 (diff)
downloadu-boot-imx-16b61d13bab361853564da401b15fc34ae1dfea7.zip
u-boot-imx-16b61d13bab361853564da401b15fc34ae1dfea7.tar.gz
u-boot-imx-16b61d13bab361853564da401b15fc34ae1dfea7.tar.bz2
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/musb-new/musb_core.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/usb/musb-new/musb_core.c b/drivers/usb/musb-new/musb_core.c
index 4edd6d7..242cc30 100644
--- a/drivers/usb/musb-new/musb_core.c
+++ b/drivers/usb/musb-new/musb_core.c
@@ -942,9 +942,7 @@ void musb_start(struct musb *musb)
/* put into basic highspeed mode and start session */
musb_writeb(regs, MUSB_POWER, MUSB_POWER_ISOUPDATE
-#ifdef CONFIG_USB_GADGET_DUALSPEED
| MUSB_POWER_HSENAB
-#endif
/* ENSUSPEND wedges tusb */
/* | MUSB_POWER_ENSUSPEND */
);