[U-Boot] [PATCH] serial: stm32: Automatically generate CR when LF is observed

Kamil Lulko rev13 at wp.pl
Tue May 12 22:35:55 CEST 2015


Strange, this was already posted by Kunhua Huang - then reverted in
commit 698a12bef9e782dcd99c555a739c16eec8669f14. Anyway, yes this
carriage return should be added there. I simply forgot it since I had
implicit CR for each LF turned on in my terminal. Never thought this
would cause so much havoc for users ;)

/Kamil

2015-05-12 21:25 GMT+02:00 Daniel Thompson <daniel.thompson at linaro.org>:
> Currently the u-boot output looks rather odd when running the minicom
> terminal emulator in its default mode (just a string of "random" looking
> text down the right hand side of the screen).
>
> This is caused by a combination of minicom not automatically wrapping
> lines and the stm32 serial driver never sending a carriage return.
>
> Issue is trivially solved by automatically generating a CR whenever a LF
> is transmitted, Several other serial drivers implement this behaviour.
>
> Signed-off-by: Daniel Thompson <daniel.thompson at linaro.org>
> Cc: Kamil Lulko <rev13 at wp.pl>
> ---
>  drivers/serial/serial_stm32.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c
> index 3c80096..8c613db 100644
> --- a/drivers/serial/serial_stm32.c
> +++ b/drivers/serial/serial_stm32.c
> @@ -81,6 +81,10 @@ static int stm32_serial_getc(void)
>  static void stm32_serial_putc(const char c)
>  {
>         struct stm32_serial *usart = (struct stm32_serial *)USART_BASE;
> +
> +       if (c == '\n')
> +               stm32_serial_putc('\r');
> +
>         while ((readl(&usart->sr) & USART_SR_FLAG_TXE) == 0)
>                 ;
>         writel(c, &usart->dr);
> --
> 2.1.0
>
>


More information about the U-Boot mailing list