xref: /linux/Documentation/devicetree/bindings/clock/ti,cdce925.yaml (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2687daae7SAlexander Stein%YAML 1.2
3687daae7SAlexander Stein---
4687daae7SAlexander Stein$id: http://devicetree.org/schemas/clock/ti,cdce925.yaml#
5687daae7SAlexander Stein$schema: http://devicetree.org/meta-schemas/core.yaml#
6687daae7SAlexander Stein
7687daae7SAlexander Steintitle: TI CDCE913/925/937/949 programmable I2C clock synthesizers
8687daae7SAlexander Stein
9687daae7SAlexander Steinmaintainers:
10687daae7SAlexander Stein  - Alexander Stein <alexander.stein@ew.tq-group.com>
11687daae7SAlexander Stein
12687daae7SAlexander Steindescription: |
13687daae7SAlexander Stein  Flexible Low Power LVCMOS Clock Generator with SSC Support for EMI Reduction
14687daae7SAlexander Stein
15687daae7SAlexander Stein  - CDCE(L)913: 1-PLL, 3 Outputs https://www.ti.com/product/cdce913
16687daae7SAlexander Stein  - CDCE(L)925: 2-PLL, 5 Outputs https://www.ti.com/product/cdce925
17687daae7SAlexander Stein  - CDCE(L)937: 3-PLL, 7 Outputs https://www.ti.com/product/cdce937
18687daae7SAlexander Stein  - CDCE(L)949: 4-PLL, 9 Outputs https://www.ti.com/product/cdce949
19687daae7SAlexander Stein
20687daae7SAlexander Steinproperties:
21687daae7SAlexander Stein  compatible:
22687daae7SAlexander Stein    enum:
23687daae7SAlexander Stein      - ti,cdce913
24687daae7SAlexander Stein      - ti,cdce925
25687daae7SAlexander Stein      - ti,cdce937
26687daae7SAlexander Stein      - ti,cdce949
27687daae7SAlexander Stein
28687daae7SAlexander Stein  reg:
29687daae7SAlexander Stein    maxItems: 1
30687daae7SAlexander Stein
31687daae7SAlexander Stein  clocks:
32687daae7SAlexander Stein    items:
33687daae7SAlexander Stein      - description: fixed parent clock
34687daae7SAlexander Stein
35687daae7SAlexander Stein  "#clock-cells":
36687daae7SAlexander Stein    const: 1
37687daae7SAlexander Stein
38687daae7SAlexander Stein  vdd-supply:
39687daae7SAlexander Stein    description: Regulator that provides 1.8V Vdd power supply
40687daae7SAlexander Stein
41687daae7SAlexander Stein  vddout-supply:
42687daae7SAlexander Stein    description: |
43687daae7SAlexander Stein      Regulator that provides Vddout power supply.
44687daae7SAlexander Stein      non-L variant: 2.5V or 3.3V for
45687daae7SAlexander Stein      L variant: 1.8V for
46687daae7SAlexander Stein
47687daae7SAlexander Stein  xtal-load-pf:
48687daae7SAlexander Stein    $ref: /schemas/types.yaml#/definitions/uint32
49687daae7SAlexander Stein    description: |
50687daae7SAlexander Stein      Crystal load-capacitor value to fine-tune performance on a
51687daae7SAlexander Stein      board, or to compensate for external influences.
52687daae7SAlexander Stein
53687daae7SAlexander SteinpatternProperties:
54687daae7SAlexander Stein  "^PLL[1-4]$":
55687daae7SAlexander Stein    type: object
56687daae7SAlexander Stein    description: |
57687daae7SAlexander Stein      optional child node can be used to specify spread
58687daae7SAlexander Stein      spectrum clocking parameters for a board
59687daae7SAlexander Stein
60687daae7SAlexander Stein    additionalProperties: false
61687daae7SAlexander Stein
62687daae7SAlexander Stein    properties:
63687daae7SAlexander Stein      spread-spectrum:
64687daae7SAlexander Stein        $ref: /schemas/types.yaml#/definitions/uint32
65687daae7SAlexander Stein        description: SSC mode as defined in the data sheet
66687daae7SAlexander Stein
67687daae7SAlexander Stein      spread-spectrum-center:
68687daae7SAlexander Stein        type: boolean
69687daae7SAlexander Stein        description: |
70687daae7SAlexander Stein          Use "centered" mode instead of "max" mode. When
71687daae7SAlexander Stein          present, the clock runs at the requested frequency on average.
72687daae7SAlexander Stein          Otherwise the requested frequency is the maximum value of the
73687daae7SAlexander Stein          SCC range.
74687daae7SAlexander Stein
75687daae7SAlexander Steinrequired:
76687daae7SAlexander Stein  - compatible
77687daae7SAlexander Stein  - reg
78687daae7SAlexander Stein  - clocks
79687daae7SAlexander Stein  - "#clock-cells"
80687daae7SAlexander Stein
81687daae7SAlexander SteinadditionalProperties: false
82687daae7SAlexander Stein
83687daae7SAlexander Steinexamples:
84687daae7SAlexander Stein  - |
85687daae7SAlexander Stein    i2c {
86687daae7SAlexander Stein        #address-cells = <1>;
87687daae7SAlexander Stein        #size-cells = <0>;
88687daae7SAlexander Stein
89687daae7SAlexander Stein        cdce925: clock-controller@64 {
90687daae7SAlexander Stein            compatible = "ti,cdce925";
91687daae7SAlexander Stein            reg = <0x64>;
92687daae7SAlexander Stein            clocks = <&xtal_27Mhz>;
93687daae7SAlexander Stein            #clock-cells = <1>;
94687daae7SAlexander Stein            xtal-load-pf = <5>;
95687daae7SAlexander Stein            vdd-supply = <&reg_1v8>;
96687daae7SAlexander Stein            vddout-supply = <&reg_3v3>;
97687daae7SAlexander Stein            /* PLL options to get SSC 1% centered */
98687daae7SAlexander Stein            PLL2 {
99687daae7SAlexander Stein                spread-spectrum = <4>;
100687daae7SAlexander Stein                spread-spectrum-center;
101687daae7SAlexander Stein            };
102687daae7SAlexander Stein        };
103687daae7SAlexander Stein    };
104