Am Montag, 30. Januar 2023, 07:44:48 CET schrieb Sherry Sun: > Add RTS watermark support for LPUART. The RX RTS_B output negates when > the number of empty words in the receive FIFO is greater or equal to > RTSWATER. Here set the RTSWATER to half of the rxfifo_size. > > Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx> > --- > drivers/tty/serial/fsl_lpuart.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/tty/serial/fsl_lpuart.c > b/drivers/tty/serial/fsl_lpuart.c index 2789749d3d0d..c35e49a09bcc 100644 > --- a/drivers/tty/serial/fsl_lpuart.c > +++ b/drivers/tty/serial/fsl_lpuart.c > @@ -201,6 +201,7 @@ > #define UARTDATA_MASK 0x3ff > > #define UARTMODIR_IREN 0x00020000 > +#define UARTMODIR_RTSWATER GENMASK(10, 8) > #define UARTMODIR_TXCTSSRC 0x00000020 > #define UARTMODIR_TXCTSC 0x00000010 > #define UARTMODIR_RXRTSE 0x00000008 > @@ -1573,6 +1574,13 @@ static void lpuart32_setup_watermark(struct > lpuart_port *sport) (0x0 << UARTWATER_TXWATER_OFF); > lpuart32_write(&sport->port, val, UARTWATER); > > + /* set RTS watermark */ > + if (!uart_console(&sport->port)) { > + val = lpuart32_read(&sport->port, UARTMODIR); > + val |= FIELD_PREP(UARTMODIR_RTSWATER, sport->rxfifo_size >> 1); > + lpuart32_write(&sport->port, val, UARTMODIR); On LS1021A these bits are reserved (please refer to QorIQ LS1021A Reference manual Rev 3.1 02/2020 section 27.3.6). Is it okay to write to them? Best regards Alexander > + } > + > /* Restore cr2 */ > lpuart32_write(&sport->port, ctrl_saved, UARTCTRL); > }