On Mon, Feb 16, 2026 at 04:01:54PM +0100, Larisa Grigore wrote:
When coming back from reset, we need to re-initialize LINCR1 register. SLEEP bit should be cleared, otherwise we can't enter INITM mode.
serial: linflexuart: Clean SLEEP bit in LINCR1 at linflex_set_termios()
Re-initialize LINCR1 register (Clear the SLEEP bit) at linflex_set_termios(), otherwise the controller cannot enter INITM mode after suspend/resume.
Frank
Fixes: 09864c1cdf5c ("tty: serial: Add linflexuart driver for S32V234") Signed-off-by: Larisa Grigore larisa.grigore@oss.nxp.com
drivers/tty/serial/fsl_linflexuart.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/tty/serial/fsl_linflexuart.c b/drivers/tty/serial/fsl_linflexuart.c index 5a410e2d56ac..016011fd8760 100644 --- a/drivers/tty/serial/fsl_linflexuart.c +++ b/drivers/tty/serial/fsl_linflexuart.c @@ -413,8 +413,7 @@ linflex_set_termios(struct uart_port *port, struct ktermios *termios, old_cr = cr;
/* Enter initialization mode by setting INIT bit */
- cr1 = readl(port->membase + LINCR1);
- cr1 |= LINFLEXD_LINCR1_INIT;
cr1 = LINFLEXD_LINCR1_INIT | LINFLEXD_LINCR1_MME; writel(cr1, port->membase + LINCR1);
/* wait for init mode entry */
-- 2.47.0