diff mbox series

[2/2] dt-bindings: clock: ti: Convert composite.txt to json-schema

Message ID 20241229135351.5014-3-akemnade@kernel.org (mailing list archive)
State New
Headers show
Series dt-bindings: clocks: ti: Next round of conversion | expand

Commit Message

akemnade@kernel.org Dec. 29, 2024, 1:53 p.m. UTC
From: Andreas Kemnade <andreas@kemnade.info>

Convert the OMAP gate clock device tree binding to json-schema.
Specify the creator of the original binding as a maintainer.
Choose GPL-only license because original binding was also GPL.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
 .../bindings/clock/ti/composite.txt           | 55 -------------
 .../bindings/clock/ti/ti,composite-clock.yaml | 80 +++++++++++++++++++
 2 files changed, 80 insertions(+), 55 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/ti/composite.txt
 create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml

Comments

Rob Herring Dec. 29, 2024, 3:30 p.m. UTC | #1
On Sun, 29 Dec 2024 14:53:51 +0100, akemnade@kernel.org wrote:
> From: Andreas Kemnade <andreas@kemnade.info>
> 
> Convert the OMAP gate clock device tree binding to json-schema.
> Specify the creator of the original binding as a maintainer.
> Choose GPL-only license because original binding was also GPL.
> 
> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> ---
>  .../bindings/clock/ti/composite.txt           | 55 -------------
>  .../bindings/clock/ti/ti,composite-clock.yaml | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 55 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/clock/ti/composite.txt
>  create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/clock/ti/ti,composite-clock.example.dtb: /example-0/bus/clock-controller@a10: failed to match any schema with compatible: ['ti,composite-interface-clock']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241229135351.5014-3-akemnade@kernel.org

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Rob Herring Dec. 30, 2024, 7:46 p.m. UTC | #2
On Sun, Dec 29, 2024 at 02:53:51PM +0100, akemnade@kernel.org wrote:
> From: Andreas Kemnade <andreas@kemnade.info>
> 
> Convert the OMAP gate clock device tree binding to json-schema.
> Specify the creator of the original binding as a maintainer.
> Choose GPL-only license because original binding was also GPL.
> 
> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> ---
>  .../bindings/clock/ti/composite.txt           | 55 -------------
>  .../bindings/clock/ti/ti,composite-clock.yaml | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 55 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/clock/ti/composite.txt
>  create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
> 
> diff --git a/Documentation/devicetree/bindings/clock/ti/composite.txt b/Documentation/devicetree/bindings/clock/ti/composite.txt
> deleted file mode 100644
> index 238e6f7d74f8..000000000000
> --- a/Documentation/devicetree/bindings/clock/ti/composite.txt
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -Binding for TI composite clock.
> -
> -This binding uses the common clock binding[1]. It assumes a
> -register-mapped composite clock with multiple different sub-types;
> -
> -a multiplexer clock with multiple input clock signals or parents, one
> -of which can be selected as output, this behaves exactly as [2]
> -
> -an adjustable clock rate divider, this behaves exactly as [3]
> -
> -a gating function which can be used to enable and disable the output
> -clock, this behaves exactly as [4]
> -
> -The binding must provide a list of the component clocks that shall be
> -merged to this clock. The component clocks shall be of one of the
> -"ti,*composite*-clock" types.
> -
> -[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> -[2] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml
> -[3] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml
> -[4] Documentation/devicetree/bindings/clock/ti/gate.txt
> -
> -Required properties:
> -- compatible : shall be: "ti,composite-clock"
> -- clocks : link phandles of component clocks
> -- #clock-cells : from common clock binding; shall be set to 0.
> -
> -Optional properties:
> -- clock-output-names : from common clock binding.
> -
> -Examples:
> -
> -usb_l4_gate_ick: usb_l4_gate_ick {
> -	#clock-cells = <0>;
> -	compatible = "ti,composite-interface-clock";
> -	clocks = <&l4_ick>;
> -	ti,bit-shift = <5>;
> -	reg = <0x0a10>;
> -};
> -
> -usb_l4_div_ick: usb_l4_div_ick {
> -	#clock-cells = <0>;
> -	compatible = "ti,composite-divider-clock";
> -	clocks = <&l4_ick>;
> -	ti,bit-shift = <4>;
> -	ti,max-div = <1>;
> -	reg = <0x0a40>;
> -	ti,index-starts-at-one;
> -};
> -
> -usb_l4_ick: usb_l4_ick {
> -	#clock-cells = <0>;
> -	compatible = "ti,composite-clock";
> -	clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
> -};
> diff --git a/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml b/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
> new file mode 100644
> index 000000000000..b7063764bc0a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/ti/ti,composite-clock.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments composite clock
> +
> +maintainers:
> +  - Tero Kristo <kristo@kernel.org>
> +
> +description: |
> +  This binding assumes a register-mapped composite clock with multiple
> +  different sub-types;

s/;/:/

> +
> +  a multiplexer clock with multiple input clock signals or parents, one
> +  of which can be selected as output, this behaves exactly as [1].
> +
> +  an adjustable clock rate divider, this behaves exactly as [2].
> +
> +  a gating function which can be used to enable and disable the output
> +  clock, this behaves exactly as [3].

Indent these 3 paragraphs more since they are a list.

> +
> +  The binding must provide a list of the component clocks that shall be
> +  merged to this clock. The component clocks shall be of one of the
> +  "ti,*composite*-clock" types.
> +
> +  [1] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml
> +  [2] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml
> +  [3] Documentation/devicetree/bindings/clock/ti/ti,gate-clock.yaml
> +
> +properties:
> +  compatible:
> +    const: ti,composite-clock
> +
> +  "#clock-cells":
> +    const: 0
> +
> +  clocks: true
> +
> +  clock-output-names:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - "#clock-cells"
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    bus {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      usb_l4_gate_ick: clock-controller@a10 {
> +        #clock-cells = <0>;
> +        compatible = "ti,composite-interface-clock";
> +        clocks = <&l4_ick>;
> +        ti,bit-shift = <5>;
> +        reg = <0x0a10>;
> +      };
> +
> +      usb_l4_div_ick: clock-controller@a40 {
> +        #clock-cells = <0>;
> +        compatible = "ti,composite-divider-clock";
> +        clocks = <&l4_ick>;
> +        ti,bit-shift = <4>;
> +        ti,max-div = <1>;
> +        reg = <0x0a40>;
> +        ti,index-starts-at-one;
> +      };
> +    };
> +
> +    clock-controller {
> +      #clock-cells = <0>;
> +      compatible = "ti,composite-clock";
> +      clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
> +    };
> -- 
> 2.39.5
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/clock/ti/composite.txt b/Documentation/devicetree/bindings/clock/ti/composite.txt
deleted file mode 100644
index 238e6f7d74f8..000000000000
--- a/Documentation/devicetree/bindings/clock/ti/composite.txt
+++ /dev/null
@@ -1,55 +0,0 @@ 
-Binding for TI composite clock.
-
-This binding uses the common clock binding[1]. It assumes a
-register-mapped composite clock with multiple different sub-types;
-
-a multiplexer clock with multiple input clock signals or parents, one
-of which can be selected as output, this behaves exactly as [2]
-
-an adjustable clock rate divider, this behaves exactly as [3]
-
-a gating function which can be used to enable and disable the output
-clock, this behaves exactly as [4]
-
-The binding must provide a list of the component clocks that shall be
-merged to this clock. The component clocks shall be of one of the
-"ti,*composite*-clock" types.
-
-[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
-[2] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml
-[3] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml
-[4] Documentation/devicetree/bindings/clock/ti/gate.txt
-
-Required properties:
-- compatible : shall be: "ti,composite-clock"
-- clocks : link phandles of component clocks
-- #clock-cells : from common clock binding; shall be set to 0.
-
-Optional properties:
-- clock-output-names : from common clock binding.
-
-Examples:
-
-usb_l4_gate_ick: usb_l4_gate_ick {
-	#clock-cells = <0>;
-	compatible = "ti,composite-interface-clock";
-	clocks = <&l4_ick>;
-	ti,bit-shift = <5>;
-	reg = <0x0a10>;
-};
-
-usb_l4_div_ick: usb_l4_div_ick {
-	#clock-cells = <0>;
-	compatible = "ti,composite-divider-clock";
-	clocks = <&l4_ick>;
-	ti,bit-shift = <4>;
-	ti,max-div = <1>;
-	reg = <0x0a40>;
-	ti,index-starts-at-one;
-};
-
-usb_l4_ick: usb_l4_ick {
-	#clock-cells = <0>;
-	compatible = "ti,composite-clock";
-	clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
-};
diff --git a/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml b/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
new file mode 100644
index 000000000000..b7063764bc0a
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
@@ -0,0 +1,80 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/ti/ti,composite-clock.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments composite clock
+
+maintainers:
+  - Tero Kristo <kristo@kernel.org>
+
+description: |
+  This binding assumes a register-mapped composite clock with multiple
+  different sub-types;
+
+  a multiplexer clock with multiple input clock signals or parents, one
+  of which can be selected as output, this behaves exactly as [1].
+
+  an adjustable clock rate divider, this behaves exactly as [2].
+
+  a gating function which can be used to enable and disable the output
+  clock, this behaves exactly as [3].
+
+  The binding must provide a list of the component clocks that shall be
+  merged to this clock. The component clocks shall be of one of the
+  "ti,*composite*-clock" types.
+
+  [1] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml
+  [2] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml
+  [3] Documentation/devicetree/bindings/clock/ti/ti,gate-clock.yaml
+
+properties:
+  compatible:
+    const: ti,composite-clock
+
+  "#clock-cells":
+    const: 0
+
+  clocks: true
+
+  clock-output-names:
+    maxItems: 1
+
+required:
+  - compatible
+  - "#clock-cells"
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    bus {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      usb_l4_gate_ick: clock-controller@a10 {
+        #clock-cells = <0>;
+        compatible = "ti,composite-interface-clock";
+        clocks = <&l4_ick>;
+        ti,bit-shift = <5>;
+        reg = <0x0a10>;
+      };
+
+      usb_l4_div_ick: clock-controller@a40 {
+        #clock-cells = <0>;
+        compatible = "ti,composite-divider-clock";
+        clocks = <&l4_ick>;
+        ti,bit-shift = <4>;
+        ti,max-div = <1>;
+        reg = <0x0a40>;
+        ti,index-starts-at-one;
+      };
+    };
+
+    clock-controller {
+      #clock-cells = <0>;
+      compatible = "ti,composite-clock";
+      clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
+    };