Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 1 | * Renesas CPG Module Stop (MSTP) Clocks |
| 2 | |
| 3 | The CPG can gate SoC device clocks. The gates are organized in groups of up to |
| 4 | 32 gates. |
| 5 | |
| 6 | This device tree binding describes a single 32 gate clocks group per node. |
| 7 | Clocks are referenced by user nodes by the MSTP node phandle and the clock |
| 8 | index in the group, from 0 to 31. |
| 9 | |
| 10 | Required Properties: |
| 11 | |
| 12 | - compatible: Must be one of the following |
Wolfram Sang | b557dea | 2014-05-14 03:10:05 +0200 | [diff] [blame] | 13 | - "renesas,r7s72100-mstp-clocks" for R7S72100 (RZ) MSTP gate clocks |
Ulrich Hecht | a286816 | 2014-12-17 17:18:50 +0100 | [diff] [blame] | 14 | - "renesas,r8a73a4-mstp-clocks" for R8A73A4 (R-Mobile APE6) MSTP gate clocks |
Ulrich Hecht | b32c44b | 2014-09-02 11:13:04 +0200 | [diff] [blame] | 15 | - "renesas,r8a7740-mstp-clocks" for R8A7740 (R-Mobile A1) MSTP gate clocks |
Ulrich Hecht | 31a0b53 | 2015-02-26 17:42:06 +0100 | [diff] [blame] | 16 | - "renesas,r8a7778-mstp-clocks" for R8A7778 (R-Car M1) MSTP gate clocks |
Simon Horman | 5483bf6 | 2014-04-18 08:05:51 +0900 | [diff] [blame] | 17 | - "renesas,r8a7779-mstp-clocks" for R8A7779 (R-Car H1) MSTP gate clocks |
Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 18 | - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks |
Ulrich Hecht | b5405db | 2015-05-28 17:17:00 +0200 | [diff] [blame] | 19 | - "renesas,r8a7791-mstp-clocks" for R8A7791 (R-Car M2-W) MSTP gate clocks |
Sergei Shtylyov | ef71b1e | 2016-06-03 23:59:07 +0300 | [diff] [blame] | 20 | - "renesas,r8a7792-mstp-clocks" for R8A7792 (R-Car V2H) MSTP gate clocks |
Ulrich Hecht | b5405db | 2015-05-28 17:17:00 +0200 | [diff] [blame] | 21 | - "renesas,r8a7793-mstp-clocks" for R8A7793 (R-Car M2-N) MSTP gate clocks |
Ulrich Hecht | 5acb7bb | 2014-08-29 20:15:08 +0200 | [diff] [blame] | 22 | - "renesas,r8a7794-mstp-clocks" for R8A7794 (R-Car E2) MSTP gate clocks |
Ulrich Hecht | b32c44b | 2014-09-02 11:13:04 +0200 | [diff] [blame] | 23 | - "renesas,sh73a0-mstp-clocks" for SH73A0 (SH-MobileAG5) MSTP gate clocks |
Geert Uytterhoeven | 17df1fb | 2015-05-28 11:28:10 +0200 | [diff] [blame] | 24 | and "renesas,cpg-mstp-clocks" as a fallback. |
Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 25 | - 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 Uytterhoeven | 29a77b8 | 2014-11-10 19:49:34 +0100 | [diff] [blame] | 33 | - clock-indices: Indices of the gate clocks into the group (0 to 31) |
Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 34 | |
Geert Uytterhoeven | 29a77b8 | 2014-11-10 19:49:34 +0100 | [diff] [blame] | 35 | The clocks, clock-output-names and clock-indices properties contain one entry |
| 36 | per gate clock. The MSTP groups are sparsely populated. Unimplemented gate |
| 37 | clocks must not be declared. |
Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 38 | |
| 39 | |
| 40 | Example |
| 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 Dooks | 8e33f91 | 2014-04-15 17:06:34 +0100 | [diff] [blame] | 55 | clock-indices = < |
Laurent Pinchart | f94859c | 2013-10-17 23:54:07 +0200 | [diff] [blame] | 56 | 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 | }; |