Skip to content

Commit b8f3bff

Browse files
l1kgregkh
authored andcommitted
serial: imx: Support common rs485 binding for RTS polarity
Invoke the ->rs485_config callback on probe to adjust the initial RTS polarity based on the UART's device properties. This implicitly fixes a bug: If RTS control is not available, rs485 should be disabled even if it was enabled through a device property. Log an error when that occurs. Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Lukas Wunner <lukas@wunner.de> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 01d8453 commit b8f3bff

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/tty/serial/imx.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,6 +2092,12 @@ static int serial_imx_probe(struct platform_device *pdev)
20922092

20932093
uart_get_rs485_mode(&pdev->dev, &sport->port.rs485);
20942094

2095+
if (sport->port.rs485.flags & SER_RS485_ENABLED &&
2096+
(!sport->have_rtscts || !sport->have_rtsgpio))
2097+
dev_err(&pdev->dev, "no RTS control, disabling rs485\n");
2098+
2099+
imx_rs485_config(&sport->port, &sport->port.rs485);
2100+
20952101
/* Disable interrupts before requesting them */
20962102
reg = readl_relaxed(sport->port.membase + UCR1);
20972103
reg &= ~(UCR1_ADEN | UCR1_TRDYEN | UCR1_IDEN | UCR1_RRDYEN |

0 commit comments

Comments
 (0)