public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
@ 2010-11-16 12:37 Andre Schwarz
  2010-11-28 15:10 ` Kim Phillips
  0 siblings, 1 reply; 10+ messages in thread
From: Andre Schwarz @ 2010-11-16 12:37 UTC (permalink / raw)
  To: u-boot

USB register range IMMR+0x00-0xff is reserved and hangs the CPU.

Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
---
 arch/powerpc/cpu/mpc83xx/cpu_init.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
index 7a1cae7..cfead18 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
@@ -327,7 +327,7 @@ void cpu_init_f (volatile immap_t * im)
 	im->gpio[1].dir = CONFIG_SYS_GPIO2_DIR;
 #endif
 #ifdef CONFIG_USB_EHCI_FSL
-#ifndef CONFIG_MPC834x
+#if !defined(CONFIG_MPC834x) && !defined(CONFIG_MPC837x)
 	uint32_t temp;
 	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
 
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2010-11-16 12:37 [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB Andre Schwarz
@ 2010-11-28 15:10 ` Kim Phillips
  2010-11-29  7:59   ` Schwarz, Andre
  0 siblings, 1 reply; 10+ messages in thread
From: Kim Phillips @ 2010-11-28 15:10 UTC (permalink / raw)
  To: u-boot

On Tue, 16 Nov 2010 13:37:50 +0100
Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:

> USB register range IMMR+0x00-0xff is reserved and hangs the CPU.
> 
> Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
> ---

nack, 837x has a usb controller at IMMR+0x23000.  Check to see whether
there is an invalid USB clock setting in the SCCR?

Thanks,

Kim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2010-11-28 15:10 ` Kim Phillips
@ 2010-11-29  7:59   ` Schwarz, Andre
  2010-12-13 22:52     ` Kim Phillips
  0 siblings, 1 reply; 10+ messages in thread
From: Schwarz, Andre @ 2010-11-29  7:59 UTC (permalink / raw)
  To: u-boot

Kim,


> On Tue, 16 Nov 2010 13:37:50 +0100
> Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:
>
> > USB register range IMMR+0x00-0xff is reserved and hangs the CPU.
> >
> > Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
> > ---
>
> nack, 837x has a usb controller at IMMR+0x23000.?
yes - but offset 0x00-0xff is explicitly reserved regarding to the manual.
Don't know whether it is a "should not" or "must not be touched".
?
All I can see is a CPU hang with arbiter event register reporting a timeout on
0xe0023000.
?

? Check to see whether there is an invalid USB clock setting in the SCCR??
All clocks are turned on except SEC and 2nd TSEC.
?
After all USB is running fine with this patch, i.e. there can hardly be a
missing clock.


Please re-think you NAK.
?
--
Gru?,
Andr? Schwarz

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2010-11-29  7:59   ` Schwarz, Andre
@ 2010-12-13 22:52     ` Kim Phillips
  2011-02-28 16:18       ` Andre Schwarz
  0 siblings, 1 reply; 10+ messages in thread
From: Kim Phillips @ 2010-12-13 22:52 UTC (permalink / raw)
  To: u-boot

On Mon, 29 Nov 2010 08:59:21 +0100
"Schwarz,Andre" <andre.schwarz@matrix-vision.de> wrote:

> Kim,
> 
> 
> > On Tue, 16 Nov 2010 13:37:50 +0100
> > Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:
> >
> > > USB register range IMMR+0x00-0xff is reserved and hangs the CPU.
> > >
> > > Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
> > > ---
> >
> > nack, 837x has a usb controller at IMMR+0x23000.?
> yes - but offset 0x00-0xff is explicitly reserved regarding to the manual.
> Don't know whether it is a "should not" or "must not be touched".
> ?
> All I can see is a CPU hang with arbiter event register reporting a timeout on
> 0xe0023000.
> ?
> 
> ? Check to see whether there is an invalid USB clock setting in the SCCR??
> All clocks are turned on except SEC and 2nd TSEC.
> ?
> After all USB is running fine with this patch, i.e. there can hardly be a
> missing clock.
> 
> 
> Please re-think you NAK.

afaik, 834x and 837x don't have any special USB settings in common, so,
this patch, at least in it's current form, is not on.

0xe0023500 should be the address of the config register being accessed
here; please check the code isn't accessing 0xe0023000, as you mention
above.

If that's correct, try something like the following so we can determine
what setting the USB controller didn't agree with:

diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
index 7a1cae7..cbc4157 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
@@ -332,7 +332,7 @@ void cpu_init_f (volatile immap_t * im)
 	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
 
 	/* Configure interface. */
-	setbits_be32(&ehci->control, REFSEL_16MHZ | UTMI_PHY_EN);
+	setbits_be32(&ehci->control, 0);
 
 	/* Wait for clock to stabilize */
 	do {

Thanks,

Kim

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2010-12-13 22:52     ` Kim Phillips
@ 2011-02-28 16:18       ` Andre Schwarz
  2011-03-31  1:14         ` Kim Phillips
  0 siblings, 1 reply; 10+ messages in thread
