serial: 8250_lpc18cc: Fill in rs485_supported
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 6 Jun 2022 10:04:06 +0000 (13:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 11:49:25 +0000 (13:49 +0200)
Add information on supported serial_rs485 features.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220606100433.13793-10-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_lpc18xx.c

index 570e25d6f37e3f4ec008201fe92cf2bb3c4d1414..66ce5d05fe9cd4b870d007737500f29852cc7629 100644 (file)
@@ -98,6 +98,12 @@ static void lpc18xx_uart_serial_out(struct uart_port *p, int offset, int value)
        writel(value, p->membase + offset);
 }
 
+static const struct serial_rs485 lpc18xx_rs485_supported = {
+       .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RTS_AFTER_SEND,
+       .delay_rts_after_send = 1,
+       /* Delay RTS before send is not supported */
+};
+
 static int lpc18xx_serial_probe(struct platform_device *pdev)
 {
        struct lpc18xx_uart_data *data;
@@ -168,6 +174,7 @@ static int lpc18xx_serial_probe(struct platform_device *pdev)
        uart.port.uartclk = clk_get_rate(data->clk_uart);
        uart.port.private_data = data;
        uart.port.rs485_config = lpc18xx_rs485_config;
+       uart.port.rs485_supported = &lpc18xx_rs485_supported;
        uart.port.serial_out = lpc18xx_uart_serial_out;
 
        uart.dma = &data->dma;