[U-Boot] [PATCH 1/1] serial/ns16550: check UART mode for TEMT value

Javier Martinez Canillas javier at dowhile0.org
Mon Jan 7 12:37:55 CET 2013


On Thu, Jan 3, 2013 at 10:04 PM, Tom Rini <trini at ti.com> wrote:
> On Wed, Jan 2, 2013 at 9:58 PM, Scott Wood <scottwood at freescale.com> wrote:
>> On 12/23/2012 05:17:25 PM, Javier Martinez Canillas wrote:
>>>
>>> On Sat, Dec 22, 2012 at 4:40 AM, Javier Martinez Canillas
>>> <javier.martinez at collabora.co.uk> wrote:
>>> >
>>> > But if I'm the only one having this issue maybe is just my hardware
>>> > behaving
>>> > badly. I'll ask other OMAP3 users if they can boot with mainline U-Boot
>>> > to
>>> > confirm this.
>>> >
>>>
>>> Hello,
>>>
>>> I tested with an Beagleboard which is another OMAP3 board that has the
>>> same PC16550D UART than my OMAP3 IGEPv2 and the board does not hang
>>> while waiting for TEMT. I've also tested with an OMAP4 pandaboard and
>>> it boots correctly too.
>>>
>>> But the hung issue seems to not be an issue with my IGEPv2 board but
>>> with any IGEPv2 board since another user reported that his board hangs
>>> with the latest U-Boot too. Reverting cb55b332 (serial/ns16550: wait
>>> for TEMT before initializing) solved the issue for him.
>>>
>>> Will a patch like this be an acceptable solution?
>>>
>>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>>> index bbd91ca..8106a9a 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 (CONFIG_MACH_TYPE != MACH_TYPE_IGEP0020)
>>>         while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))
>>>                 ;
>>> +#endif
>>
>>
>> Probably better to have your board config file define
>> CONFIG_SYS_NS16550_BROKEN_TEMT or similar (and document the symbol in
>> README).
>
> To be clear, yes, please, that way.  Thanks!
>
> --
> Tom

Ok, thanks a lot for the suggestion.

I just sent a patch-set that adds this config option and uses it on
IGEP board config file.

Best regards,
Javier


More information about the U-Boot mailing list