[U-Boot] [PATCH] omap3_beagle: Enable CONFIG_SYS_NS16550_BROKEN_TEMT

Tom Rini
2013-03-21T22:21:00Z

On Thu, Mar 21, 2013 at 08:03:59PM +0100, Manfred Huber wrote:
> From: Manfred Huber
>
> Beagleboard UART (ns16550) doesn't set the Transmitter Empty (TEMT)
> Bit in SPL. Only Transmitter Hold Register Empty (THRE) Bit is set.
> This makes SPL to hang while waiting for TEMT. Adding the
> CONFIG_SYS_NS16550_BROKEN_TEMT config option and waiting for THRE
> avoid this issue.
>
> Signed-off-by: Manfred Huber <man.huber@arcor.de>
> ---
> drivers/serial/ns16550.c | 5 ++++-
> include/configs/omap3_beagle.h | 3 +++
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index b2da8b3..6379bcc 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -36,7 +36,10 @@
>
> void NS16550_init(NS16550_t com_port, int baud_divisor)
> {
> -#if (!defined(CONFIG_SYS_NS16550_BROKEN_TEMT))
> +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SYS_NS16550_BROKEN_TEMT)
> + while (!(serial_in(&com_port->lsr) & UART_LSR_THRE))
> + ;
> +#else
> while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))
> ;
> #endif

Scott, do you still have access to the failing systems that made us
introduce this change to start with? Could we perhaps go with the THRE
test instead in all cases? Thanks!

--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130321/91cb1a48/attachment.pgp>