summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schneider <johannes.schneider@leica-geosystems.com>2022-09-06 14:15:04 +0200
committerStefano Babic <sbabic@denx.de>2022-09-18 22:56:10 +0200
commitc7878a0483c59c48a730123bc0f4659fd40921bf (patch)
treee565625b28c6731e4f9d8a9adb1caca0b5534b00
parent25b7ce32871f94b96385b31e4bd6b1fd830cccd7 (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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index ee17a960d4..af1fd1ea9b 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);