From: Andre Schwarz @ 2011-02-28 16:18 UTC (permalink / raw)
  To: u-boot

Kim,

finally found some time to re-work my 8377 board code for submission.

sorry to bother you again, but I again stumbled over the discussed USB 
init issue :
>>> nack, 837x has a usb controller at IMMR+0x23000.
>> yes - but offset 0x00-0xff is explicitly reserved regarding to the manual.
>> Don't know whether it is a "should not" or "must not be touched".
>>   
>> All I can see is a CPU hang with arbiter event register reporting a timeout on
>> 0xe0023000.
>>   
>>
>>    Check to see whether there is an invalid USB clock setting in the SCCR? 
>> All clocks are turned on except SEC and 2nd TSEC.
>>   
>> After all USB is running fine with this patch, i.e. there can hardly be a
>> missing clock.
>>
>>
>> Please re-think you NAK.
> afaik, 834x and 837x don't have any special USB settings in common, so,
> this patch, at least in it's current form, is not on.
>
> 0xe0023500 should be the address of the config register being accessed
> here; please check the code isn't accessing 0xe0023000, as you mention
> above.

ok - this was some kind of misunderstanding.
ehci regs are based at immr + 0x23000 with the "config" pointing to 
offset 0x500 inside ehci.
This looks sane to me.

> If that's correct, try something like the following so we can determine
> what setting the USB controller didn't agree with:
>
> diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> index 7a1cae7..cbc4157 100644
> --- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
> +++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> @@ -332,7 +332,7 @@ void cpu_init_f (volatile immap_t * im)
>   	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
>
>   	/* Configure interface. */
> -	setbits_be32(&ehci->control, REFSEL_16MHZ | UTMI_PHY_EN);
MPC837x has only 2 working bits inside the control register :

Bit29: USB_EN -> should be set to 1 before USB can be used.
Bit31: ULPI_INT_EN -> enables an ULPI wake-up irq.

Both "REFSEL_16MHZ" and "UTMI_PHY_EN" are completely out of scope for 
MPC837x.

> +	setbits_be32(&ehci->control, 0);
>
>   	/* Wait for clock to stabilize */
This loop never returns on MPC837x because "PHY_CLK_VALID" isn't valid.
>   	do {    temp = __raw_readl(&ehci->control);
>                  udelay(1000);
>          } while (!(temp&  PHY_CLK_VALID));
>
I still wonder how there can be a single working MPC837x board with 
CONFIG_USB_EHCI_FSL set.

Some pending patches on your side ?
What kind of patch might get an ACK from your side ?

-- 

Regards,
Andre



MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2011-02-28 16:18       ` Andre Schwarz
@ 2011-03-31  1:14         ` Kim Phillips
  2011-03-31  7:52           ` Andre Schwarz
  0 siblings, 1 reply; 10+ messages in thread
From: Kim Phillips @ 2011-03-31  1:14 UTC (permalink / raw)
  To: u-boot

On Mon, 28 Feb 2011 17:18:38 +0100
Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:

> sorry to bother you again, but I again stumbled over the discussed USB 
> init issue :
> >>> nack, 837x has a usb controller at IMMR+0x23000.
> >> yes - but offset 0x00-0xff is explicitly reserved regarding to the manual.
> >> Don't know whether it is a "should not" or "must not be touched".
> >>   
> >> All I can see is a CPU hang with arbiter event register reporting a timeout on
> >> 0xe0023000.
> >>   
> >>
> >>    Check to see whether there is an invalid USB clock setting in the SCCR? 
> >> All clocks are turned on except SEC and 2nd TSEC.
> >>   
> >> After all USB is running fine with this patch, i.e. there can hardly be a
> >> missing clock.
> >>
> >>
> >> Please re-think you NAK.
> > afaik, 834x and 837x don't have any special USB settings in common, so,
> > this patch, at least in it's current form, is not on.
> >
> > 0xe0023500 should be the address of the config register being accessed
> > here; please check the code isn't accessing 0xe0023000, as you mention
> > above.
> 
> ok - this was some kind of misunderstanding.
> ehci regs are based at immr + 0x23000 with the "config" pointing to 
> offset 0x500 inside ehci.
> This looks sane to me.

ok, as long as it's confirmed.

> > If that's correct, try something like the following so we can determine
> > what setting the USB controller didn't agree with:
> >
> > diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> > index 7a1cae7..cbc4157 100644
> > --- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
> > +++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> > @@ -332,7 +332,7 @@ void cpu_init_f (volatile immap_t * im)
> >   	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
> >
> >   	/* Configure interface. */
> > -	setbits_be32(&ehci->control, REFSEL_16MHZ | UTMI_PHY_EN);
> MPC837x has only 2 working bits inside the control register :
> 
> Bit29: USB_EN -> should be set to 1 before USB can be used.
> Bit31: ULPI_INT_EN -> enables an ULPI wake-up irq.
> 
> Both "REFSEL_16MHZ" and "UTMI_PHY_EN" are completely out of scope for 
> MPC837x.

that's why I'm suggesting we confirm that touching the REFSEL_16MHZ and
UTMI_PHY_EN bits aren't sending the 837x controller into oblivion - did
you test the patch?

> > +	setbits_be32(&ehci->control, 0);
> >
> >   	/* Wait for clock to stabilize */
> This loop never returns on MPC837x because "PHY_CLK_VALID" isn't valid.

right, we need to narrow down the reason for this.

> >   	do {    temp = __raw_readl(&ehci->control);
> >                  udelay(1000);
> >          } while (!(temp&  PHY_CLK_VALID));
> >
> I still wonder how there can be a single working MPC837x board with 
> CONFIG_USB_EHCI_FSL set.
> 
> Some pending patches on your side ?
> What kind of patch might get an ACK from your side ?

nothing that suggests 834x and 837x have any special USB settings in
common - because it's not true and therefore misleading.

Kim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB.
  2011-03-31  1:14         ` Kim Phillips
