blob: da578ebdda2889fc1dad50c671bc274af7d38169 [file] [log] [blame]
Laurent Pinchartf94859c2013-10-17 23:54:07 +02001* Renesas CPG Module Stop (MSTP) Clocks
2
3The CPG can gate SoC device clocks. The gates are organized in groups of up to
432 gates.
5
6This device tree binding describes a single 32 gate clocks group per node.
7Clocks are referenced by user nodes by the MSTP node phandle and the clock
8index in the group, from 0 to 31.
9
10Required Properties:
11
12 - compatible: Must be one of the following
Wolfram Sangb557dea2014-05-14 03:10:05 +020013 - "renesas,r7s72100-mstp-clocks" for R7S72100 (RZ) MSTP gate clocks
Ulrich Hechta2868162014-12-17 17:18:50 +010014 - "renesas,r8a73a4-mstp-clocks" for R8A73A4 (R-Mobile APE6) MSTP gate clocks
Ulrich Hechtb32c44b2014-09-02 11:13:04 +020015 - "renesas,r8a7740-mstp-clocks" for R8A7740 (R-Mobile A1) MSTP gate clocks
Ulrich Hecht31a0b532015-02-26 17:42:06 +010016 - "renesas,r8a7778-mstp-clocks" for R8A7778 (R-Car M1) MSTP gate clocks
Simon Horman5483bf62014-04-18 08:05:51 +090017 - "renesas,r8a7779-mstp-clocks" for R8A7779 (R-Car H1) MSTP gate clocks
Laurent Pinchartf94859c2013-10-17 23:54:07 +020018 - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks
Ulrich Hechtb5405db2015-05-28 17:17:00 +020019 - "renesas,r8a7791-mstp-clocks" for R8A7791 (R-Car M2-W) MSTP gate clocks
Sergei Shtylyovef71b1e2016-06-03 23:59:07 +030020 - "renesas,r8a7792-mstp-clocks" for R8A7792 (R-Car V2H) MSTP gate clocks
Ulrich Hechtb5405db2015-05-28 17:17:00 +020021 - "renesas,r8a7793-mstp-clocks" for R8A7793 (R-Car M2-N) MSTP gate clocks
Ulrich Hecht5acb7bb2014-08-29 20:15:08 +020022 - "renesas,r8a7794-mstp-clocks" for R8A7794 (R-Car E2) MSTP gate clocks
Ulrich Hechtb32c44b2014-09-02 11:13:04 +020023 - "renesas,sh73a0-mstp-clocks" for SH73A0 (SH-MobileAG5) MSTP gate clocks
Geert Uytterhoeven17df1fb2015-05-28 11:28:10 +020024 and "renesas,cpg-mstp-clocks" as a fallback.
Laurent Pinchartf94859c2013-10-17 23:54:07 +020025 - reg: Base address and length of the I/O mapped registers used by the MSTP
26 clocks. The first register is the clock control register and is mandatory.
27 The second register is the clock status register and is optional when not
28 implemented in hardware.
29 - clocks: Reference to the parent clocks, one per output clock. The parents
30 must appear in the same order as the output clocks.
31 - #clock-cells: Must be 1
32 - clock-output-names: The name of the clocks as free-form strings
Geert Uytterhoeven29a77b82014-11-10 19:49:34 +010033 - clock-indices: Indices of the gate clocks into the group (0 to 31)
Laurent Pinchartf94859c2013-10-17 23:54:07 +020034
Geert Uytterhoeven29a77b82014-11-10 19:49:34 +010035The clocks, clock-output-names and clock-indices properties contain one entry
36per gate clock. The MSTP groups are sparsely populated. Unimplemented gate
37clocks must not be declared.
Laurent Pinchartf94859c2013-10-17 23:54:07 +020038
39
40Example
41-------
42
43 #include <dt-bindings/clock/r8a7790-clock.h>
44
45 mstp3_clks: mstp3_clks@e615013c {
46 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
47 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
48 clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>,
49 <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>,
50 <&mmc0_clk>;
51 #clock-cells = <1>;
52 clock-output-names =
53 "tpu0", "mmcif1", "sdhi3", "sdhi2",
54 "sdhi1", "sdhi0", "mmcif0";
Ben Dooks8e33f912014-04-15 17:06:34 +010055 clock-indices = <
Laurent Pinchartf94859c2013-10-17 23:54:07 +020056 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
57 R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
58 R8A7790_CLK_MMCIF0
59 >;
60 };