dt-bindings: serial: imx: clarify rs485 support usage
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
@@ -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
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_Bsignal as input, andCTS_Bas 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_Bsignal 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.
Signed-off-by Baruch Siach <[email protected]>--- 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@@ -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