Coldfire: Applied baudrate formula of serial_init to serial_setbrg
authorRichard Retanubun <RichardRetanubun@RuggedCom.com>
Fri, 23 Jan 2009 16:44:30 +0000 (11:44 -0500)
committerJohn Rigby <jrigby@freescale.com>
Fri, 6 Feb 2009 21:54:47 +0000 (14:54 -0700)
Applied the patch for baudrate divider value truncation for
serial_init to serial_setbrg as well.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
drivers/serial/mcfuart.c

index e04fc298d960d8d338140db468a1022b6342753d..0b531402e4be44790f172fb1cf15c39e610a72e1 100644 (file)
@@ -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);