]> git.sur5r.net Git - u-boot/blobdiff - drivers/serial/mcfuart.c
serial: Add Tegra2 serial port support
[u-boot] / drivers / serial / mcfuart.c
index e04fc298d960d8d338140db468a1022b6342753d..d93b24b8970677e7331eaa4ca86c851783602003 100644 (file)
@@ -34,7 +34,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-extern void uart_port_conf(void);
+extern void uart_port_conf(int port);
 
 int serial_init(void)
 {
@@ -43,7 +43,7 @@ int serial_init(void)
 
        uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
 
-       uart_port_conf();
+       uart_port_conf(CONFIG_SYS_UART_PORT);
 
        /* write to SICR: SIM2 = uart mode,dcd does not affect rx */
        uart->ucr = UART_UCR_RESET_RX;
@@ -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);