18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/renesas,cpg-mstp-clocks.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Renesas Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Geert Uytterhoeven <geert+renesas@glider.be>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription:
138c2ecf20Sopenharmony_ci  The Clock Pulse Generator (CPG) can gate SoC device clocks. The gates are
148c2ecf20Sopenharmony_ci  organized in groups of up to 32 gates.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  This device tree binding describes a single 32 gate clocks group per node.
178c2ecf20Sopenharmony_ci  Clocks are referenced by user nodes by the Module Stop (MSTP) node phandle
188c2ecf20Sopenharmony_ci  and the clock index in the group, from 0 to 31.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciproperties:
218c2ecf20Sopenharmony_ci  compatible:
228c2ecf20Sopenharmony_ci    items:
238c2ecf20Sopenharmony_ci      - enum:
248c2ecf20Sopenharmony_ci          - renesas,r7s72100-mstp-clocks # RZ/A1
258c2ecf20Sopenharmony_ci          - renesas,r8a73a4-mstp-clocks  # R-Mobile APE6
268c2ecf20Sopenharmony_ci          - renesas,r8a7740-mstp-clocks  # R-Mobile A1
278c2ecf20Sopenharmony_ci          - renesas,r8a7778-mstp-clocks  # R-Car M1
288c2ecf20Sopenharmony_ci          - renesas,r8a7779-mstp-clocks  # R-Car H1
298c2ecf20Sopenharmony_ci          - renesas,sh73a0-mstp-clocks   # SH-Mobile AG5
308c2ecf20Sopenharmony_ci      - const: renesas,cpg-mstp-clocks
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  reg:
338c2ecf20Sopenharmony_ci    minItems: 1
348c2ecf20Sopenharmony_ci    items:
358c2ecf20Sopenharmony_ci      - description: Module Stop Control Register (MSTPCR)
368c2ecf20Sopenharmony_ci      - description: Module Stop Status Register (MSTPSR)
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  clocks:
398c2ecf20Sopenharmony_ci    minItems: 1
408c2ecf20Sopenharmony_ci    maxItems: 32
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  '#clock-cells':
438c2ecf20Sopenharmony_ci    const: 1
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  clock-indices:
468c2ecf20Sopenharmony_ci    minItems: 1
478c2ecf20Sopenharmony_ci    maxItems: 32
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  clock-output-names:
508c2ecf20Sopenharmony_ci    minItems: 1
518c2ecf20Sopenharmony_ci    maxItems: 32
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_cirequired:
548c2ecf20Sopenharmony_ci  - compatible
558c2ecf20Sopenharmony_ci  - reg
568c2ecf20Sopenharmony_ci  - clocks
578c2ecf20Sopenharmony_ci  - '#clock-cells'
588c2ecf20Sopenharmony_ci  - clock-indices
598c2ecf20Sopenharmony_ci  - clock-output-names
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciadditionalProperties: false
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciexamples:
648c2ecf20Sopenharmony_ci  - |
658c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/r8a73a4-clock.h>
668c2ecf20Sopenharmony_ci    mstp2_clks: mstp2_clks@e6150138 {
678c2ecf20Sopenharmony_ci            compatible = "renesas,r8a73a4-mstp-clocks",
688c2ecf20Sopenharmony_ci                         "renesas,cpg-mstp-clocks";
698c2ecf20Sopenharmony_ci            reg = <0xe6150138 4>, <0xe6150040 4>;
708c2ecf20Sopenharmony_ci            clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
718c2ecf20Sopenharmony_ci                     <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
728c2ecf20Sopenharmony_ci            #clock-cells = <1>;
738c2ecf20Sopenharmony_ci            clock-indices = <
748c2ecf20Sopenharmony_ci                    R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
758c2ecf20Sopenharmony_ci                    R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
768c2ecf20Sopenharmony_ci                    R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
778c2ecf20Sopenharmony_ci                    R8A73A4_CLK_DMAC
788c2ecf20Sopenharmony_ci            >;
798c2ecf20Sopenharmony_ci            clock-output-names =
808c2ecf20Sopenharmony_ci                    "scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifb3",
818c2ecf20Sopenharmony_ci                    "dmac";
828c2ecf20Sopenharmony_ci    };
83