Patchwork [U-Boot,MPC837x,v2] Make it work again with USB.

login
register
mail settings
Submitter Andre Schwarz
Date Nov. 16, 2010, 12:37 p.m.
Message ID <1289911070-21742-1-git-send-email-andre.schwarz@matrix-vision.de>
Download mbox | patch
Permalink /patch/71391/
State Rejected
Delegated to: Kim Phillips
Headers show

Comments

Andre Schwarz - Nov. 16, 2010, 12:37 p.m.
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(-)
Kim Phillips - Nov. 28, 2010, 3:10 p.m.
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
Andre Schwarz - Nov. 29, 2010, 7:59 a.m.
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

Patch

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;