[PATCH RESEND 15/16] serial: msm: wait for TX empty before reinit
Sam Day via B4 Relay
devnull+me.samcday.com at kernel.org
Mon Jun 1 10:12:56 CEST 2026
From: Sam Day <me at samcday.com>
At least on UARTDM 1.3, I was noticing the early UART debug banner
getting corrupted. It turns out this is because U-Boot was
re-initializing the UARTDM block and writing to it before it had
finished shifting out the FIFO from the previous bootloader. Waiting for
TX_EMPTY in the status register consistently fixes the issue.
Signed-off-by: Sam Day <me at samcday.com>
---
drivers/serial/serial_msm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/serial/serial_msm.c b/drivers/serial/serial_msm.c
index 10948e2aede..db085d68a0d 100644
--- a/drivers/serial/serial_msm.c
+++ b/drivers/serial/serial_msm.c
@@ -351,6 +351,8 @@ static inline void _debug_uart_init(void)
* - HMIBSC: GCC_BLSP1_UART1_APPS_CLK
*/
//apq8016_clk_init_uart(0x1800000, <uart_clk_id>);
+ while (!(readl(init_serial_data.base + UARTDM_SR) & UARTDM_SR_TX_EMPTY))
+ ;
uart_dm_init(&init_serial_data);
}
--
2.54.0
More information about the U-Boot
mailing list