diff mbox series

dt-bindings: clock: Add binding for TI clksel

Message ID 20211217113640.59840-1-tony@atomide.com
State Accepted
Commit 31fc1c63c2ae4a542e3c7ac572a10a59ece45c24
Headers show
Series dt-bindings: clock: Add binding for TI clksel | expand

Commit Message

Tony Lindgren Dec. 17, 2021, 11:36 a.m. UTC
In order to prepare for fixing lots of devicetree unique_unit_address
warnings for the TI clock nodes, let's add a binding for the clksel
clocks. This allows us to move the overlapping devicetree clocks to be
children of the related clksel nodes. And then we need the reg property
only for the parent clksel node.

We want to set #clock-cells = <1> in case we ever start parsing the clkcsel
clocks directly using a clksel driver rather than using the existing
component clock drivers and child nodes. We also need to update the clock
drivers to get the IO address from the parent clksel node before updating
the dts files. These will be posted as separate patches.

Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 .../bindings/clock/ti/ti,clksel.yaml          | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml

Comments

Rob Herring Dec. 21, 2021, 6:13 p.m. UTC | #1
On Fri, Dec 17, 2021 at 01:36:40PM +0200, Tony Lindgren wrote:
> In order to prepare for fixing lots of devicetree unique_unit_address
> warnings for the TI clock nodes, let's add a binding for the clksel
> clocks. This allows us to move the overlapping devicetree clocks to be
> children of the related clksel nodes. And then we need the reg property
> only for the parent clksel node.
> 
> We want to set #clock-cells = <1> in case we ever start parsing the clkcsel
> clocks directly using a clksel driver rather than using the existing
> component clock drivers and child nodes. We also need to update the clock
> drivers to get the IO address from the parent clksel node before updating
> the dts files. These will be posted as separate patches.
> 
> Cc: Tero Kristo <kristo@kernel.org>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  .../bindings/clock/ti/ti,clksel.yaml          | 41 +++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml
> 
> diff --git a/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml b/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/ti/ti,clksel.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Binding for TI clksel clock
> +
> +maintainers:
> +  - Tony Lindgren <tony@atomide.com>
> +
> +description: |
> +  The TI CLKSEL clocks consist of consist of a mux, divider, multiplier and
> +  gate bits.
> +
> +properties:
> +  compatible:
> +    const: ti,clksel
> +
> +  reg:
> +    maxItems: 1
> +    description: The CLKSEL register
> +
> +  "#clock-cells":
> +    const: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#clock-cells"
> +
> +additionalProperties: true

Like what properties?

true is only used for common, incomplete schemas referenced by device 
schemas.

> +
> +examples:
> +  - |
> +    clksel_gfx_fclk: clock@52c {
> +      compatible = "ti,clksel";
> +      reg = <0x25c 0x4>;
> +      #clock-cells = <1>;
> +    };
> +...
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml b/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml
new file mode 100644
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ti/ti,clksel.yaml
@@ -0,0 +1,41 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/ti/ti,clksel.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Binding for TI clksel clock
+
+maintainers:
+  - Tony Lindgren <tony@atomide.com>
+
+description: |
+  The TI CLKSEL clocks consist of consist of a mux, divider, multiplier and
+  gate bits.
+
+properties:
+  compatible:
+    const: ti,clksel
+
+  reg:
+    maxItems: 1
+    description: The CLKSEL register
+
+  "#clock-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - "#clock-cells"
+
+additionalProperties: true
+
+examples:
+  - |
+    clksel_gfx_fclk: clock@52c {
+      compatible = "ti,clksel";
+      reg = <0x25c 0x4>;
+      #clock-cells = <1>;
+    };
+...