Skip to contentSkip to conversation

serial: imx: support enabling rs485 at boot time with DT option

PATCH In review Alexey Ignatov 2 participants 3 messages Apr 18, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 serial: imx: support enabling rs485 at boot time with DT option

---
 drivers/tty/serial/imx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/tty/serial/imx.c +3 -1
index a70356dad1b7..38c55c309953 100644
@@ -2048,6 +2048,8 @@ static int serial_imx_probe_dt(struct imx_port *sport,
 	if (of_get_property(np, "fsl,dte-mode", NULL))
 		sport->dte_mode = 1;
 
+	if (of_property_read_bool(np, "linux,rs485-enabled-at-boot-time"))
+		sport->port.rs485.flags |= SER_RS485_ENABLED;
 	return 0;
 }
 #else
@@ -2109,7 +2111,7 @@ static int serial_imx_probe(struct platform_device *pdev)
 	sport->port.fifosize = 32;
 	sport->port.ops = &imx_pops;
 	sport->port.rs485_config = imx_rs485_config;
-	sport->port.rs485.flags =
+	sport->port.rs485.flags |=
 		SER_RS485_RTS_ON_SEND | SER_RS485_RX_DURING_TX;
 	sport->port.flags = UPF_BOOT_AUTOCONF;
 	init_timer(&sport->timer);
Signature · 1 line
2.12.2
#1 lore raw

PATCH 2/2 serial: imx: allow enabling RX during TX operation with DT option

This commit changes the driver behaviour: new default is no RX during TX when RS485 is also enabled, so boards requiring this should explicitly enable rs485-rx-during-tx in their device trees.

---
 drivers/tty/serial/imx.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/tty/serial/imx.c +5 -1
index 38c55c309953..a1d4ed71312f 100644
@@ -2050,6 +2050,10 @@ static int serial_imx_probe_dt(struct imx_port *sport,
 
 	if (of_property_read_bool(np, "linux,rs485-enabled-at-boot-time"))
 		sport->port.rs485.flags |= SER_RS485_ENABLED;
+	
+	if (of_get_property(np, "rs485-rx-during-tx", NULL))
+		sport->port.rs485.flags |= SER_RS485_RX_DURING_TX;
+
 	return 0;
 }
 #else
@@ -2112,7 +2116,7 @@ static int serial_imx_probe(struct platform_device *pdev)
 	sport->port.ops = &imx_pops;
 	sport->port.rs485_config = imx_rs485_config;
 	sport->port.rs485.flags |=
-		SER_RS485_RTS_ON_SEND | SER_RS485_RX_DURING_TX;
+		SER_RS485_RTS_ON_SEND;
 	sport->port.flags = UPF_BOOT_AUTOCONF;
 	init_timer(&sport->timer);
 	sport->timer.function = imx_timeout;
Signature · 1 line
2.12.2
#2 lore raw
In reply to Alexey Ignatov
Quoted 5 lines · Alexey Ignatov
---
 drivers/tty/serial/imx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

I can't take patches without any changelog text at all, sorry.

And you forgot to cc: the maintainer of the subsystem you are writing a patch for, not a good way to get it accepted :)

Please use scripts/get_maintainer.pl to help you out.

thanks,

greg k-h