summaryrefslogtreecommitdiff
path: root/drivers/serial
diff options
context:
space:
mode:
authorRichard Retanubun <RichardRetanubun@RuggedCom.com>2009-01-23 11:44:30 -0500
committerJohn Rigby <jrigby@freescale.com>2009-02-06 14:54:47 -0700
commit92d3e6e0ffcbb7224c83104f8d87b5b4bf39a38f (patch)
tree212fff15a4488191aeb7c2fcbb746343cab022b7 /drivers/serial
parent8706ef378f2db1ef65b9c2f909561f23e3dc2148 (diff)
Coldfire: Applied baudrate formula of serial_init to serial_setbrg
Applied the patch for baudrate divider value truncation for serial_init to serial_setbrg as well. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/mcfuart.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/mcfuart.c b/drivers/serial/mcfuart.c
index e04fc298d9..0b531402e4 100644
--- a/drivers/serial/mcfuart.c
+++ b/drivers/serial/mcfuart.c
@@ -115,8 +115,9 @@ void serial_setbrg(void)
volatile uart_t *uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
u32 counter;
- counter = ((gd->bus_clk / gd->baudrate)) >> 5;
- counter++;
+ /* Setting up BaudRate */
+ counter = (u32) ((gd->bus_clk / 32) + (gd->baudrate / 2));
+ counter = counter / gd->baudrate;
/* write to CTUR: divide counter upper byte */
uart->ubg1 = ((counter & 0xff00) >> 8);