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,cpg-mstp-clocks.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Renesas Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Geert Uytterhoeven <geert+renesas@glider.be>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  The Clock Pulse Generator (CPG) can gate SoC device clocks. The gates are
1462306a36Sopenharmony_ci  organized in groups of up to 32 gates.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  This device tree binding describes a single 32 gate clocks group per node.
1762306a36Sopenharmony_ci  Clocks are referenced by user nodes by the Module Stop (MSTP) node phandle
1862306a36Sopenharmony_ci  and the clock index in the group, from 0 to 31.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    items:
2362306a36Sopenharmony_ci      - enum:
2462306a36Sopenharmony_ci          - renesas,r7s72100-mstp-clocks # RZ/A1
2562306a36Sopenharmony_ci          - renesas,r8a73a4-mstp-clocks  # R-Mobile APE6
2662306a36Sopenharmony_ci          - renesas,r8a7740-mstp-clocks  # R-Mobile A1
2762306a36Sopenharmony_ci          - renesas,r8a7778-mstp-clocks  # R-Car M1
2862306a36Sopenharmony_ci          - renesas,r8a7779-mstp-clocks  # R-Car H1
2962306a36Sopenharmony_ci          - renesas,sh73a0-mstp-clocks   # SH-Mobile AG5
3062306a36Sopenharmony_ci      - const: renesas,cpg-mstp-clocks
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  reg:
3362306a36Sopenharmony_ci    minItems: 1
3462306a36Sopenharmony_ci    items:
3562306a36Sopenharmony_ci      - description: Module Stop Control Register (MSTPCR)
3662306a36Sopenharmony_ci      - description: Module Stop Status Register (MSTPSR)
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  clocks:
3962306a36Sopenharmony_ci    minItems: 1
4062306a36Sopenharmony_ci    maxItems: 32
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  '#clock-cells':
4362306a36Sopenharmony_ci    const: 1
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  clock-indices:
4662306a36Sopenharmony_ci    minItems: 1
4762306a36Sopenharmony_ci    maxItems: 32
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  clock-output-names:
5062306a36Sopenharmony_ci    minItems: 1
5162306a36Sopenharmony_ci    maxItems: 32
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_cirequired:
5462306a36Sopenharmony_ci  - compatible
5562306a36Sopenharmony_ci  - reg
5662306a36Sopenharmony_ci  - clocks
5762306a36Sopenharmony_ci  - '#clock-cells'
5862306a36Sopenharmony_ci  - clock-indices
5962306a36Sopenharmony_ci  - clock-output-names
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciadditionalProperties: false
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciexamples:
6462306a36Sopenharmony_ci  - |
6562306a36Sopenharmony_ci    #include <dt-bindings/clock/r8a73a4-clock.h>
6662306a36Sopenharmony_ci    mstp2_clks: mstp2_clks@e6150138 {
6762306a36Sopenharmony_ci            compatible = "renesas,r8a73a4-mstp-clocks",
6862306a36Sopenharmony_ci                         "renesas,cpg-mstp-clocks";
6962306a36Sopenharmony_ci            reg = <0xe6150138 4>, <0xe6150040 4>;
7062306a36Sopenharmony_ci            clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
7162306a36Sopenharmony_ci                     <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
7262306a36Sopenharmony_ci            #clock-cells = <1>;
7362306a36Sopenharmony_ci            clock-indices = <
7462306a36Sopenharmony_ci                    R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
7562306a36Sopenharmony_ci                    R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
7662306a36Sopenharmony_ci                    R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
7762306a36Sopenharmony_ci                    R8A73A4_CLK_DMAC
7862306a36Sopenharmony_ci            >;
7962306a36Sopenharmony_ci            clock-output-names =
8062306a36Sopenharmony_ci                    "scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifb3",
8162306a36Sopenharmony_ci                    "dmac";
8262306a36Sopenharmony_ci    };
83