xref: /linux/Documentation/devicetree/bindings/clock/ti,cdce925.yaml (revision 687daae7941c7a7ae52b51cad6dc77b672caf787)
1*687daae7SAlexander Stein# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
2*687daae7SAlexander Stein%YAML 1.2
3*687daae7SAlexander Stein---
4*687daae7SAlexander Stein$id: http://devicetree.org/schemas/clock/ti,cdce925.yaml#
5*687daae7SAlexander Stein$schema: http://devicetree.org/meta-schemas/core.yaml#
6*687daae7SAlexander Stein
7*687daae7SAlexander Steintitle: TI CDCE913/925/937/949 programmable I2C clock synthesizers
8*687daae7SAlexander Stein
9*687daae7SAlexander Steinmaintainers:
10*687daae7SAlexander Stein  - Alexander Stein <alexander.stein@ew.tq-group.com>
11*687daae7SAlexander Stein
12*687daae7SAlexander Steindescription: |
13*687daae7SAlexander Stein  Flexible Low Power LVCMOS Clock Generator with SSC Support for EMI Reduction
14*687daae7SAlexander Stein
15*687daae7SAlexander Stein  - CDCE(L)913: 1-PLL, 3 Outputs https://www.ti.com/product/cdce913
16*687daae7SAlexander Stein  - CDCE(L)925: 2-PLL, 5 Outputs https://www.ti.com/product/cdce925
17*687daae7SAlexander Stein  - CDCE(L)937: 3-PLL, 7 Outputs https://www.ti.com/product/cdce937
18*687daae7SAlexander Stein  - CDCE(L)949: 4-PLL, 9 Outputs https://www.ti.com/product/cdce949
19*687daae7SAlexander Stein
20*687daae7SAlexander Steinproperties:
21*687daae7SAlexander Stein  compatible:
22*687daae7SAlexander Stein    enum:
23*687daae7SAlexander Stein      - ti,cdce913
24*687daae7SAlexander Stein      - ti,cdce925
25*687daae7SAlexander Stein      - ti,cdce937
26*687daae7SAlexander Stein      - ti,cdce949
27*687daae7SAlexander Stein
28*687daae7SAlexander Stein  reg:
29*687daae7SAlexander Stein    maxItems: 1
30*687daae7SAlexander Stein
31*687daae7SAlexander Stein  clocks:
32*687daae7SAlexander Stein    items:
33*687daae7SAlexander Stein      - description: fixed parent clock
34*687daae7SAlexander Stein
35*687daae7SAlexander Stein  "#clock-cells":
36*687daae7SAlexander Stein    const: 1
37*687daae7SAlexander Stein
38*687daae7SAlexander Stein  vdd-supply:
39*687daae7SAlexander Stein    description: Regulator that provides 1.8V Vdd power supply
40*687daae7SAlexander Stein
41*687daae7SAlexander Stein  vddout-supply:
42*687daae7SAlexander Stein    description: |
43*687daae7SAlexander Stein      Regulator that provides Vddout power supply.
44*687daae7SAlexander Stein      non-L variant: 2.5V or 3.3V for
45*687daae7SAlexander Stein      L variant: 1.8V for
46*687daae7SAlexander Stein
47*687daae7SAlexander Stein  xtal-load-pf:
48*687daae7SAlexander Stein    $ref: /schemas/types.yaml#/definitions/uint32
49*687daae7SAlexander Stein    description: |
50*687daae7SAlexander Stein      Crystal load-capacitor value to fine-tune performance on a
51*687daae7SAlexander Stein      board, or to compensate for external influences.
52*687daae7SAlexander Stein
53*687daae7SAlexander SteinpatternProperties:
54*687daae7SAlexander Stein  "^PLL[1-4]$":
55*687daae7SAlexander Stein    type: object
56*687daae7SAlexander Stein    description: |
57*687daae7SAlexander Stein      optional child node can be used to specify spread
58*687daae7SAlexander Stein      spectrum clocking parameters for a board
59*687daae7SAlexander Stein
60*687daae7SAlexander Stein    additionalProperties: false
61*687daae7SAlexander Stein
62*687daae7SAlexander Stein    properties:
63*687daae7SAlexander Stein      spread-spectrum:
64*687daae7SAlexander Stein        $ref: /schemas/types.yaml#/definitions/uint32
65*687daae7SAlexander Stein        description: SSC mode as defined in the data sheet
66*687daae7SAlexander Stein
67*687daae7SAlexander Stein      spread-spectrum-center:
68*687daae7SAlexander Stein        type: boolean
69*687daae7SAlexander Stein        description: |
70*687daae7SAlexander Stein          Use "centered" mode instead of "max" mode. When
71*687daae7SAlexander Stein          present, the clock runs at the requested frequency on average.
72*687daae7SAlexander Stein          Otherwise the requested frequency is the maximum value of the
73*687daae7SAlexander Stein          SCC range.
74*687daae7SAlexander Stein
75*687daae7SAlexander Steinrequired:
76*687daae7SAlexander Stein  - compatible
77*687daae7SAlexander Stein  - reg
78*687daae7SAlexander Stein  - clocks
79*687daae7SAlexander Stein  - "#clock-cells"
80*687daae7SAlexander Stein
81*687daae7SAlexander SteinadditionalProperties: false
82*687daae7SAlexander Stein
83*687daae7SAlexander Steinexamples:
84*687daae7SAlexander Stein  - |
85*687daae7SAlexander Stein    i2c {
86*687daae7SAlexander Stein        #address-cells = <1>;
87*687daae7SAlexander Stein        #size-cells = <0>;
88*687daae7SAlexander Stein
89*687daae7SAlexander Stein        cdce925: clock-controller@64 {
90*687daae7SAlexander Stein            compatible = "ti,cdce925";
91*687daae7SAlexander Stein            reg = <0x64>;
92*687daae7SAlexander Stein            clocks = <&xtal_27Mhz>;
93*687daae7SAlexander Stein            #clock-cells = <1>;
94*687daae7SAlexander Stein            xtal-load-pf = <5>;
95*687daae7SAlexander Stein            vdd-supply = <&reg_1v8>;
96*687daae7SAlexander Stein            vddout-supply = <&reg_3v3>;
97*687daae7SAlexander Stein            /* PLL options to get SSC 1% centered */
98*687daae7SAlexander Stein            PLL2 {
99*687daae7SAlexander Stein                spread-spectrum = <4>;
100*687daae7SAlexander Stein                spread-spectrum-center;
101*687daae7SAlexander Stein            };
102*687daae7SAlexander Stein        };
103*687daae7SAlexander Stein    };
104