Re: [PATCH RFC v2 1/2] dt-bindings: clock: ti: Convert interface.txt to json-schema

Rob Herring
2024-10-10T03:35:00Z

On Wed, Oct 09, 2024 at 10:56:18PM +0200, Andreas Kemnade wrote:
> Convert the OMAP interface clock device tree binding to json-schema.
> Specify the creator of the original binding as a maintainer.

Nice to see this! These are the top occurring undocumented (by schema)
warnings for arm32.

>
> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> ---
> .../bindings/clock/ti/interface.txt | 55 ---------------
> .../bindings/clock/ti/ti,interface-clock.yaml | 70 +++++++++++++++++++
> 2 files changed, 70 insertions(+), 55 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/clock/ti/interface.txt
> create mode 100644 Documentation/devicetree/bindings/clock/ti/ti,interface-clock.yaml
>
> diff --git a/Documentation/devicetree/bindings/clock/ti/interface.txt b/Documentation/devicetree/bindings/clock/ti/interface.txt
> deleted file mode 100644
> index 85fb1f2d2d28..000000000000
> --- a/Documentation/devicetree/bindings/clock/ti/interface.txt
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -Binding for Texas Instruments interface clock.
> -
> -This binding uses the common clock binding[1]. This clock is
> -quite much similar to the basic gate-clock [2], however,
> -it supports a number of additional features, including
> -companion clock finding (match corresponding functional gate
> -clock) and hardware autoidle enable / disable.
> -
> -[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> -[2] Documentation/devicetree/bindings/clock/gpio-gate-clock.yaml
> -
> -Required properties:
> -- compatible : shall be one of:
> - "ti,omap3-interface-clock" - basic OMAP3 interface clock
> - "ti,omap3-no-wait-interface-clock" - interface clock which has no hardware
> - capability for waiting clock to be ready
> - "ti,omap3-hsotgusb-interface-clock" - interface clock with USB specific HW
> - handling
> - "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling
> - "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling
> - "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling
> - "ti,omap2430-interface-clock" - interface clock with OMAP2430 specific HW
> - handling
> -- #clock-cells : from common clock binding; shall be set to 0
> -- clocks : link to phandle of parent clock
> -- reg : base address for the control register
> -
> -Optional properties:
> -- clock-output-names : from common clock binding.
> -- ti,bit-shift : bit shift for the bit enabling/disabling the clock (default 0)
> -
> -Examples:
> - aes1_ick: aes1_ick@48004a14 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&security_l4_ick2>;
> - reg = <0x48004a14 0x4>;
> - ti,bit-shift = <3>;
> - };
> -
> - cam_ick: cam_ick@48004f10 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-no-wait-interface-clock";
> - clocks = <&l4_ick>;
> - reg = <0x48004f10 0x4>;
> - ti,bit-shift = <0>;
> - };
> -
> - ssi_ick_3430es2: ssi_ick_3430es2@48004a10 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-ssi-interface-clock";
> - clocks = <&ssi_l4_ick>;
> - reg = <0x48004a10 0x4>;
> - ti,bit-shift = <0>;
> - };
> diff --git a/Documentation/devicetree/bindings/clock/ti/ti,interface-clock.yaml b/Documentation/devicetree/bindings/clock/ti/ti,interface-clock.yaml
> new file mode 100644
> index 000000000000..0e9542ed381f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/ti/ti,interface-clock.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/ti/ti,interface-clock.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments interface clock.
> +
> +maintainers:
> + - Tero Kristo <kristo@kernel.org>
> +
> +description: |
> + This clock is quite much similar to the basic gate-clock[1], however,
> + it supports a number of additional features, including
> + companion clock finding (match corresponding functional gate
> + clock) and hardware autoidle enable / disable.
> +
> + [1] Documentation/devicetree/bindings/clock/gpio-gate-clock.yaml
> +
> +properties:
> + compatible:
> + enum:
> + - ti,omap3-interface-clock # basic OMAP3 interface clock
> + - ti,omap3-no-wait-interface-clock # interface clock which has no hardware
> + # capability for waiting clock to be ready
> + - ti,omap3-hsotgusb-interface-clock # interface clock with USB specific HW handling
> + - ti,omap3-dss-interface-clock # interface clock with DSS specific HW handling
> + - ti,omap3-ssi-interface-clock # interface clock with SSI specific HW handling
> + - ti,am35xx-interface-clock # interface clock with AM35xx specific HW handling
> + - ti,omap2430-interface-clock # interface clock with OMAP2430 specific HW handling
> +
> + "#clock-cells":
> + const: 0
> +
> + clocks:
> + maxItems: 1
> +
> + clock-output-names:
> + maxItems: 1
> +
> + reg:
> + maxItems: 1
> +
> + ti,bit-shift:
> + description:
> + bit shift for the bit enabling/disabling the clock
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0

maximum: 31 ?

Otherwise,

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>

> +
> +required:
> + - compatible
> + - clocks
> + - '#clock-cells'
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + bus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + aes1_ick: clock-controller@3 {
> + #clock-cells = <0>;
> + compatible = "ti,omap3-interface-clock";
> + clocks = <&security_l4_ick2>;
> + reg = <3>;
> + };
> + };
> --
> 2.39.5
>