When coming back from reset, we need to re-initialize LINCR1 register.
SLEEP bit should be cleared, otherwise we can't enter INITM mode.

Fixes: 09864c1cdf5c ("tty: serial: Add linflexuart driver for S32V234")
Signed-off-by: Larisa Grigore <[email protected]>
---
 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

Reply via email to