]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dt-bindings: clock: ti: Convert autoidle binding to yaml
authorSukrut Bellary <sbellary@baylibre.com>
Fri, 16 May 2025 08:16:10 +0000 (01:16 -0700)
committerStephen Boyd <sboyd@kernel.org>
Wed, 11 Jun 2025 16:12:54 +0000 (11:12 -0500)
Autoidle clock is not an individual clock; it is always a derivate of some
basic clock like a gate, divider, or fixed-factor. This binding will be
referred in ti,divider-clock.yaml, and ti,fixed-factor-clock.yaml.

As all clocks don't support the autoidle feature e.g.,
in DRA77xx/AM57xx[1], dpll_abe_x2* and dpll_per_x2 don't have
autoidle, remove required properties from the binding.

Add the creator of the original binding as a maintainer.

[1] https://www.ti.com/lit/ug/spruhz6l/spruhz6l.pdf

Signed-off-by: Sukrut Bellary <sbellary@baylibre.com>
Link: https://lore.kernel.org/r/20250516081612.767559-2-sbellary@baylibre.com
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Documentation/devicetree/bindings/clock/ti/autoidle.txt [deleted file]
Documentation/devicetree/bindings/clock/ti/ti,autoidle.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/clock/ti/autoidle.txt b/Documentation/devicetree/bindings/clock/ti/autoidle.txt
deleted file mode 100644 (file)
index 05645a1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-Binding for Texas Instruments autoidle clock.
-
-This binding uses the common clock binding[1]. It assumes a register mapped
-clock which can be put to idle automatically by hardware based on the usage
-and a configuration bit setting. Autoidle clock is never an individual
-clock, it is always a derivative of some basic clock like a gate, divider,
-or fixed-factor.
-
-[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
-
-Required properties:
-- reg : offset for the register controlling the autoidle
-- ti,autoidle-shift : bit shift of the autoidle enable bit
-- ti,invert-autoidle-bit : autoidle is enabled by setting the bit to 0
-
-Examples:
-       dpll_core_m4_ck: dpll_core_m4_ck {
-               #clock-cells = <0>;
-               compatible = "ti,divider-clock";
-               clocks = <&dpll_core_x2_ck>;
-               ti,max-div = <31>;
-               ti,autoidle-shift = <8>;
-               reg = <0x2d38>;
-               ti,index-starts-at-one;
-               ti,invert-autoidle-bit;
-       };
-
-       dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
-               #clock-cells = <0>;
-               compatible = "ti,fixed-factor-clock";
-               clocks = <&dpll_usb_ck>;
-               ti,clock-div = <1>;
-               ti,autoidle-shift = <8>;
-               reg = <0x01b4>;
-               ti,clock-mult = <1>;
-               ti,invert-autoidle-bit;
-       };
diff --git a/Documentation/devicetree/bindings/clock/ti/ti,autoidle.yaml b/Documentation/devicetree/bindings/clock/ti/ti,autoidle.yaml
new file mode 100644 (file)
index 0000000..ed1bf18
--- /dev/null
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/ti/ti,autoidle.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI autoidle clock
+
+maintainers:
+  - Tero Kristo <kristo@kernel.org>
+  - Sukrut Bellary <sbellary@baylibre.com>
+
+description:
+  Some clocks in TI SoC support the autoidle feature. These properties are
+  applicable only if the clock supports autoidle feature. It assumes a register
+  mapped clock which can be put to idle automatically by hardware based on
+  usage and configuration bit setting. Autoidle clock is never an individual
+  clock, it is always a derivative of some basic clock like a gate, divider, or
+  fixed-factor.
+
+properties:
+  ti,autoidle-shift:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      bit shift of the autoidle enable bit for the clock
+    maximum: 31
+    default: 0
+
+  ti,invert-autoidle-bit:
+    type: boolean
+    description:
+      autoidle is enabled by setting the bit to 0
+
+additionalProperties: true