0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/clock/cirrus,cs2000-cp.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Binding CIRRUS LOGIC Fractional-N Clock Synthesizer & Clock Multiplier
0008
0009 maintainers:
0010 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
0011
0012 description: |
0013 The CS2000-CP is an extremely versatile system clocking device that
0014 utilizes a programmable phase lock loop.
0015
0016 Link: https://www.cirrus.com/products/cs2000/
0017
0018 properties:
0019 compatible:
0020 enum:
0021 - cirrus,cs2000-cp
0022
0023 clocks:
0024 description:
0025 Common clock binding for CLK_IN, XTI/REF_CLK
0026 minItems: 2
0027 maxItems: 2
0028
0029 clock-names:
0030 items:
0031 - const: clk_in
0032 - const: ref_clk
0033
0034 '#clock-cells':
0035 const: 0
0036
0037 reg:
0038 maxItems: 1
0039
0040 cirrus,aux-output-source:
0041 description:
0042 Specifies the function of the auxiliary clock output pin
0043 $ref: /schemas/types.yaml#/definitions/uint32
0044 enum:
0045 - 0 # CS2000CP_AUX_OUTPUT_REF_CLK: ref_clk input
0046 - 1 # CS2000CP_AUX_OUTPUT_CLK_IN: clk_in input
0047 - 2 # CS2000CP_AUX_OUTPUT_CLK_OUT: clk_out output
0048 - 3 # CS2000CP_AUX_OUTPUT_PLL_LOCK: pll lock status
0049 default: 0
0050
0051 cirrus,clock-skip:
0052 description:
0053 This mode allows the PLL to maintain lock even when CLK_IN
0054 has missing pulses for up to 20 ms.
0055 $ref: /schemas/types.yaml#/definitions/flag
0056
0057 cirrus,dynamic-mode:
0058 description:
0059 In dynamic mode, the CLK_IN input is used to drive the
0060 digital PLL of the silicon.
0061 If not given, the static mode shall be used to derive the
0062 output signal directly from the REF_CLK input.
0063 $ref: /schemas/types.yaml#/definitions/flag
0064
0065 required:
0066 - compatible
0067 - reg
0068 - clocks
0069 - clock-names
0070 - '#clock-cells'
0071
0072 additionalProperties: false
0073
0074 examples:
0075 - |
0076 #include <dt-bindings/clock/cirrus,cs2000-cp.h>
0077
0078 i2c@0 {
0079 reg = <0x0 0x100>;
0080 #address-cells = <1>;
0081 #size-cells = <0>;
0082
0083 clock-controller@4f {
0084 #clock-cells = <0>;
0085 compatible = "cirrus,cs2000-cp";
0086 reg = <0x4f>;
0087 clocks = <&rcar_sound 0>, <&x12_clk>;
0088 clock-names = "clk_in", "ref_clk";
0089 cirrus,aux-output-source = <CS2000CP_AUX_OUTPUT_CLK_OUT>;
0090 };
0091 };