summaryrefslogtreecommitdiff
path: root/drivers/serial/ns16550.c
diff options
context:
space:
mode:
authorGregoire Gentil <gregoire@gentil.com>2014-11-10 11:04:10 -0800
committerTom Rini <trini@ti.com>2014-12-04 21:28:32 -0500
commit956a8bae537974673e126f67a227355f27e48ec6 (patch)
tree5ee44ac5beb4704af2a61bb1742f6d1708e53d53 /drivers/serial/ns16550.c
parent0c331ebcc6843bb5e4e6727d1b4a13ef2284a5ab (diff)
downloadu-boot-imx-956a8bae537974673e126f67a227355f27e48ec6.zip
u-boot-imx-956a8bae537974673e126f67a227355f27e48ec6.tar.gz
u-boot-imx-956a8bae537974673e126f67a227355f27e48ec6.tar.bz2
ns16550.c: Fix for ns16550 driver hanging on OMAP4
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>
Diffstat (limited to 'drivers/serial/ns16550.c')
-rw-r--r--drivers/serial/ns16550.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 8f05191..af5beba 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -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) {