summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Liu <b-liu@ti.com>2013-03-21 05:27:48 +0000
committerTom Rini <trini@ti.com>2013-04-08 11:29:04 -0400
commit4de602f2b0576e935e9985bec6baf4e14857b7ff (patch)
tree58ce8c801810865dbf3a01a2351327b17dacb3e8
parent8bf3c322856f42d4db8acd7fa4f2a17898564064 (diff)
downloadu-boot-imx-4de602f2b0576e935e9985bec6baf4e14857b7ff.zip
u-boot-imx-4de602f2b0576e935e9985bec6baf4e14857b7ff.tar.gz
u-boot-imx-4de602f2b0576e935e9985bec6baf4e14857b7ff.tar.bz2
musb: am335x: disable bulk split-combine feature
On TI AM335x devices, MUSB has bulk split/combine feature enabled in the ConfigData register, but the current MUSB driver does not support it yet. Therefore, disable the feature for now, until the driver adds the support. One usecase which is broken because of this feature is that Ether gadget stops working in Fullspeed mode (by un-defining CONFIG_USB_GADGET_DUALSPEED) After desabled this feature, MUSB driver send packets in proper size (no more than 64 bytes) in Fullspeed mode. This has been validated with Ether gadget in Fullspeed mode on AM335x EVM. Signed-off-by: Bin Liu <b-liu@ti.com>
-rw-r--r--drivers/usb/musb-new/musb_core.c5
-rw-r--r--include/configs/am335x_evm.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/musb-new/musb_core.c b/drivers/usb/musb-new/musb_core.c
index 040a5c0..aa647e6 100644
--- a/drivers/usb/musb-new/musb_core.c
+++ b/drivers/usb/musb-new/musb_core.c
@@ -1421,6 +1421,7 @@ static int __devinit musb_core_init(u16 musb_type, struct musb *musb)
strcat(aInfo, ", dyn FIFOs");
musb->dyn_fifo = true;
}
+#ifndef CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
if (reg & MUSB_CONFIGDATA_MPRXE) {
strcat(aInfo, ", bulk combine");
musb->bulk_combine = true;
@@ -1429,6 +1430,10 @@ static int __devinit musb_core_init(u16 musb_type, struct musb *musb)
strcat(aInfo, ", bulk split");
musb->bulk_split = true;
}
+#else
+ musb->bulk_combine = false;
+ musb->bulk_split = false;
+#endif
if (reg & MUSB_CONFIGDATA_HBRXE) {
strcat(aInfo, ", HB-ISO Rx");
musb->hb_iso_rx = true;
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index b7c443c..dbd5ef3 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -352,6 +352,7 @@
#define CONFIG_ARCH_MISC_INIT
#define CONFIG_MUSB_GADGET
#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
#define CONFIG_USB_GADGET_DUALSPEED
#define CONFIG_MUSB_HOST
#define CONFIG_AM335X_USB0