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