[PATCH v9 1/2] dt-bindings: gpio-enabled-clock: Add a new binding

From: Vyacheslav Yurkov via B4 Relay

Date: Thu Oct 15 2026 - 10:44:12 EST


From: Vyacheslav Yurkov <V.Yurkov.EXT@xxxxxxxxxx>

Add the binding for gpio-enabled-clock. A GPIO-enabled clock provider
exposes a clock (can be any type of clock) whose availability depends on
a GPIO status signal.

Some hardware designs provide fixed-frequency clocks generated outside
software control, such as by FPGA-resident PLLs. While the clock rate is
fixed, a separate GPIO signal indicates whether the clock source is enabled
and producing a valid output.

Signed-off-by: Vyacheslav Yurkov <V.Yurkov.EXT@xxxxxxxxxx>
---
.../bindings/clock/gpio-enabled-clock.yaml | 53 ++++++++++++++++++++++
1 file changed, 53 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/gpio-enabled-clock.yaml b/Documentation/devicetree/bindings/clock/gpio-enabled-clock.yaml
new file mode 100644
index 000000000000..3ab6fa9dd412
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/gpio-enabled-clock.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/gpio-enabled-clock.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: GPIO Enabled Clock
+
+maintainers:
+ - Vyacheslav Yurkov <V.Yurkov.EXT@xxxxxxxxxx>
+
+properties:
+ compatible:
+ const: gpio-enabled-clock
+
+ clocks:
+ maxItems: 1
+
+ "#clock-cells":
+ const: 0
+
+ clock-output-names:
+ maxItems: 1
+
+ enabled-gpios:
+ description: GPIO that indicates whether the clock is enabled or disabled.
+ maxItems: 1
+
+ poll-timeout-us:
+ description: Timeout in microseconds for waiting for a GPIO signal.
+ default: 10
+ minimum: 10
+ maximum: 1000
+
+required:
+ - compatible
+ - clocks
+ - "#clock-cells"
+ - enabled-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ clock {
+ compatible = "gpio-enabled-clock";
+ #clock-cells = <0>;
+ clocks = <&pll>;
+ enabled-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
+ poll-timeout-us = <20>;
+ };

--
2.34.1