[PATCH] omap-ulpi: Fix the omap3/4 access function to the bus

Michael Trimarchi michael at amarulasolutions.com
Thu May 16 15:16:17 CEST 2013


Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
---
 drivers/usb/ulpi/omap-ulpi-viewport.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/ulpi/omap-ulpi-viewport.c b/drivers/usb/ulpi/omap-ulpi-viewport.c
index 3c1ea1a..f849733 100644
--- a/drivers/usb/ulpi/omap-ulpi-viewport.c
+++ b/drivers/usb/ulpi/omap-ulpi-viewport.c
@@ -22,7 +22,8 @@
 #include <asm/io.h>
 #include <usb/ulpi.h>
 
-#define OMAP_ULPI_WR_OPSEL	(3 << 21)
+#define OMAP_ULPI_WR_OPSEL	(2 << 22)
+#define OMAP_ULPI_RD_OPSEL	(3 << 22)
 #define OMAP_ULPI_ACCESS	(1 << 31)
 
 /*
@@ -33,7 +34,7 @@ static int ulpi_wait(struct ulpi_viewport *ulpi_vp, u32 mask)
 	int timeout = CONFIG_USB_ULPI_TIMEOUT;
 
 	while (--timeout) {
-		if ((readl(ulpi_vp->viewport_addr) & mask))
+		if (!(readl(ulpi_vp->viewport_addr) & mask))
 			return 0;
 
 		udelay(1);
@@ -47,18 +48,15 @@ static int ulpi_wait(struct ulpi_viewport *ulpi_vp, u32 mask)
  *
  * returns 0 on success.
  */
-static int ulpi_wakeup(struct ulpi_viewport *ulpi_vp)
+static int ulpi_start(struct ulpi_viewport *ulpi_vp)
 {
 	int err;
 
-	if (readl(ulpi_vp->viewport_addr) & OMAP_ULPI_ACCESS)
-		return 0; /* already awake */
-
 	writel(OMAP_ULPI_ACCESS, ulpi_vp->viewport_addr);
 
 	err = ulpi_wait(ulpi_vp, OMAP_ULPI_ACCESS);
 	if (err)
-		debug("ULPI wakeup timed out\n");
+		debug("ULPI start timed out\n");
 
 	return err;
 }
@@ -70,7 +68,7 @@ static int ulpi_request(struct ulpi_viewport *ulpi_vp, u32 value)
 {
 	int err;
 
-	err = ulpi_wakeup(ulpi_vp);
+	err = ulpi_start(ulpi_vp);
 	if (err)
 		return err;
 
@@ -95,7 +93,7 @@ u32 ulpi_read(struct ulpi_viewport *ulpi_vp, u8 *reg)
 {
 	int err;
 	u32 val = ((ulpi_vp->port_num & 0xf) << 24) |
-			 OMAP_ULPI_WR_OPSEL | ((u32)reg << 16);
+			 OMAP_ULPI_RD_OPSEL | ((u32)reg << 16);
 
 	err = ulpi_request(ulpi_vp, val);
 	if (err)
-- 
1.7.9.5



More information about the U-Boot mailing list