1*9b9df63bSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*9b9df63bSGeert Uytterhoeven%YAML 1.2 3*9b9df63bSGeert Uytterhoeven--- 4*9b9df63bSGeert Uytterhoeven$id: http://devicetree.org/schemas/clock/renesas,cpg-mstp-clocks.yaml# 5*9b9df63bSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml# 6*9b9df63bSGeert Uytterhoeven 7*9b9df63bSGeert Uytterhoeventitle: Renesas Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks 8*9b9df63bSGeert Uytterhoeven 9*9b9df63bSGeert Uytterhoevenmaintainers: 10*9b9df63bSGeert Uytterhoeven - Geert Uytterhoeven <geert+renesas@glider.be> 11*9b9df63bSGeert Uytterhoeven 12*9b9df63bSGeert Uytterhoevendescription: 13*9b9df63bSGeert Uytterhoeven The Clock Pulse Generator (CPG) can gate SoC device clocks. The gates are 14*9b9df63bSGeert Uytterhoeven organized in groups of up to 32 gates. 15*9b9df63bSGeert Uytterhoeven 16*9b9df63bSGeert Uytterhoeven This device tree binding describes a single 32 gate clocks group per node. 17*9b9df63bSGeert Uytterhoeven Clocks are referenced by user nodes by the Module Stop (MSTP) node phandle 18*9b9df63bSGeert Uytterhoeven and the clock index in the group, from 0 to 31. 19*9b9df63bSGeert Uytterhoeven 20*9b9df63bSGeert Uytterhoevenproperties: 21*9b9df63bSGeert Uytterhoeven compatible: 22*9b9df63bSGeert Uytterhoeven items: 23*9b9df63bSGeert Uytterhoeven - enum: 24*9b9df63bSGeert Uytterhoeven - renesas,r7s72100-mstp-clocks # RZ/A1 25*9b9df63bSGeert Uytterhoeven - renesas,r8a73a4-mstp-clocks # R-Mobile APE6 26*9b9df63bSGeert Uytterhoeven - renesas,r8a7740-mstp-clocks # R-Mobile A1 27*9b9df63bSGeert Uytterhoeven - renesas,r8a7778-mstp-clocks # R-Car M1 28*9b9df63bSGeert Uytterhoeven - renesas,r8a7779-mstp-clocks # R-Car H1 29*9b9df63bSGeert Uytterhoeven - renesas,sh73a0-mstp-clocks # SH-Mobile AG5 30*9b9df63bSGeert Uytterhoeven - const: renesas,cpg-mstp-clocks 31*9b9df63bSGeert Uytterhoeven 32*9b9df63bSGeert Uytterhoeven reg: 33*9b9df63bSGeert Uytterhoeven minItems: 1 34*9b9df63bSGeert Uytterhoeven items: 35*9b9df63bSGeert Uytterhoeven - description: Module Stop Control Register (MSTPCR) 36*9b9df63bSGeert Uytterhoeven - description: Module Stop Status Register (MSTPSR) 37*9b9df63bSGeert Uytterhoeven 38*9b9df63bSGeert Uytterhoeven clocks: 39*9b9df63bSGeert Uytterhoeven minItems: 1 40*9b9df63bSGeert Uytterhoeven maxItems: 32 41*9b9df63bSGeert Uytterhoeven 42*9b9df63bSGeert Uytterhoeven '#clock-cells': 43*9b9df63bSGeert Uytterhoeven const: 1 44*9b9df63bSGeert Uytterhoeven 45*9b9df63bSGeert Uytterhoeven clock-indices: 46*9b9df63bSGeert Uytterhoeven minItems: 1 47*9b9df63bSGeert Uytterhoeven maxItems: 32 48*9b9df63bSGeert Uytterhoeven 49*9b9df63bSGeert Uytterhoeven clock-output-names: 50*9b9df63bSGeert Uytterhoeven minItems: 1 51*9b9df63bSGeert Uytterhoeven maxItems: 32 52*9b9df63bSGeert Uytterhoeven 53*9b9df63bSGeert Uytterhoevenrequired: 54*9b9df63bSGeert Uytterhoeven - compatible 55*9b9df63bSGeert Uytterhoeven - reg 56*9b9df63bSGeert Uytterhoeven - clocks 57*9b9df63bSGeert Uytterhoeven - '#clock-cells' 58*9b9df63bSGeert Uytterhoeven - clock-indices 59*9b9df63bSGeert Uytterhoeven - clock-output-names 60*9b9df63bSGeert Uytterhoeven 61*9b9df63bSGeert UytterhoevenadditionalProperties: false 62*9b9df63bSGeert Uytterhoeven 63*9b9df63bSGeert Uytterhoevenexamples: 64*9b9df63bSGeert Uytterhoeven - | 65*9b9df63bSGeert Uytterhoeven #include <dt-bindings/clock/r8a73a4-clock.h> 66*9b9df63bSGeert Uytterhoeven mstp2_clks: mstp2_clks@e6150138 { 67*9b9df63bSGeert Uytterhoeven compatible = "renesas,r8a73a4-mstp-clocks", 68*9b9df63bSGeert Uytterhoeven "renesas,cpg-mstp-clocks"; 69*9b9df63bSGeert Uytterhoeven reg = <0xe6150138 4>, <0xe6150040 4>; 70*9b9df63bSGeert Uytterhoeven clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, 71*9b9df63bSGeert Uytterhoeven <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>; 72*9b9df63bSGeert Uytterhoeven #clock-cells = <1>; 73*9b9df63bSGeert Uytterhoeven clock-indices = < 74*9b9df63bSGeert Uytterhoeven R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1 75*9b9df63bSGeert Uytterhoeven R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1 76*9b9df63bSGeert Uytterhoeven R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3 77*9b9df63bSGeert Uytterhoeven R8A73A4_CLK_DMAC 78*9b9df63bSGeert Uytterhoeven >; 79*9b9df63bSGeert Uytterhoeven clock-output-names = 80*9b9df63bSGeert Uytterhoeven "scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifb3", 81*9b9df63bSGeert Uytterhoeven "dmac"; 82*9b9df63bSGeert Uytterhoeven }; 83