[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231026180724.GA4108223-robh@kernel.org>
Date: Thu, 26 Oct 2023 13:07:24 -0500
From: Rob Herring <robh@...nel.org>
To: Manikanta Guntupalli <manikanta.guntupalli@....com>
Cc: git@....com, michal.simek@....com, gregkh@...uxfoundation.org,
krzysztof.kozlowski+dt@...aro.org, conor+dt@...nel.org,
linux-serial@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, jirislaby@...nel.org,
linux-arm-kernel@...ts.infradead.org, radhey.shyam.pandey@....com,
srinivas.goud@....com, shubhrajyoti.datta@....com,
manion05gk@...il.com
Subject: Re: [PATCH V3 1/2] dt-bindings: Add optional gpio property to uartps
node to support rs485
On Tue, Oct 24, 2023 at 08:18:46PM +0530, Manikanta Guntupalli wrote:
> Add optional gpio property to uartps node and reference to rs485.yaml
>
> On Xilinx/AMD Kria SOM KD240 board rs485 connects via TI ISOW1432
> Transceiver device, where one GPIO is used for driving DE/RE signals.
> With rs485 half duplex configuration, DE and RE are shorted to each other,
> and at a time, any node acts as either a driver or a receiver.
>
> Here,
> DE - Driver enable. If pin is floating, driver is disabled.
> RE - Receiver enable. If pin is floating, receiver buffer is disabled.
What happens when pin is not floating? Is floating (i.e. open drain) for
RTS a requirement? And floating doesn't define high or low because it
could be pulled either way.
>
> For more deatils, please find below link which contains Transceiver
> device(ISOW1432) datasheet
> https://www.ti.com/lit/ds/symlink/isow1432.pdf?ts=1682607122706&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FISOW1432%252Fpart-details%252FISOW1432DFMR%253FkeyMatch%253DISOW1432DFMR%2526tisearch%253Dsearch-everything%2526usecase%253DOPN
>
> rts-gpios is optional property, because it is not required
> for uart console node.
>
> Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@....com>
> ---
> Changes for V2:
> Modify optional gpio name to xlnx,phy-ctrl-gpios.
> Update commit description.
> Changes for V3:
> Modify optional gpio name to rts-gpios.
> Update commit description.
> ---
> Documentation/devicetree/bindings/serial/cdns,uart.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/serial/cdns,uart.yaml b/Documentation/devicetree/bindings/serial/cdns,uart.yaml
> index e35ad1109efc..7ee305f9a45f 100644
> --- a/Documentation/devicetree/bindings/serial/cdns,uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/cdns,uart.yaml
> @@ -46,6 +46,11 @@ properties:
> power-domains:
> maxItems: 1
>
> + rts-gpios:
> + description: Optional GPIO to control transmit/receive on RS485 phy
> + in halfduplex mode.
You need to define what 'active' means here because -gpios all have an
active flag. Is it always active low (or high) or depends on the board?
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> @@ -55,6 +60,7 @@ required:
>
> allOf:
> - $ref: serial.yaml#
> + - $ref: rs485.yaml#
> - if:
> properties:
> compatible:
> --
> 2.25.1
>
Powered by blists - more mailing lists