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