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.
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@amd.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.
+ maxItems: 1
+
required:
- compatible
- reg
@@ -55,6 +60,7 @@ required:
allOf:
- $ref: serial.yaml#
+ - $ref: rs485.yaml#
- if:
properties:
compatible:
--
2.25.1
Manikanta Guntupalli schreef op 2023-10-24 16:48: > 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. > > 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@amd.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. > + maxItems: 1 > + Why would this be related to RS485? A user could also have a need for a gpio instead of the native pin to be used as normal rts. All RS485 references can be removed. > required: > - compatible > - reg > @@ -55,6 +60,7 @@ required: > > allOf: > - $ref: serial.yaml# > + - $ref: rs485.yaml# > - if: > properties: > compatible: Maarten
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@amd.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 >
© 2016 - 2026 Red Hat, Inc.