[PATCH 1/4] dt_bindings: rs485: Add binding for GPIO that controls Rx enable during Tx

Christoph Niedermaier cniedermaier at dh-electronics.com
Thu Oct 27 05:06:56 PDT 2022


From: Rob Herring [mailto:robh at kernel.org]
Sent: Wednesday, October 26, 2022 10:59 PM
> On Wed, Oct 26, 2022 at 06:50:46PM +0200, Christoph Niedermaier wrote:
>> Add the binding for a generic definition of a GPIO, that controls whether Rx
>> is connected or disconnected by an electrical circuit to have the ability
>> to receive the signals on the bus during sending or disable receiving during
>> sending.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier at dh-electronics.com>
>> ---
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>> Cc: Rob Herring <robh+dt at kernel.org>
>> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
>> Cc: Marek Vasut <marex at denx.de>
>> Cc: devicetree at vger.kernel.org
>> To: linux-serial at vger.kernel.org
>> To: linux-arm-kernel at lists.infradead.org
>> ---
>>  Documentation/devicetree/bindings/serial/rs485.yaml | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/serial/rs485.yaml b/Documentation/devicetree/bindings/serial/rs485.yaml
>> index 90a1bab40f05..0ebd7690f85d 100644
>> --- a/Documentation/devicetree/bindings/serial/rs485.yaml
>> +++ b/Documentation/devicetree/bindings/serial/rs485.yaml
>> @@ -51,6 +51,10 @@ properties:
>>      description: GPIO pin to enable RS485 bus termination.
>>      maxItems: 1
>>
>> +  rs485-rx-during-tx-gpios:
>> +    description: GPIO pin to control RS485 Rx enable during Tx.
> 
> Active state means do what? And inactive? This is an output gating the
> RX signal or an input telling the receiver what to do during tx? The
> description is not adequate.
> 
> How does this property relate to 'rs485-rx-during-tx' Any combination of
> the 2 being present or not is okay? If not, you need some constraints.
> 
> Rob


Hi Rob,

I have improved the message:

The standard RS485 is a half-duplex bus that in most cased is driven by an
UART controller. The interface to the bus is controlled by a transceiver, that
has a pin called RE (Rx enable) or similar, which connects the bus to Rx signal
of the UART controller. This patch adds a binding for a generic definition of a
GPIO that can switch between two states to control the RE pin via an electrical
circuit:
- Active:
  The RE pin is always active. The UART Rx see everything on the bus and
  therefore also what happens with the Tx signal on the bus.
- Inactive:
  The RE pin is always active, but during sending on the bus the pin RE is
  inactive. So basically the receiving during sending is suppressed.

Is it now more understandable, or have I still not considered an aspect?


Thanks and regards
Christoph


More information about the linux-arm-kernel mailing list