[U-Boot] [PATCH v2 2/2] bcm283x_pl011: Flush RX queue after setting baud rate

Tuomas Tynkkynen tuomas at tuxera.com
Fri Mar 9 16:04:44 UTC 2018


On Wed, 7 Mar 2018 22:08:25 +0100
Alexander Graf <agraf at suse.de> wrote:

> After the UART was initialized, we may still have bogus data in the
> RX queue if it was enabled with incorrect pin muxing before.
> 
> So let's flush the RX queue whenever we initialize baud rates.
> 
> This fixes a regression with the dynamic pinmuxing code when enable_uart=1
> is not set in config.txt on Raspberry Pis that use pl011 for serial.
> 
> Fixes: caf2233b28 ("bcm283x: Add pinctrl driver")
> Reported-by: Göran Lundberg <goran at lundberg.email>
> Reported-by: Peter Robinson <pbrobinson at gmail.com>
> Signed-off-by: Alexander Graf <agraf at suse.de>
> 
> ---
> 
> v1 -> v2:
> 
>   - correctly drain the queue
> ---
>  drivers/serial/serial_bcm283x_pl011.c  | 25 ++++++++++++++++++++++++-
>  drivers/serial/serial_pl01x.c          | 10 +++++-----
>  drivers/serial/serial_pl01x_internal.h |  7 ++++++-
>  3 files changed, 35 insertions(+), 7 deletions(-)
> 

On a RPi 1, with no enable_uart in config.txt:

Tested-by: Tuomas Tynkkynen <tuomas at tuxera.com>


More information about the U-Boot mailing list