* [U-Boot] ulpi patch in uboot
[not found] <5194AA1B.40201@amarulasolutions.com>
@ 2013-05-16 10:34 ` Stefano Babic
2013-05-16 11:17 ` Michael Trimarchi
2013-05-16 13:19 ` Michael Trimarchi
0 siblings, 2 replies; 6+ messages in thread
From: Stefano Babic @ 2013-05-16 10:34 UTC (permalink / raw)
To: u-boot
On 16/05/2013 11:42, Michael Trimarchi wrote:
> Hi a;;,
>
Hi Michael,
(I posted also to u-boot ML to check if someone else had issues)
> I think that this patch could be wrong for omap4 and omap3. The opcode shift
> shuld be 22 and not 21. And are you sure that are you using the bit 31
> in the correct way?
>
> Stefano, are you sure about your testing?
Well, it happened more as one year ago, but I tested again this morning
with the AM3517 I used for testing, using a version 2013.04-rc1
twister => usb start
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
twister => fatls usb 0
.disk/
So it seems working - I have not yet checked in manual, but if the shift
is wrong, it seems it has no drawbacks on my board ;-(
Best regards,
Stefano
>
> Michael
>
> commit 928c4bdf9b069be218436d25b96721395c4d671f
> Author: Govindraj.R <govindraj.raja@ti.com>
> Date: Mon Feb 6 03:55:32 2012 +0000
>
> usb: ulpi: Add omap-ulpi-view port support
>
> Based on discussion from this thread [1].
> Adding omap-view port that helps us in using the generic ulpi
> framework for any ulpi phy ops using the INSNREG05_ULPI viewport
> reg available on omap platform.
>
> Currently ehci ports are available on omap3/4 platforms so enable the same
> for beagle and panda, patch is tested on the same boards.
>
> Thanks to Igor Grinberg <grinberg@compulab.co.il> for reviewing the
> omap-ehci patches and suggesting this approach.
>
> [1]: http://www.mail-archive.com/u-boot at lists.denx.de/msg76076.html
>
>
--
=====================================================================
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
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ulpi patch in uboot
2013-05-16 10:34 ` [U-Boot] ulpi patch in uboot Stefano Babic
@ 2013-05-16 11:17 ` Michael Trimarchi
2013-05-16 13:19 ` Michael Trimarchi
1 sibling, 0 replies; 6+ messages in thread
From: Michael Trimarchi @ 2013-05-16 11:17 UTC (permalink / raw)
To: u-boot
Hi Stefano
On 16/05/13 12:34, Stefano Babic wrote:
> On 16/05/2013 11:42, Michael Trimarchi wrote:
>> Hi a;;,
>>
>
> Hi Michael,
>
> (I posted also to u-boot ML to check if someone else had issues)
>
>> I think that this patch could be wrong for omap4 and omap3. The opcode shift
>> shuld be 22 and not 21. And are you sure that are you using the bit 31
>> in the correct way?
>>
>> Stefano, are you sure about your testing?
>
> Well, it happened more as one year ago, but I tested again this morning
> with the AM3517 I used for testing, using a version 2013.04-rc1
>
> twister => usb start
> (Re)start USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 3 USB Device(s) found
> scanning usb for storage devices... 1 Storage Device(s) found
> twister => fatls usb 0
> .disk/
>
Sorry this does not show nothing. The phy use reset value.
Read and write command are wrong, the shift is wrong and the timeout condition is wrong
look at documentation. If I use the documentation the ulpi always timeout. In order
to have a proof of concept you need to read and print vendor id and product id.
Michael
> So it seems working - I have not yet checked in manual, but if the shift
> is wrong, it seems it has no drawbacks on my board ;-(
>
> Best regards,
> Stefano
>
>>
>> Michael
>>
>> commit 928c4bdf9b069be218436d25b96721395c4d671f
>> Author: Govindraj.R <govindraj.raja@ti.com>
>> Date: Mon Feb 6 03:55:32 2012 +0000
>>
>> usb: ulpi: Add omap-ulpi-view port support
>>
>> Based on discussion from this thread [1].
>> Adding omap-view port that helps us in using the generic ulpi
>> framework for any ulpi phy ops using the INSNREG05_ULPI viewport
>> reg available on omap platform.
>>
>> Currently ehci ports are available on omap3/4 platforms so enable the same
>> for beagle and panda, patch is tested on the same boards.
>>
>> Thanks to Igor Grinberg <grinberg@compulab.co.il> for reviewing the
>> omap-ehci patches and suggesting this approach.
>>
>> [1]: http://www.mail-archive.com/u-boot at lists.denx.de/msg76076.html
>>
>>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ulpi patch in uboot
2013-05-16 10:34 ` [U-Boot] ulpi patch in uboot Stefano Babic
2013-05-16 11:17 ` Michael Trimarchi
@ 2013-05-16 13:19 ` Michael Trimarchi
2013-05-16 14:24 ` Igor Grinberg
2013-05-16 14:35 ` Stefano Babic
1 sibling, 2 replies; 6+ messages in thread
From: Michael Trimarchi @ 2013-05-16 13:19 UTC (permalink / raw)
To: u-boot
Hi
On Thu, May 16, 2013 at 12:34:39PM +0200, Stefano Babic wrote:
> On 16/05/2013 11:42, Michael Trimarchi wrote:
> > Hi a;;,
> >
>
> Hi Michael,
>
> (I posted also to u-boot ML to check if someone else had issues)
>
> > I think that this patch could be wrong for omap4 and omap3. The opcode shift
> > shuld be 22 and not 21. And are you sure that are you using the bit 31
> > in the correct way?
> >
> > Stefano, are you sure about your testing?
>
> Well, it happened more as one year ago, but I tested again this morning
> with the AM3517 I used for testing, using a version 2013.04-rc1
>
> twister => usb start
> (Re)start USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 3 USB Device(s) found
> scanning usb for storage devices... 1 Storage Device(s) found
> twister => fatls usb 0
> .disk/
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ulpi patch in uboot
2013-05-16 13:19 ` Michael Trimarchi
@ 2013-05-16 14:24 ` Igor Grinberg
2013-05-16 14:35 ` Stefano Babic
1 sibling, 0 replies; 6+ messages in thread
From: Igor Grinberg @ 2013-05-16 14:24 UTC (permalink / raw)
To: u-boot
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 <michael@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 <michael@amarulasolutions.com>
Apart from the commit message:
Reviewed-by: Igor Grinberg <grinberg@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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ulpi patch in uboot
2013-05-16 13:19 ` Michael Trimarchi
2013-05-16 14:24 ` Igor Grinberg
@ 2013-05-16 14:35 ` Stefano Babic
2013-05-16 15:00 ` Michael Trimarchi
1 sibling, 1 reply; 6+ messages in thread
From: Stefano Babic @ 2013-05-16 14:35 UTC (permalink / raw)
To: u-boot
On 16/05/2013 15:19, Michael Trimarchi wrote:
Hi Michael,
> From 7e99dcbe83e26fff3a0168105eec99003650b744 Mon Sep 17 00:00:00 2001
> From: Michael Trimarchi <michael@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@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
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ulpi patch in uboot
2013-05-16 14:35 ` Stefano Babic
@ 2013-05-16 15:00 ` Michael Trimarchi
0 siblings, 0 replies; 6+ messages in thread
From: Michael Trimarchi @ 2013-05-16 15:00 UTC (permalink / raw)
To: u-boot
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@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@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
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-05-16 15:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <5194AA1B.40201@amarulasolutions.com>
2013-05-16 10:34 ` [U-Boot] ulpi patch in uboot Stefano Babic
2013-05-16 11:17 ` Michael Trimarchi
2013-05-16 13:19 ` Michael Trimarchi
2013-05-16 14:24 ` Igor Grinberg
2013-05-16 14:35 ` Stefano Babic
2013-05-16 15:00 ` Michael Trimarchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox