162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/renesas,9series.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Renesas 9-series I2C PCIe clock generators
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  The Renesas 9-series are I2C PCIe clock generators providing
1162306a36Sopenharmony_ci  from 1 to 20 output clocks.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci  When referencing the provided clock in the DT using phandle
1462306a36Sopenharmony_ci  and clock specifier, the following mapping applies:
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  - 9FGV0241:
1762306a36Sopenharmony_ci    0 -- DIF0
1862306a36Sopenharmony_ci    1 -- DIF1
1962306a36Sopenharmony_ci  - 9FGV0441:
2062306a36Sopenharmony_ci    0 -- DIF0
2162306a36Sopenharmony_ci    1 -- DIF1
2262306a36Sopenharmony_ci    2 -- DIF2
2362306a36Sopenharmony_ci    3 -- DIF3
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_cimaintainers:
2662306a36Sopenharmony_ci  - Marek Vasut <marex@denx.de>
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciproperties:
2962306a36Sopenharmony_ci  compatible:
3062306a36Sopenharmony_ci    enum:
3162306a36Sopenharmony_ci      - renesas,9fgv0241
3262306a36Sopenharmony_ci      - renesas,9fgv0441
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  reg:
3562306a36Sopenharmony_ci    description: I2C device address
3662306a36Sopenharmony_ci    enum: [ 0x68, 0x6a ]
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  '#clock-cells':
3962306a36Sopenharmony_ci    const: 1
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  clocks:
4262306a36Sopenharmony_ci    items:
4362306a36Sopenharmony_ci      - description: XTal input clock
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  renesas,out-amplitude-microvolt:
4662306a36Sopenharmony_ci    enum: [ 600000, 700000, 800000, 900000 ]
4762306a36Sopenharmony_ci    description: Output clock signal amplitude
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  renesas,out-spread-spectrum:
5062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
5162306a36Sopenharmony_ci    enum: [ 100000, 99750, 99500 ]
5262306a36Sopenharmony_ci    description: Output clock down spread in pcm (1/1000 of percent)
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cipatternProperties:
5562306a36Sopenharmony_ci  "^DIF[0-19]$":
5662306a36Sopenharmony_ci    type: object
5762306a36Sopenharmony_ci    description:
5862306a36Sopenharmony_ci      Description of one of the outputs (DIF0..DIF19).
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci    properties:
6162306a36Sopenharmony_ci      renesas,slew-rate:
6262306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
6362306a36Sopenharmony_ci        enum: [ 2000000, 3000000 ]
6462306a36Sopenharmony_ci        description: Output clock slew rate select in V/ns
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci    additionalProperties: false
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_cirequired:
6962306a36Sopenharmony_ci  - compatible
7062306a36Sopenharmony_ci  - reg
7162306a36Sopenharmony_ci  - clocks
7262306a36Sopenharmony_ci  - '#clock-cells'
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciadditionalProperties: false
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciexamples:
7762306a36Sopenharmony_ci  - |
7862306a36Sopenharmony_ci    /* 25MHz reference crystal */
7962306a36Sopenharmony_ci    ref25: ref25m {
8062306a36Sopenharmony_ci        compatible = "fixed-clock";
8162306a36Sopenharmony_ci        #clock-cells = <0>;
8262306a36Sopenharmony_ci        clock-frequency = <25000000>;
8362306a36Sopenharmony_ci    };
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci    i2c@0 {
8662306a36Sopenharmony_ci        reg = <0x0 0x100>;
8762306a36Sopenharmony_ci        #address-cells = <1>;
8862306a36Sopenharmony_ci        #size-cells = <0>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci        rs9: clock-generator@6a {
9162306a36Sopenharmony_ci            compatible = "renesas,9fgv0241";
9262306a36Sopenharmony_ci            reg = <0x6a>;
9362306a36Sopenharmony_ci            #clock-cells = <1>;
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci            clocks = <&ref25m>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci            DIF0 {
9862306a36Sopenharmony_ci                renesas,slew-rate = <3000000>;
9962306a36Sopenharmony_ci            };
10062306a36Sopenharmony_ci        };
10162306a36Sopenharmony_ci    };
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci...
104