Patchwork Fix UART clocks on 440SPe

login
register
mail settings
Submitter Benjamin Herrenschmidt
Date May 12, 2010, 2:22 a.m.
Message ID <1273630970.21352.85.camel@pasglop>
Download mbox | patch
Permalink /patch/52345/
State Awaiting Upstream
Delegated to: Josh Boyer
Headers show

Comments

Benjamin Herrenschmidt - May 12, 2010, 2:22 a.m.
The code to fixup the serial ports on 440SPe uses the incorrect
addresses for these. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

I'm surprised nobody noticed, serial is pretty busted for me without
that patch :-)
Stefan Roese - May 12, 2010, 9:02 a.m.
On Wednesday 12 May 2010 04:22:50 Benjamin Herrenschmidt wrote:
> The code to fixup the serial ports on 440SPe uses the incorrect
> addresses for these. This fixes it.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Acked-by: Stefan Roese <sr@denx.de>

Cheers,
Stefan
Josh Boyer - May 12, 2010, 10:30 a.m.
On Wed, May 12, 2010 at 12:22:50PM +1000, Benjamin Herrenschmidt wrote:
>The code to fixup the serial ports on 440SPe uses the incorrect
>addresses for these. This fixes it.
>
>Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>---
>
>I'm surprised nobody noticed, serial is pretty busted for me without
>that patch :-)

Odd.  I don't have a 440SPe, so no surprise there but I would have thought
someone would notice.  Though this is only needed if you are using an older
U-Boot that needs cuImage, and I'm guessing Stefan runs u-boot.git on his
boards ;)

>
>diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
>index 27db893..627de25 100644
>--- a/arch/powerpc/boot/4xx.c
>+++ b/arch/powerpc/boot/4xx.c
>@@ -544,9 +544,9 @@ void ibm440spe_fixup_clocks(unsigned int sys_clk,
> 	unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1);
>
> 	/* serial clocks beed fixup based on int/ext */

You couldn't be bothered to fixup the typo?  s/beed/need ;)  I'll fix it when
I bring this in.

>-	eplike_fixup_uart_clk(0, "/plb/opb/serial@10000200", ser_clk, plb_clk);
>-	eplike_fixup_uart_clk(1, "/plb/opb/serial@10000300", ser_clk, plb_clk);
>-	eplike_fixup_uart_clk(2, "/plb/opb/serial@10000600", ser_clk, plb_clk);
>+	eplike_fixup_uart_clk(0, "/plb/opb/serial@f0000200", ser_clk, plb_clk);
>+	eplike_fixup_uart_clk(1, "/plb/opb/serial@f0000300", ser_clk, plb_clk);
>+	eplike_fixup_uart_clk(2, "/plb/opb/serial@f0000600", ser_clk, plb_clk);
> }

Patch

diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
index 27db893..627de25 100644
--- a/arch/powerpc/boot/4xx.c
+++ b/arch/powerpc/boot/4xx.c
@@ -544,9 +544,9 @@  void ibm440spe_fixup_clocks(unsigned int sys_clk,
 	unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1);
 
 	/* serial clocks beed fixup based on int/ext */
-	eplike_fixup_uart_clk(0, "/plb/opb/serial@10000200", ser_clk, plb_clk);
-	eplike_fixup_uart_clk(1, "/plb/opb/serial@10000300", ser_clk, plb_clk);
-	eplike_fixup_uart_clk(2, "/plb/opb/serial@10000600", ser_clk, plb_clk);
+	eplike_fixup_uart_clk(0, "/plb/opb/serial@f0000200", ser_clk, plb_clk);
+	eplike_fixup_uart_clk(1, "/plb/opb/serial@f0000300", ser_clk, plb_clk);
+	eplike_fixup_uart_clk(2, "/plb/opb/serial@f0000600", ser_clk, plb_clk);
 }
 
 void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk)