From 9f221d0738772ba0040793cc3f20ddde18dc4806 Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@pollux.(none)>
Date: Sun, 25 Sep 2005 01:09:58 +0200
Subject: [PATCH] Fix MGT5100 PSC baudrate calculation Patch by Sebastian
 Schau, 27 Jan 2005

---
 CHANGELOG            | 3 +++
 cpu/mpc5xxx/serial.c | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 16421a43875..abf5d18eb9c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Fix MGT5100 PSC baudrate calculation
+  Patch by Sebastian Schau, 27 Jan 2005
+
 * OMAP242x fix for GP device booting
   - Add SRAM unlock for GP devices.
   - Change DDR DLL unlock value to allow DPLLout*1 operation.
diff --git a/cpu/mpc5xxx/serial.c b/cpu/mpc5xxx/serial.c
index 1e9628c5114..91e1def98cb 100644
--- a/cpu/mpc5xxx/serial.c
+++ b/cpu/mpc5xxx/serial.c
@@ -152,14 +152,14 @@ serial_setbrg(void)
 	unsigned long baseclk, div;
 
 #if defined(CONFIG_MGT5100)
-	baseclk = CFG_MPC5XXX_CLKIN / 32;
+	baseclk = (CFG_MPC5XXX_CLKIN + 16) / 32;
 #elif defined(CONFIG_MPC5200)
 	baseclk = (gd->ipb_clk + 16) / 32;
 #endif
 
 	/* set up UART divisor */
 	div = (baseclk + (gd->baudrate/2)) / gd->baudrate;
-	psc->ctur = div >> 8;
-	psc->ctlr = div & 0xff;
+	psc->ctur = (div >> 8) & 0xFF;
+	psc->ctlr =  div & 0xff;
 }
 #endif /* CONFIG_PSC_CONSOLE */
-- 
GitLab