1
0
Fork 0

serial/ns16550: wait for TEMT before initializing

TEMT is set when the transmitter is totally empty and all output has
finished.

This prevents output problems (including a loss of synchronization
observed on p2020 that persisted for quite a while) if SPL has output
still on its way out.

Signed-off-by: Scott Wood <scottwood@freescale.com>
--
v2: fixed typo in subject, and explained what the bit does in the changelog
utp
Scott Wood 2012-09-18 18:19:05 -05:00
parent 48cbc3a876
commit cb55b33200
1 changed files with 3 additions and 0 deletions

View File

@ -36,6 +36,9 @@
void NS16550_init(NS16550_t com_port, int baud_divisor)
{
while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))
;
serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
#if (defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)) || \
defined(CONFIG_AM33XX)