diff options
author | Johannes Schneider | 2022-09-06 14:15:04 +0200 |
---|---|---|
committer | Stefano Babic | 2022-09-18 22:56:10 +0200 |
commit | c7878a0483c59c48a730123bc0f4659fd40921bf (patch) | |
tree | e565625b28c6731e4f9d8a9adb1caca0b5534b00 | |
parent | 25b7ce32871f94b96385b31e4bd6b1fd830cccd7 (diff) |
serial: mxc: have putc use the TXFIFO
only waiting for TXEMPTY leads to corrupted messages going over the
wire - which is fixed by making use of the FIFO
this change is following the linux kernel uart driver
(drivers/tty/serial/imx.c), which also checks UTS_TXFULL
instead of UTS_TXEMPTY
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
-rw-r--r-- | drivers/serial/serial_mxc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c index ee17a960d47..af1fd1ea9bc 100644 --- a/drivers/serial/serial_mxc.c +++ b/drivers/serial/serial_mxc.c @@ -311,7 +311,7 @@ static int mxc_serial_putc(struct udevice *dev, const char ch) struct mxc_serial_plat *plat = dev_get_plat(dev); struct mxc_uart *const uart = plat->reg; - if (!(readl(&uart->ts) & UTS_TXEMPTY)) + if (readl(&uart->ts) & UTS_TXFULL) return -EAGAIN; writel(ch, &uart->txd); |