[U-Boot] ulpi patch in uboot
Stefano Babic
sbabic at denx.de
Thu May 16 16:35:57 CEST 2013
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
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list