[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