dt-bindings: clock: ti: Convert composite.txt to json-schema

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>
Link: https://lore.kernel.org/r/20250105170854.408875-3-andreas@kemnade.info
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by Andreas Kemnade and committed by Stephen Boyd dc39d7fa be7638a0

+82 -55
-55
Documentation/devicetree/bindings/clock/ti/composite.txt
··· 1 - Binding for TI composite clock. 2 - 3 - This binding uses the common clock binding[1]. It assumes a 4 - register-mapped composite clock with multiple different sub-types; 5 - 6 - a multiplexer clock with multiple input clock signals or parents, one 7 - of which can be selected as output, this behaves exactly as [2] 8 - 9 - an adjustable clock rate divider, this behaves exactly as [3] 10 - 11 - a gating function which can be used to enable and disable the output 12 - clock, this behaves exactly as [4] 13 - 14 - The binding must provide a list of the component clocks that shall be 15 - merged to this clock. The component clocks shall be of one of the 16 - "ti,*composite*-clock" types. 17 - 18 - [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 19 - [2] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml 20 - [3] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml 21 - [4] Documentation/devicetree/bindings/clock/ti/gate.txt 22 - 23 - Required properties: 24 - - compatible : shall be: "ti,composite-clock" 25 - - clocks : link phandles of component clocks 26 - - #clock-cells : from common clock binding; shall be set to 0. 27 - 28 - Optional properties: 29 - - clock-output-names : from common clock binding. 30 - 31 - Examples: 32 - 33 - usb_l4_gate_ick: usb_l4_gate_ick { 34 - #clock-cells = <0>; 35 - compatible = "ti,composite-interface-clock"; 36 - clocks = <&l4_ick>; 37 - ti,bit-shift = <5>; 38 - reg = <0x0a10>; 39 - }; 40 - 41 - usb_l4_div_ick: usb_l4_div_ick { 42 - #clock-cells = <0>; 43 - compatible = "ti,composite-divider-clock"; 44 - clocks = <&l4_ick>; 45 - ti,bit-shift = <4>; 46 - ti,max-div = <1>; 47 - reg = <0x0a40>; 48 - ti,index-starts-at-one; 49 - }; 50 - 51 - usb_l4_ick: usb_l4_ick { 52 - #clock-cells = <0>; 53 - compatible = "ti,composite-clock"; 54 - clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>; 55 - };
···
+82
Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
···
··· 1 + # SPDX-License-Identifier: GPL-2.0-only 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/ti/ti,composite-clock.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Texas Instruments composite clock 8 + 9 + maintainers: 10 + - Tero Kristo <kristo@kernel.org> 11 + 12 + description: | 13 + *Deprecated design pattern: one node per clock* 14 + 15 + This binding assumes a register-mapped composite clock with multiple 16 + different sub-types: 17 + 18 + a multiplexer clock with multiple input clock signals or parents, one 19 + of which can be selected as output, this behaves exactly as [1]. 20 + 21 + an adjustable clock rate divider, this behaves exactly as [2]. 22 + 23 + a gating function which can be used to enable and disable the output 24 + clock, this behaves exactly as [3]. 25 + 26 + The binding must provide a list of the component clocks that shall be 27 + merged to this clock. The component clocks shall be of one of the 28 + "ti,*composite*-clock" types. 29 + 30 + [1] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml 31 + [2] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml 32 + [3] Documentation/devicetree/bindings/clock/ti/ti,gate-clock.yaml 33 + 34 + properties: 35 + compatible: 36 + const: ti,composite-clock 37 + 38 + "#clock-cells": 39 + const: 0 40 + 41 + clocks: true 42 + 43 + clock-output-names: 44 + maxItems: 1 45 + 46 + required: 47 + - compatible 48 + - "#clock-cells" 49 + - clocks 50 + 51 + additionalProperties: false 52 + 53 + examples: 54 + - | 55 + bus { 56 + #address-cells = <1>; 57 + #size-cells = <0>; 58 + 59 + usb_l4_gate_ick: clock-controller@a10 { 60 + #clock-cells = <0>; 61 + compatible = "ti,composite-gate-clock"; 62 + clocks = <&l4_ick>; 63 + ti,bit-shift = <5>; 64 + reg = <0x0a10>; 65 + }; 66 + 67 + usb_l4_div_ick: clock-controller@a40 { 68 + #clock-cells = <0>; 69 + compatible = "ti,composite-divider-clock"; 70 + clocks = <&l4_ick>; 71 + ti,bit-shift = <4>; 72 + ti,max-div = <1>; 73 + reg = <0x0a40>; 74 + ti,index-starts-at-one; 75 + }; 76 + }; 77 + 78 + clock-controller { 79 + #clock-cells = <0>; 80 + compatible = "ti,composite-clock"; 81 + clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>; 82 + };