[U-Boot] [PATCH] serial: lpc32xx: send CR before LF

Vladimir Zapolskiy vz at mleia.com
Sat Nov 30 19:24:42 CET 2013


Hi Marek,

On 11/30/13 17:42, Marek Vasut wrote:
> Dear Vladimir Zapolskiy,
>
>> For LPC32XX high-speed UART it is required to send a carriage return
>> symbol along with line feed.
>
> Why ?

good question, that's given in experience.

Without CR symbol the output is crumpled:

----8<----
DRAM:  64 MiB
              WARNING: Caches not enabled
                                         Flash: 4 MiB
                                                     Using default 
environment
----8<----

Also note there are similar hooks in several other serial drivers.

>> The problem was introduced in e503f90a
>> commit.
>>
>> Signed-off-by: Vladimir Zapolskiy<vz at mleia.com>
>> Cc: Marek Vasut<marex at denx.de>
>> ---
>>   drivers/serial/lpc32xx_hsuart.c |    3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/serial/lpc32xx_hsuart.c
>> b/drivers/serial/lpc32xx_hsuart.c index 9c7c621..c8926a8 100644
>> --- a/drivers/serial/lpc32xx_hsuart.c
>> +++ b/drivers/serial/lpc32xx_hsuart.c
>> @@ -38,6 +38,9 @@ static int lpc32xx_serial_getc(void)
>>
>>   static void lpc32xx_serial_putc(const char c)
>>   {
>> +	if (c == '\n')
>> +		serial_putc('\r');
>> +
>>   	writel(c,&hsuart->tx);
>>
>>   	/* Wait for character to be sent */
>
> btw. I have a feeling each and every driver does send CR-LF combo and emulates
> it this way. Maybe this should eventually go into common code ? But that's just
> a suggestion for future improvement.
>
> Best regards,
> Marek Vasut

With best wishes,
Vladimir


More information about the U-Boot mailing list