diff options
| -rw-r--r-- | README | 8 | ||||
| -rw-r--r-- | drivers/serial/ns16550.c | 2 | 
2 files changed, 10 insertions, 0 deletions
| @@ -616,6 +616,14 @@ The following options need to be configured:  		boot loader that has already initialized the UART.  Define this  		variable to flush the UART at init time. +		CONFIG_SYS_NS16550_BROKEN_TEMT + +		16550 UART set the Transmitter Empty (TEMT) Bit when all output +		has finished and the transmitter is totally empty. U-Boot waits +		for this bit to be set to initialize the serial console. On some +		broken platforms this bit is not set in SPL making U-Boot to +		hang while waiting for TEMT. Define this option to avoid it. +  - Console Interface:  		Depending on board, define exactly one serial port diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index bbd91ca24..87a091708 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -36,8 +36,10 @@  void NS16550_init(NS16550_t com_port, int baud_divisor)  { +#if (!defined(CONFIG_SYS_NS16550_BROKEN_TEMT))  	while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))  		; +#endif  	serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);  #if (defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)) || \ |