[RESEND v2 PATCH 04/16] usb: musb: Always clear the data toggle bit when configuring ep

Pali Rohár pali at kernel.org
Sun Feb 7 14:50:04 CET 2021


Without this patch clearing was done only when U-Boot was compiled with
MUSB Host Controller. But clearing of data toggle bit is needed also for
MUSB Device Controller otherwise Device Controller does not work correctly.

Signed-off-by: Pali Rohár <pali at kernel.org>
Reviewed-by: Lukasz Majewski <lukma at denx.de>
Acked-by: Pavel Machek <pavel at ucw.cz>
---
 drivers/usb/musb/musb_core.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 147b2eb929..cc6dc3839d 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -81,10 +81,8 @@ void musb_configure_ep(const struct musb_epinfo *epinfo, u8 cnt)
 			config_fifo(tx, idx, fifoaddr);
 
 			csr = readw(&musbr->txcsr);
-#if defined(CONFIG_USB_MUSB_HCD)
 			/* clear the data toggle bit */
 			writew(csr | MUSB_TXCSR_CLRDATATOG, &musbr->txcsr);
-#endif
 			/* Flush fifo if required */
 			if (csr & MUSB_TXCSR_TXPKTRDY)
 				writew(csr | MUSB_TXCSR_FLUSHFIFO,
@@ -94,10 +92,8 @@ void musb_configure_ep(const struct musb_epinfo *epinfo, u8 cnt)
 			config_fifo(rx, idx, fifoaddr);
 
 			csr = readw(&musbr->rxcsr);
-#if defined(CONFIG_USB_MUSB_HCD)
 			/* clear the data toggle bit */
 			writew(csr | MUSB_RXCSR_CLRDATATOG, &musbr->rxcsr);
-#endif
 			/* Flush fifo if required */
 			if (csr & MUSB_RXCSR_RXPKTRDY)
 				writew(csr | MUSB_RXCSR_FLUSHFIFO,
-- 
2.20.1



More information about the U-Boot mailing list