]> git.sur5r.net Git - u-boot/commitdiff
ns16550.c: Fix for ns16550 driver hanging on OMAP4
authorGregoire Gentil <gregoire@gentil.com>
Mon, 10 Nov 2014 19:04:10 +0000 (11:04 -0800)
committerTom Rini <trini@ti.com>
Fri, 5 Dec 2014 02:28:32 +0000 (21:28 -0500)
The same problem that is seen on some OMAP3 is also seen on some OMAP4
so include them in the test in order to prevent some hangs during SPL.

[trini: Re-word commit message, make apply cleanly]
Signed-off-by: Tom Rini <trini@ti.com>
drivers/serial/ns16550.c

index 8f051914f54a37539d5768dd9d8ed90ff34adcf0..af5beba39ffac5bfc5395a4f35abfc0d882194e4 100644 (file)
@@ -132,11 +132,12 @@ static void NS16550_setbrg(NS16550_t com_port, int baud_divisor)
 
 void NS16550_init(NS16550_t com_port, int baud_divisor)
 {
-#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_OMAP34XX))
+#if (defined(CONFIG_SPL_BUILD) && \
+               (defined(CONFIG_OMAP34XX) || defined(CONFIG_OMAP44XX)))
        /*
-        * On some OMAP3 devices when UART3 is configured for boot mode before
-        * SPL starts only THRE bit is set. We have to empty the transmitter
-        * before initialization starts.
+        * On some OMAP3/OMAP4 devices when UART3 is configured for boot mode
+        * before SPL starts only THRE bit is set. We have to empty the
+        * transmitter before initialization starts.
         */
        if ((serial_in(&com_port->lsr) & (UART_LSR_TEMT | UART_LSR_THRE))
             == UART_LSR_THRE) {