[U-Boot] [PATCH RFC] usb: Prevent using reserved registers on DM36x usb

Andrew Murray amurray at embedded-bits.co.uk
Fri Sep 13 12:13:09 CEST 2013


The musb driver defines and uses MUSB_CSR0_H_DIS_PING, however this
bit is reserved on the DM36x. Thus this patch ensures that the
reserved bit is not accesssed.

It has been observed that some USB devices will fail to enumerate
with errors such as 'error in inquiry' without this patch.

See http://www.ti.com/litv/pdf/sprufh9a for details.

Cc: Marek Vasut <marex at denx.de>
Cc: Tom Rini <trini at ti.com>
Signed-off-by: Andrew Murray <amurray at embedded-bits.co.uk>
---
 drivers/usb/musb/musb_core.h |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index ec8a038..c9a9d66 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -216,7 +216,11 @@ struct musb_regs {
 #define MUSB_CSR0_P_SENTSTALL	0x0004
 
 /* CSR0 in Host mode */
+#if defined(CONFIG_SOC_DM365)
+#define MUSB_CSR0_H_DIS_PING		0x0000
+#else
 #define MUSB_CSR0_H_DIS_PING		0x0800
+#endif
 #define MUSB_CSR0_H_WR_DATATOGGLE	0x0400	/* Set to allow setting: */
 #define MUSB_CSR0_H_DATATOGGLE		0x0200	/* Data toggle control */
 #define MUSB_CSR0_H_NAKTIMEOUT		0x0080
-- 
1.7.9.5



More information about the U-Boot mailing list