Back to home page

OSCL-LXR

 
 

    


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     };