1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c9ccf3a3SEmmanuel Vadot%YAML 1.2 3*c9ccf3a3SEmmanuel Vadot--- 4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/cirrus,cs2000-cp.yaml# 5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c9ccf3a3SEmmanuel Vadot 7*c9ccf3a3SEmmanuel Vadottitle: Binding CIRRUS LOGIC Fractional-N Clock Synthesizer & Clock Multiplier 8*c9ccf3a3SEmmanuel Vadot 9*c9ccf3a3SEmmanuel Vadotmaintainers: 10*c9ccf3a3SEmmanuel Vadot - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 11*c9ccf3a3SEmmanuel Vadot 12*c9ccf3a3SEmmanuel Vadotdescription: | 13*c9ccf3a3SEmmanuel Vadot The CS2000-CP is an extremely versatile system clocking device that 14*c9ccf3a3SEmmanuel Vadot utilizes a programmable phase lock loop. 15*c9ccf3a3SEmmanuel Vadot 16*c9ccf3a3SEmmanuel Vadot Link: https://www.cirrus.com/products/cs2000/ 17*c9ccf3a3SEmmanuel Vadot 18*c9ccf3a3SEmmanuel Vadotproperties: 19*c9ccf3a3SEmmanuel Vadot compatible: 20*c9ccf3a3SEmmanuel Vadot enum: 21*c9ccf3a3SEmmanuel Vadot - cirrus,cs2000-cp 22*c9ccf3a3SEmmanuel Vadot 23*c9ccf3a3SEmmanuel Vadot clocks: 24*c9ccf3a3SEmmanuel Vadot description: 25*c9ccf3a3SEmmanuel Vadot Common clock binding for CLK_IN, XTI/REF_CLK 26*c9ccf3a3SEmmanuel Vadot minItems: 2 27*c9ccf3a3SEmmanuel Vadot maxItems: 2 28*c9ccf3a3SEmmanuel Vadot 29*c9ccf3a3SEmmanuel Vadot clock-names: 30*c9ccf3a3SEmmanuel Vadot items: 31*c9ccf3a3SEmmanuel Vadot - const: clk_in 32*c9ccf3a3SEmmanuel Vadot - const: ref_clk 33*c9ccf3a3SEmmanuel Vadot 34*c9ccf3a3SEmmanuel Vadot '#clock-cells': 35*c9ccf3a3SEmmanuel Vadot const: 0 36*c9ccf3a3SEmmanuel Vadot 37*c9ccf3a3SEmmanuel Vadot reg: 38*c9ccf3a3SEmmanuel Vadot maxItems: 1 39*c9ccf3a3SEmmanuel Vadot 40*c9ccf3a3SEmmanuel Vadot cirrus,aux-output-source: 41*c9ccf3a3SEmmanuel Vadot description: 42*c9ccf3a3SEmmanuel Vadot Specifies the function of the auxiliary clock output pin 43*c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 44*c9ccf3a3SEmmanuel Vadot enum: 45*c9ccf3a3SEmmanuel Vadot - 0 # CS2000CP_AUX_OUTPUT_REF_CLK: ref_clk input 46*c9ccf3a3SEmmanuel Vadot - 1 # CS2000CP_AUX_OUTPUT_CLK_IN: clk_in input 47*c9ccf3a3SEmmanuel Vadot - 2 # CS2000CP_AUX_OUTPUT_CLK_OUT: clk_out output 48*c9ccf3a3SEmmanuel Vadot - 3 # CS2000CP_AUX_OUTPUT_PLL_LOCK: pll lock status 49*c9ccf3a3SEmmanuel Vadot default: 0 50*c9ccf3a3SEmmanuel Vadot 51*c9ccf3a3SEmmanuel Vadot cirrus,clock-skip: 52*c9ccf3a3SEmmanuel Vadot description: 53*c9ccf3a3SEmmanuel Vadot This mode allows the PLL to maintain lock even when CLK_IN 54*c9ccf3a3SEmmanuel Vadot has missing pulses for up to 20 ms. 55*c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 56*c9ccf3a3SEmmanuel Vadot 57*c9ccf3a3SEmmanuel Vadot cirrus,dynamic-mode: 58*c9ccf3a3SEmmanuel Vadot description: 59*c9ccf3a3SEmmanuel Vadot In dynamic mode, the CLK_IN input is used to drive the 60*c9ccf3a3SEmmanuel Vadot digital PLL of the silicon. 61*c9ccf3a3SEmmanuel Vadot If not given, the static mode shall be used to derive the 62*c9ccf3a3SEmmanuel Vadot output signal directly from the REF_CLK input. 63*c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 64*c9ccf3a3SEmmanuel Vadot 65*c9ccf3a3SEmmanuel Vadotrequired: 66*c9ccf3a3SEmmanuel Vadot - compatible 67*c9ccf3a3SEmmanuel Vadot - reg 68*c9ccf3a3SEmmanuel Vadot - clocks 69*c9ccf3a3SEmmanuel Vadot - clock-names 70*c9ccf3a3SEmmanuel Vadot - '#clock-cells' 71*c9ccf3a3SEmmanuel Vadot 72*c9ccf3a3SEmmanuel VadotadditionalProperties: false 73*c9ccf3a3SEmmanuel Vadot 74*c9ccf3a3SEmmanuel Vadotexamples: 75*c9ccf3a3SEmmanuel Vadot - | 76*c9ccf3a3SEmmanuel Vadot #include <dt-bindings/clock/cirrus,cs2000-cp.h> 77*c9ccf3a3SEmmanuel Vadot 78*c9ccf3a3SEmmanuel Vadot i2c@0 { 79*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100>; 80*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 81*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 82*c9ccf3a3SEmmanuel Vadot 83*c9ccf3a3SEmmanuel Vadot clock-controller@4f { 84*c9ccf3a3SEmmanuel Vadot #clock-cells = <0>; 85*c9ccf3a3SEmmanuel Vadot compatible = "cirrus,cs2000-cp"; 86*c9ccf3a3SEmmanuel Vadot reg = <0x4f>; 87*c9ccf3a3SEmmanuel Vadot clocks = <&rcar_sound 0>, <&x12_clk>; 88*c9ccf3a3SEmmanuel Vadot clock-names = "clk_in", "ref_clk"; 89*c9ccf3a3SEmmanuel Vadot cirrus,aux-output-source = <CS2000CP_AUX_OUTPUT_CLK_OUT>; 90*c9ccf3a3SEmmanuel Vadot }; 91*c9ccf3a3SEmmanuel Vadot }; 92