From: TsiChung Liew <[EMAIL PROTECTED]>

If bus frequency is larger than 133MHz, the UART cannot
output baudrate at 115200 correctly.

Signed-off-by: TsiChung Liew <[EMAIL PROTECTED]>
---
 drivers/serial/mcfuart.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/mcfuart.c b/drivers/serial/mcfuart.c
index 88f3eb1..fca76bd 100644
--- a/drivers/serial/mcfuart.c
+++ b/drivers/serial/mcfuart.c
@@ -64,7 +64,10 @@ int serial_init(void)
 
        /* Setting up BaudRate */
        counter = (u32) (gd->bus_clk / (gd->baudrate));
-       counter >>= 5;
+       counter = (counter + 31) >> 5;
+
+       if ((gd->bus_clk > 133333333) && (gd->baudrate >= 115200))
+               counter++;
 
        /* write to CTUR: divide counter upper byte */
        uart->ubg1 = (u8) ((counter & 0xff00) >> 8);
-- 
1.5.4.1


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to