summaryrefslogtreecommitdiff
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
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>
-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) {