Re: [PATCH 02/13] serial: linflexuart: Clean SLEEP bit in LINCR1 after suspend

From: Frank Li

Date: Mon Feb 16 2026 - 15:22:50 EST


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@xxxxxxxxxxx>
> ---
> 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
>