Cc'ed Marek and Govindraj.

On 05/16/13 16:19, Michael Trimarchi wrote:
> Hi

[...]

Thanks for the patch, it looks like a correct fix.
I'd like to hear that it works on an actual hardware.

> 
>>From 7e99dcbe83e26fff3a0168105eec99003650b744 Mon Sep 17 00:00:00 2001
> From: Michael Trimarchi <mich...@amarulasolutions.com>
> Date: Thu, 16 May 2013 15:16:17 +0200
> Subject: [PATCH] omap-ulpi: Fix the omap3/4 access function to the bus
> 

Please, add explanation what that patch does (not just the subject).

> Signed-off-by: Michael Trimarchi <mich...@amarulasolutions.com>

Apart from the commit message:

Reviewed-by: Igor Grinberg <grinb...@compulab.co.il>

> ---
>  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)
> 

-- 
Regards,
Igor.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to