[PATCH 1/2] dt-bindings: pps: pps-gpio: document optional idle pinctrl state
From: Eliav Farber
Date: Wed Sep 16 2026 - 10:02:05 EST
pps-gpio can now release its pins to an "idle" pinctrl state when the
driver is unbound or the system is shut down, in addition to the "default"
state that the driver core applies before probe.
Document the optional "default" and "idle" pinctrl-names and show both in
the example so boards can describe an alternate pin mux for when PPS is not
active.
Signed-off-by: Eliav Farber <farbere@xxxxxxxxxx>
---
.../devicetree/bindings/pps/pps-gpio.yaml | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/pps/pps-gpio.yaml b/Documentation/devicetree/bindings/pps/pps-gpio.yaml
index 383a838744eb..035c780ecd04 100644
--- a/Documentation/devicetree/bindings/pps/pps-gpio.yaml
+++ b/Documentation/devicetree/bindings/pps/pps-gpio.yaml
@@ -28,6 +28,18 @@ properties:
description: Indicates a falling edge assert, when present. Rising edge if absent.
type: boolean
+ pinctrl-names:
+ description:
+ When the PPS input is muxed through a pin controller, name the "default"
+ state to select the PPS/GPIO function while the driver is bound. An
+ optional "idle" state, if present, is selected when the driver is
+ unbound or the system is shut down, handing the pins back to their
+ alternate function.
+ minItems: 1
+ items:
+ - const: default
+ - const: idle
+
required:
- compatible
- gpios
@@ -40,8 +52,9 @@ examples:
pps {
compatible = "pps-gpio";
- pinctrl-names = "default";
+ pinctrl-names = "default", "idle";
pinctrl-0 = <&pinctrl_pps>;
+ pinctrl-1 = <&pinctrl_pps_idle>;
gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
assert-falling-edge;
echo-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
--
2.47.3