Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / clock / renesas,9series.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/renesas,9series.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas 9-series I2C PCIe clock generators
8
9 description: |
10   The Renesas 9-series are I2C PCIe clock generators providing
11   from 1 to 20 output clocks.
12
13   When referencing the provided clock in the DT using phandle
14   and clock specifier, the following mapping applies:
15
16   - 9FGV0241:
17     0 -- DIF0
18     1 -- DIF1
19   - 9FGV0441:
20     0 -- DIF0
21     1 -- DIF1
22     2 -- DIF2
23     3 -- DIF3
24
25 maintainers:
26   - Marek Vasut <marex@denx.de>
27
28 properties:
29   compatible:
30     enum:
31       - renesas,9fgv0241
32       - renesas,9fgv0441
33
34   reg:
35     description: I2C device address
36     enum: [ 0x68, 0x6a ]
37
38   '#clock-cells':
39     const: 1
40
41   clocks:
42     items:
43       - description: XTal input clock
44
45   renesas,out-amplitude-microvolt:
46     enum: [ 600000, 700000, 800000, 900000 ]
47     description: Output clock signal amplitude
48
49   renesas,out-spread-spectrum:
50     $ref: /schemas/types.yaml#/definitions/uint32
51     enum: [ 100000, 99750, 99500 ]
52     description: Output clock down spread in pcm (1/1000 of percent)
53
54 patternProperties:
55   "^DIF[0-19]$":
56     type: object
57     description:
58       Description of one of the outputs (DIF0..DIF19).
59
60     properties:
61       renesas,slew-rate:
62         $ref: /schemas/types.yaml#/definitions/uint32
63         enum: [ 2000000, 3000000 ]
64         description: Output clock slew rate select in V/ns
65
66     additionalProperties: false
67
68 required:
69   - compatible
70   - reg
71   - clocks
72   - '#clock-cells'
73
74 additionalProperties: false
75
76 examples:
77   - |
78     /* 25MHz reference crystal */
79     ref25: ref25m {
80         compatible = "fixed-clock";
81         #clock-cells = <0>;
82         clock-frequency = <25000000>;
83     };
84
85     i2c@0 {
86         reg = <0x0 0x100>;
87         #address-cells = <1>;
88         #size-cells = <0>;
89
90         rs9: clock-generator@6a {
91             compatible = "renesas,9fgv0241";
92             reg = <0x6a>;
93             #clock-cells = <1>;
94
95             clocks = <&ref25m>;
96
97             DIF0 {
98                 renesas,slew-rate = <3000000>;
99             };
100         };
101     };
102
103 ...