[PATCH 2/7] dt-bindings: serial: Add the line transceiver enable GPIO
From: Tapio Reijonen
Date: Wed Nov 11 2026 - 07:40:39 EST
A UART's line transceiver (RS-232, RS-485, an isolated or a
multiprotocol part) is a dumb device with no node of its own, yet on
many boards it is the largest consumer behind the port and can be
switched off, through a shutdown input of the part or a switch in its
supply. Device trees have no way to say so, and the transceiver stays
powered for as long as the system is up, whether or not the port is
open.
Add transceiver-enable-gpios, the GPIO that turns the transceiver on,
as a property of the UART node alongside the transceiver pins that
rs485.yaml already describes, and transceiver-startup-delay-us for the
time the part needs to become operational: a transceiver that
generates its own supplies behind a shutdown input can take a
millisecond until they are up. The GPIO belongs to one port; on a
multi-port controller it is a property of the port's child node. A
serial device with a driver of its own, such as a Bluetooth module,
remains a child node of the UART.
Signed-off-by: Tapio Reijonen <tapio.reijonen@xxxxxxxxxxx>
---
Documentation/devicetree/bindings/serial/serial.yaml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Documentation/devicetree/bindings/serial/serial.yaml b/Documentation/devicetree/bindings/serial/serial.yaml
index 96eb1de8771e9b4fc659aab3dadc3ac9f8599d39..baf7733c720b42a79643e65696041ff0765b682f 100644
--- a/Documentation/devicetree/bindings/serial/serial.yaml
+++ b/Documentation/devicetree/bindings/serial/serial.yaml
@@ -87,9 +87,23 @@ properties:
description:
TX FIFO threshold configuration (in bytes).
+ transceiver-enable-gpios:
+ maxItems: 1
+ description:
+ GPIO that turns on the line transceiver, through its enable or
+ shutdown input or a switch in its supply.
+
+ transceiver-startup-delay-us:
+ description:
+ Time from the enable GPIO becoming active until the transceiver is
+ operational.
+
port:
$ref: /schemas/graph.yaml#/properties/port
+dependencies:
+ transceiver-startup-delay-us: [ transceiver-enable-gpios ]
+
patternProperties:
"^(bluetooth|bluetooth-gnss|embedded-controller|gnss|gps|mcu|onewire)$":
if:
--
2.47.3