162306a36Sopenharmony_ciBinding for TI composite clock. 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciBinding status: Unstable - ABI compatibility may be broken in the future 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciThis binding uses the common clock binding[1]. It assumes a 662306a36Sopenharmony_ciregister-mapped composite clock with multiple different sub-types; 762306a36Sopenharmony_ci 862306a36Sopenharmony_cia multiplexer clock with multiple input clock signals or parents, one 962306a36Sopenharmony_ciof which can be selected as output, this behaves exactly as [2] 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cian adjustable clock rate divider, this behaves exactly as [3] 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cia gating function which can be used to enable and disable the output 1462306a36Sopenharmony_ciclock, this behaves exactly as [4] 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciThe binding must provide a list of the component clocks that shall be 1762306a36Sopenharmony_cimerged to this clock. The component clocks shall be of one of the 1862306a36Sopenharmony_ci"ti,*composite*-clock" types. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 2162306a36Sopenharmony_ci[2] Documentation/devicetree/bindings/clock/ti/mux.txt 2262306a36Sopenharmony_ci[3] Documentation/devicetree/bindings/clock/ti/divider.txt 2362306a36Sopenharmony_ci[4] Documentation/devicetree/bindings/clock/ti/gate.txt 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciRequired properties: 2662306a36Sopenharmony_ci- compatible : shall be: "ti,composite-clock" 2762306a36Sopenharmony_ci- clocks : link phandles of component clocks 2862306a36Sopenharmony_ci- #clock-cells : from common clock binding; shall be set to 0. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciOptional properties: 3162306a36Sopenharmony_ci- clock-output-names : from common clock binding. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciExamples: 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciusb_l4_gate_ick: usb_l4_gate_ick { 3662306a36Sopenharmony_ci #clock-cells = <0>; 3762306a36Sopenharmony_ci compatible = "ti,composite-interface-clock"; 3862306a36Sopenharmony_ci clocks = <&l4_ick>; 3962306a36Sopenharmony_ci ti,bit-shift = <5>; 4062306a36Sopenharmony_ci reg = <0x0a10>; 4162306a36Sopenharmony_ci}; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciusb_l4_div_ick: usb_l4_div_ick { 4462306a36Sopenharmony_ci #clock-cells = <0>; 4562306a36Sopenharmony_ci compatible = "ti,composite-divider-clock"; 4662306a36Sopenharmony_ci clocks = <&l4_ick>; 4762306a36Sopenharmony_ci ti,bit-shift = <4>; 4862306a36Sopenharmony_ci ti,max-div = <1>; 4962306a36Sopenharmony_ci reg = <0x0a40>; 5062306a36Sopenharmony_ci ti,index-starts-at-one; 5162306a36Sopenharmony_ci}; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciusb_l4_ick: usb_l4_ick { 5462306a36Sopenharmony_ci #clock-cells = <0>; 5562306a36Sopenharmony_ci compatible = "ti,composite-clock"; 5662306a36Sopenharmony_ci clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>; 5762306a36Sopenharmony_ci}; 58