
26 Oct
2022
26 Oct
'22
12:19 a.m.
Hi Tim,
On 25/10/2022 18:37, Tim Harvey wrote:
Fabio and Pali,
Seems reasonable but this does not resolve the problem. Whatever I print in board_init gets cutoff by the print from dm_announce.
Should we check for both TXFULL and TXEMPTY conditions?
--- 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_TXFULL) + if ((readl(&uart->ts) & UTS_TXFULL) || !(readl(&uart->ts) & UTS_TXEMPTY)) return -EAGAIN;
writel(ch, &uart->txd);