[U-Boot] ulpi patch in uboot

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


Hi

On Thu, May 16, 2013 at 04:35:57PM +0200, Stefano Babic wrote:
> On 16/05/2013 15:19, Michael Trimarchi wrote:
> 
> 
> Hi Michael,
> 
> > From 7e99dcbe83e26fff3a0168105eec99003650b744 Mon Sep 17 00:00:00 2001
> > From: Michael Trimarchi <michael at amarulasolutions.com>
> > Date: Thu, 16 May 2013 15:16:17 +0200
> > Subject: [PATCH] omap-ulpi: Fix the omap3/4 access function to the bus
> > 
> > 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)
> > 
> 
> Thanks for the patch. Could you please sent it again with a right
> subject-id in the e-mail to allow to be included automatically by
> patchworks ? Please also put in CC Tom Rini (trini at ti.com, U-Boot
> maintainer) and Marek Vasut (marex at denx.de, USB custodian).
> 
> Thanks,
> Stefano

I have done it better. Give me some time to do a better commit message ;)

Michael


More information about the U-Boot mailing list