Skip to contentSkip to conversation

dt-bindings: serial: imx: clarify rs485 support usage

PATCH Superseded Baruch Siach 2 participants 2 messages Jun 25, 2018

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dt-bindings: serial: imx: clarify rs485 support usage

The i.MX UART peripheral uses the RST_B signal as input, and CTS_B as output. This is just like the CDE role in RS-232. This is true regardless of the "DTE mode" setting of this peripheral.

As a result, rs485 support hardware must use the CTS_B signal to control the RS-485 transceiver. This is in contrast to generic rs485 kernel code, documentation, and DT property names that consistently refer to the RST as transceiver control signal.

Add a note in the DT binding document about that, to reduce the confusion somewhat.

---
 Documentation/devicetree/bindings/serial/fsl-imx-uart.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +5 -1
index afcfbc34e243..35957cbf1571 100644
@@ -9,7 +9,11 @@ Optional properties:
 - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
                   in DCE mode by default.
 - rs485-rts-delay, rs485-rts-active-low, rs485-rx-during-tx,
-  linux,rs485-enabled-at-boot-time: see rs485.txt
+  linux,rs485-enabled-at-boot-time: see rs485.txt. Note that for RS485
+  you must enable either the "uart-has-rtscts" or the "rts-gpios"
+  properties. In case you use "uart-has-rtscts" the signal that controls
+  the transceiver is actually CTS_B, not RTS_B. CTS_B is always output,
+  and RTS_B is input, regardless of dte-mode.
 
 Please check Documentation/devicetree/bindings/serial/serial.txt
 for the complete list of generic properties.
Signature · 1 line
2.18.0
#1 lore raw

PATCH 1/1 dt-bindings: serial: imx: clarify rs485 support usage

Hi,

Quoted 3 lines · On Mon, 25 Jun 2018 10:33:19 +0300 Baruch Siach wrote:

The i.MX UART peripheral uses the RST_B signal as input, and CTS_B as output. This is just like the CDE role in RS-232. This is true

s/CDE/DCE/

Quoted 7 lines

regardless of the "DTE mode" setting of this peripheral.

As a result, rs485 support hardware must use the CTS_B signal to control the RS-485 transceiver. This is in contrast to generic rs485 kernel code, documentation, and DT property names that consistently refer to the RST as transceiver control signal.

s/RST/RTS/

Quoted 15 lines

Add a note in the DT binding document about that, to reduce the confusion somewhat.

---
 Documentation/devicetree/bindings/serial/fsl-imx-uart.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +0 -0
index afcfbc34e243..35957cbf1571 100644
@@ -9,7 +9,11 @@ Optional properties:
 - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
                   in DCE mode by default.

Documentation/devicetree/bindings/serial/fsl-imx-uart.txt Optional properties: · line 19

Quoted 10 lines
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +5 -1
 - rs485-rts-delay, rs485-rts-active-low, rs485-rx-during-tx,
-  linux,rs485-enabled-at-boot-time: see rs485.txt
+  linux,rs485-enabled-at-boot-time: see rs485.txt. Note that for RS485
+  you must enable either the "uart-has-rtscts" or the "rts-gpios"
+  properties. In case you use "uart-has-rtscts" the signal that controls
+  the transceiver is actually CTS_B, not RTS_B. CTS_B is always output,
+  and RTS_B is input, regardless of dte-mode.
 
 Please check Documentation/devicetree/bindings/serial/serial.txt
 for the complete list of generic properties.

Lothar Wa?mann