@ 2011-03-31  7:52           ` Andre Schwarz
  2011-04-01 21:53             ` [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts Kim Phillips
  0 siblings, 1 reply; 10+ messages in thread
From: Andre Schwarz @ 2011-03-31  7:52 UTC (permalink / raw)
  To: u-boot

Kim,

> On Mon, 28 Feb 2011 17:18:38 +0100
> Andre Schwarz<andre.schwarz@matrix-vision.de>  wrote:
>
>> sorry to bother you again, but I again stumbled over the discussed USB
>> init issue :
>>>>> nack, 837x has a usb controller at IMMR+0x23000.
>>>> yes - but offset 0x00-0xff is explicitly reserved regarding to the manual.
>>>> Don't know whether it is a "should not" or "must not be touched".
>>>>
>>>> All I can see is a CPU hang with arbiter event register reporting a timeout on
>>>> 0xe0023000.
>>>>
>>>>
>>>>     Check to see whether there is an invalid USB clock setting in the SCCR?
>>>> All clocks are turned on except SEC and 2nd TSEC.
>>>>
>>>> After all USB is running fine with this patch, i.e. there can hardly be a
>>>> missing clock.
>>>>
>>>>
>>>> Please re-think you NAK.
>>> afaik, 834x and 837x don't have any special USB settings in common, so,
>>> this patch, at least in it's current form, is not on.
>>>
>>> 0xe0023500 should be the address of the config register being accessed
>>> here; please check the code isn't accessing 0xe0023000, as you mention
>>> above.
>> ok - this was some kind of misunderstanding.
>> ehci regs are based at immr + 0x23000 with the "config" pointing to
>> offset 0x500 inside ehci.
>> This looks sane to me.
> ok, as long as it's confirmed.
>
>>> If that's correct, try something like the following so we can determine
>>> what setting the USB controller didn't agree with:
>>>
>>> diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
>>> index 7a1cae7..cbc4157 100644
>>> --- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
>>> +++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
>>> @@ -332,7 +332,7 @@ void cpu_init_f (volatile immap_t * im)
>>>    	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
>>>
>>>    	/* Configure interface. */
>>> -	setbits_be32(&ehci->control, REFSEL_16MHZ | UTMI_PHY_EN);
>> MPC837x has only 2 working bits inside the control register :
>>
>> Bit29: USB_EN ->  should be set to 1 before USB can be used.
>> Bit31: ULPI_INT_EN ->  enables an ULPI wake-up irq.
>>
>> Both "REFSEL_16MHZ" and "UTMI_PHY_EN" are completely out of scope for
>> MPC837x.
> that's why I'm suggesting we confirm that touching the REFSEL_16MHZ and
> UTMI_PHY_EN bits aren't sending the 837x controller into oblivion - did
> you test the patch?

yes - writing those bits or not makes no difference ...

>>> +	setbits_be32(&ehci->control, 0);
>>>
>>>    	/* Wait for clock to stabilize */
>> This loop never returns on MPC837x because "PHY_CLK_VALID" isn't valid.
> right, we need to narrow down the reason for this.
>
... it is this loop that *can not* return since 
ehci->control[PHY_CLK_VALID] is always 0 on 837x.
This can be seen by having a look at the reference manual (Rev. 1 page 
20-46 / Chapter 20.3.2.28).

>>>    	do {    temp = __raw_readl(&ehci->control);
>>>                   udelay(1000);
>>>           } while (!(temp&   PHY_CLK_VALID));
>>>
>> I still wonder how there can be a single working MPC837x board with
>> CONFIG_USB_EHCI_FSL set.
>>
>> Some pending patches on your side ?
>> What kind of patch might get an ACK from your side ?
> nothing that suggests 834x and 837x have any special USB settings in
> common - because it's not true and therefore misleading.

I never ever said that 834x and 837x have anything in common regarding USB.
All I say is that they both must not run into this loop.

If you see any problems or'ing 837x into the #ifndef I suggest you come 
up with a positive
#ifdef being valid for only those chips that need it. Honestly I don't 
know which SoC's will need it.

All I want is to skip this loop on 837x.


Regards,
Andr?


MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts
  2011-03-31  7:52           ` Andre Schwarz
@ 2011-04-01 21:53             ` Kim Phillips
  2011-04-04 10:52               ` Andre Schwarz
  0 siblings, 1 reply; 10+ messages in thread
From: Kim Phillips @ 2011-04-01 21:53 UTC (permalink / raw)
  To: u-boot

i.e, to those parts that have PHY_CLK_VALID bits in their USB
CONTROL registers:

mpc8308	 WU_INT, PHY_CLK_SEL, USB_EN, WU_INT_EN, ULPI_INT_EN
mpc831x	 PHY_CLK_VALID, WU_INT, CLKIN_SEL, PHY_CLK_SEL, UTMI_PHY_EN,
	 PLL_RESET, REFSEL, OTG_PORT, KEEP_OTG_ON, LSF_EN, USB_EN,
	 ULPI_INT_EN
mpc834x	 USB_EN, ULPI_INT1_EN (MPH only), ULPI_INT0_EN
mpc837x	 USB_EN, ULPI_INT_EN

(mpc832x, mpc8360 don't have a USB_EHCI_FSL compatible controller)

this prevents non-831x parts from never completing cpu_init_f(),
because the (non-existent) PHY_CLK_VALID bit never gets set.

Reported-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
---
 arch/powerpc/cpu/mpc83xx/cpu_init.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
index 7a1cae7..76afba5 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
@@ -326,8 +326,7 @@ void cpu_init_f (volatile immap_t * im)
 	im->gpio[1].dat = CONFIG_SYS_GPIO2_DAT;
 	im->gpio[1].dir = CONFIG_SYS_GPIO2_DIR;
 #endif
-#ifdef CONFIG_USB_EHCI_FSL
-#ifndef CONFIG_MPC834x
+#if defined(CONFIG_USB_EHCI_FSL) && defined(CONFIG_MPC831x)
 	uint32_t temp;
 	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
 
@@ -340,7 +339,6 @@ void cpu_init_f (volatile immap_t * im)
 		udelay(1000);
 	} while (!(temp & PHY_CLK_VALID));
 #endif
-#endif
 }
 
 int cpu_init_r (void)
-- 
1.7.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts
  2011-04-01 21:53             ` [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts Kim Phillips
@ 2011-04-04 10:52               ` Andre Schwarz
  2011-04-05  1:26                 ` Kim Phillips
  0 siblings, 1 reply; 10+ messages in thread
From: Andre Schwarz @ 2011-04-04 10:52 UTC (permalink / raw)
  To: u-boot

Kim,

excellent - thanks.

> i.e, to those parts that have PHY_CLK_VALID bits in their USB
> CONTROL registers:
>
> mpc8308	 WU_INT, PHY_CLK_SEL, USB_EN, WU_INT_EN, ULPI_INT_EN
> mpc831x	 PHY_CLK_VALID, WU_INT, CLKIN_SEL, PHY_CLK_SEL, UTMI_PHY_EN,
> 	 PLL_RESET, REFSEL, OTG_PORT, KEEP_OTG_ON, LSF_EN, USB_EN,
> 	 ULPI_INT_EN
> mpc834x	 USB_EN, ULPI_INT1_EN (MPH only), ULPI_INT0_EN
> mpc837x	 USB_EN, ULPI_INT_EN
>
> (mpc832x, mpc8360 don't have a USB_EHCI_FSL compatible controller)
>
> this prevents non-831x parts from never completing cpu_init_f(),
> because the (non-existent) PHY_CLK_VALID bit never gets set.
>
> Reported-by: Andre Schwarz<andre.schwarz@matrix-vision.de>
> Signed-off-by: Kim Phillips<kim.phillips@freescale.com>
Tested-by: Andre Schwarz <andre.schwarz@matrix-vision.de>

Works on MPC8343 and MPC8377.

> ---
>   arch/powerpc/cpu/mpc83xx/cpu_init.c |    4 +---
>   1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> index 7a1cae7..76afba5 100644
> --- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
> +++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
> @@ -326,8 +326,7 @@ void cpu_init_f (volatile immap_t * im)
>   	im->gpio[1].dat = CONFIG_SYS_GPIO2_DAT;
>   	im->gpio[1].dir = CONFIG_SYS_GPIO2_DIR;
>   #endif
> -#ifdef CONFIG_USB_EHCI_FSL
> -#ifndef CONFIG_MPC834x
> +#if defined(CONFIG_USB_EHCI_FSL)&&  defined(CONFIG_MPC831x)
>   	uint32_t temp;
>   	struct usb_ehci *ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
>
> @@ -340,7 +339,6 @@ void cpu_init_f (volatile immap_t * im)
>   		udelay(1000);
>   	} while (!(temp&  PHY_CLK_VALID));
>   #endif
> -#endif
>   }
>
>   int cpu_init_r (void)

Cheers,
Andr?



MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts
  2011-04-04 10:52               ` Andre Schwarz
@ 2011-04-05  1:26                 ` Kim Phillips
  0 siblings, 0 replies; 10+ messages in thread
From: Kim Phillips @ 2011-04-05  1:26 UTC (permalink / raw)
  To: u-boot

On Mon, 4 Apr 2011 12:52:25 +0200
Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:

> > i.e, to those parts that have PHY_CLK_VALID bits in their USB
> > CONTROL registers:
> >
> > mpc8308	 WU_INT, PHY_CLK_SEL, USB_EN, WU_INT_EN, ULPI_INT_EN
> > mpc831x	 PHY_CLK_VALID, WU_INT, CLKIN_SEL, PHY_CLK_SEL, UTMI_PHY_EN,
> > 	 PLL_RESET, REFSEL, OTG_PORT, KEEP_OTG_ON, LSF_EN, USB_EN,
> > 	 ULPI_INT_EN
> > mpc834x	 USB_EN, ULPI_INT1_EN (MPH only), ULPI_INT0_EN
> > mpc837x	 USB_EN, ULPI_INT_EN
> >
> > (mpc832x, mpc8360 don't have a USB_EHCI_FSL compatible controller)
> >
> > this prevents non-831x parts from never completing cpu_init_f(),
> > because the (non-existent) PHY_CLK_VALID bit never gets set.
> >
> > Reported-by: Andre Schwarz<andre.schwarz@matrix-vision.de>
> > Signed-off-by: Kim Phillips<kim.phillips@freescale.com>
> Tested-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
> 
> Works on MPC8343 and MPC8377.

applied to mpc83xx/master.

thanks for testing!

Kim

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-04-05  1:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-16 12:37 [U-Boot] [PATCH] [MPC837x v2] Make it work again with USB Andre Schwarz
2010-11-28 15:10 ` Kim Phillips
2010-11-29  7:59   ` Schwarz, Andre
2010-12-13 22:52     ` Kim Phillips
2011-02-28 16:18       ` Andre Schwarz
2011-03-31  1:14         ` Kim Phillips
2011-03-31  7:52           ` Andre Schwarz
2011-04-01 21:53             ` [U-Boot] [PATCH] mpc83xx: restrict UTMI PHY configuration to 831x parts Kim Phillips
2011-04-04 10:52               ` Andre Schwarz
2011-04-05  1:26                 ` Kim Phillips

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox