Subject: [PATCH] powerpc/83xx: Make serial ports work on MPC8315E-RDB w/ FSL U-Boots

From: Anton Vorontsov <[email-masked]>
Date: Sun, 11 Jan 2009 18:30:13 +0300

FSL U-Boots use /soc8315@e0000000 node to search and fixup serial
nodes' clock-frequency properties. Though in upstream kernels we use
new naming convention -- for IMMR address space dts files specify
/immr@e0000000 nodes.

This makes FSL U-Boots fail to fixup the clock frequencies, and that
leads to serial ports misbehaviour. We can workaround the issue by
filling the clock frequency values manually.

p.s. For the same reason FSL U-Boots fail to fixup MAC addresses for
ethernet nodes, so users should either change the .dts file locally
or set MAC address via `ifconfig hw ether' command.

Signed-off-by: Anton Vorontsov <[email-masked]>
---

Leon,

With this patch 2.6.28 kernel boots and works fine with the U-Boot
I took from this image (downloadable from freescale.com):

$ md5sum MPC8315ERDB_20080321-ltib.iso
009730826366d593347b88fa4fdb9be0  MPC8315ERDB_20080321-ltib.iso

That is, U-Boot 1.3.0-rc2 (Mar 21 2008 - 13:36:09) MPC83XX

 arch/powerpc/boot/dts/mpc8315erdb.dts |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts
index 9a4fa2a..88d691c 100644
--- a/arch/powerpc/boot/dts/mpc8315erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8315erdb.dts
@@ -257,7 +257,7 @@
 			device_type = "serial";
 			compatible = "ns16550";
 			reg = <0x4500 0x100>;
-			clock-frequency = <0>;
+			clock-frequency = <133333333>;
 			interrupts = <9 0x8>;
 			interrupt-parent = <&ipic>;
 		};
@@ -267,7 +267,7 @@
 			device_type = "serial";
 			compatible = "ns16550";
 			reg = <0x4600 0x100>;
-			clock-frequency = <0>;
+			clock-frequency = <133333333>;
 			interrupts = <10 0x8>;
 			interrupt-parent = <&ipic>;
 		};
-- 
1.5.6.5