xref: /freebsd/sys/contrib/device-tree/Bindings/clock/renesas,9series.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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/renesas,9series.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Renesas 9-series I2C PCIe clock generators
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotdescription: |
10c9ccf3a3SEmmanuel Vadot  The Renesas 9-series are I2C PCIe clock generators providing
11c9ccf3a3SEmmanuel Vadot  from 1 to 20 output clocks.
12c9ccf3a3SEmmanuel Vadot
13c9ccf3a3SEmmanuel Vadot  When referencing the provided clock in the DT using phandle
14c9ccf3a3SEmmanuel Vadot  and clock specifier, the following mapping applies:
15c9ccf3a3SEmmanuel Vadot
16c9ccf3a3SEmmanuel Vadot  - 9FGV0241:
17c9ccf3a3SEmmanuel Vadot    0 -- DIF0
18c9ccf3a3SEmmanuel Vadot    1 -- DIF1
19fac71e4eSEmmanuel Vadot  - 9FGV0441:
20fac71e4eSEmmanuel Vadot    0 -- DIF0
21fac71e4eSEmmanuel Vadot    1 -- DIF1
22fac71e4eSEmmanuel Vadot    2 -- DIF2
23fac71e4eSEmmanuel Vadot    3 -- DIF3
24*8d13bc63SEmmanuel Vadot  - 9FGV0841:
25*8d13bc63SEmmanuel Vadot    0 -- DIF0
26*8d13bc63SEmmanuel Vadot    1 -- DIF1
27*8d13bc63SEmmanuel Vadot    2 -- DIF2
28*8d13bc63SEmmanuel Vadot    3 -- DIF3
29*8d13bc63SEmmanuel Vadot    4 -- DIF4
30*8d13bc63SEmmanuel Vadot    5 -- DIF5
31*8d13bc63SEmmanuel Vadot    6 -- DIF6
32*8d13bc63SEmmanuel Vadot    7 -- DIF7
33c9ccf3a3SEmmanuel Vadot
34c9ccf3a3SEmmanuel Vadotmaintainers:
35c9ccf3a3SEmmanuel Vadot  - Marek Vasut <marex@denx.de>
36c9ccf3a3SEmmanuel Vadot
37c9ccf3a3SEmmanuel Vadotproperties:
38c9ccf3a3SEmmanuel Vadot  compatible:
39c9ccf3a3SEmmanuel Vadot    enum:
40c9ccf3a3SEmmanuel Vadot      - renesas,9fgv0241
41fac71e4eSEmmanuel Vadot      - renesas,9fgv0441
42*8d13bc63SEmmanuel Vadot      - renesas,9fgv0841
43c9ccf3a3SEmmanuel Vadot
44c9ccf3a3SEmmanuel Vadot  reg:
45c9ccf3a3SEmmanuel Vadot    description: I2C device address
46c9ccf3a3SEmmanuel Vadot    enum: [ 0x68, 0x6a ]
47c9ccf3a3SEmmanuel Vadot
48c9ccf3a3SEmmanuel Vadot  '#clock-cells':
49c9ccf3a3SEmmanuel Vadot    const: 1
50c9ccf3a3SEmmanuel Vadot
51c9ccf3a3SEmmanuel Vadot  clocks:
52c9ccf3a3SEmmanuel Vadot    items:
53c9ccf3a3SEmmanuel Vadot      - description: XTal input clock
54c9ccf3a3SEmmanuel Vadot
55c9ccf3a3SEmmanuel Vadot  renesas,out-amplitude-microvolt:
56c9ccf3a3SEmmanuel Vadot    enum: [ 600000, 700000, 800000, 900000 ]
57c9ccf3a3SEmmanuel Vadot    description: Output clock signal amplitude
58c9ccf3a3SEmmanuel Vadot
59c9ccf3a3SEmmanuel Vadot  renesas,out-spread-spectrum:
60c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
61c9ccf3a3SEmmanuel Vadot    enum: [ 100000, 99750, 99500 ]
62c9ccf3a3SEmmanuel Vadot    description: Output clock down spread in pcm (1/1000 of percent)
63c9ccf3a3SEmmanuel Vadot
64c9ccf3a3SEmmanuel VadotpatternProperties:
65c9ccf3a3SEmmanuel Vadot  "^DIF[0-19]$":
66c9ccf3a3SEmmanuel Vadot    type: object
67c9ccf3a3SEmmanuel Vadot    description:
68c9ccf3a3SEmmanuel Vadot      Description of one of the outputs (DIF0..DIF19).
69c9ccf3a3SEmmanuel Vadot
70c9ccf3a3SEmmanuel Vadot    properties:
71c9ccf3a3SEmmanuel Vadot      renesas,slew-rate:
72c9ccf3a3SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
73c9ccf3a3SEmmanuel Vadot        enum: [ 2000000, 3000000 ]
74c9ccf3a3SEmmanuel Vadot        description: Output clock slew rate select in V/ns
75c9ccf3a3SEmmanuel Vadot
76c9ccf3a3SEmmanuel Vadot    additionalProperties: false
77c9ccf3a3SEmmanuel Vadot
78c9ccf3a3SEmmanuel Vadotrequired:
79c9ccf3a3SEmmanuel Vadot  - compatible
80c9ccf3a3SEmmanuel Vadot  - reg
81c9ccf3a3SEmmanuel Vadot  - clocks
82c9ccf3a3SEmmanuel Vadot  - '#clock-cells'
83c9ccf3a3SEmmanuel Vadot
84c9ccf3a3SEmmanuel VadotadditionalProperties: false
85c9ccf3a3SEmmanuel Vadot
86c9ccf3a3SEmmanuel Vadotexamples:
87c9ccf3a3SEmmanuel Vadot  - |
88c9ccf3a3SEmmanuel Vadot    /* 25MHz reference crystal */
89c9ccf3a3SEmmanuel Vadot    ref25: ref25m {
90c9ccf3a3SEmmanuel Vadot        compatible = "fixed-clock";
91c9ccf3a3SEmmanuel Vadot        #clock-cells = <0>;
92c9ccf3a3SEmmanuel Vadot        clock-frequency = <25000000>;
93c9ccf3a3SEmmanuel Vadot    };
94c9ccf3a3SEmmanuel Vadot
95c9ccf3a3SEmmanuel Vadot    i2c@0 {
96c9ccf3a3SEmmanuel Vadot        reg = <0x0 0x100>;
97c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
98c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
99c9ccf3a3SEmmanuel Vadot
100c9ccf3a3SEmmanuel Vadot        rs9: clock-generator@6a {
101c9ccf3a3SEmmanuel Vadot            compatible = "renesas,9fgv0241";
102c9ccf3a3SEmmanuel Vadot            reg = <0x6a>;
103c9ccf3a3SEmmanuel Vadot            #clock-cells = <1>;
104c9ccf3a3SEmmanuel Vadot
105c9ccf3a3SEmmanuel Vadot            clocks = <&ref25m>;
106c9ccf3a3SEmmanuel Vadot
107c9ccf3a3SEmmanuel Vadot            DIF0 {
108c9ccf3a3SEmmanuel Vadot                renesas,slew-rate = <3000000>;
109c9ccf3a3SEmmanuel Vadot            };
110c9ccf3a3SEmmanuel Vadot        };
111c9ccf3a3SEmmanuel Vadot    };
112c9ccf3a3SEmmanuel Vadot
113c9ccf3a3SEmmanuel Vadot...
114