xref: /freebsd/sys/contrib/device-tree/Bindings/clock/renesas,cpg-div6-clock.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/renesas,cpg-div6-clock.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas CPG DIV6 Clock
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription:
13c66ec88fSEmmanuel Vadot  The CPG DIV6 clocks are variable factor clocks provided by the Clock Pulse
14c66ec88fSEmmanuel Vadot  Generator (CPG). Their clock input is divided by a configurable factor from 1
15c66ec88fSEmmanuel Vadot  to 64.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    items:
20c66ec88fSEmmanuel Vadot      - enum:
21c66ec88fSEmmanuel Vadot          - renesas,r8a73a4-div6-clock # R-Mobile APE6
22c66ec88fSEmmanuel Vadot          - renesas,r8a7740-div6-clock # R-Mobile A1
23c66ec88fSEmmanuel Vadot          - renesas,sh73a0-div6-clock  # SH-Mobile AG5
24c66ec88fSEmmanuel Vadot      - const: renesas,cpg-div6-clock
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  reg:
27c66ec88fSEmmanuel Vadot    maxItems: 1
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  clocks:
30c66ec88fSEmmanuel Vadot    oneOf:
31c66ec88fSEmmanuel Vadot      - maxItems: 1
32c66ec88fSEmmanuel Vadot      - maxItems: 4
33c66ec88fSEmmanuel Vadot      - maxItems: 8
34c66ec88fSEmmanuel Vadot    description:
35c66ec88fSEmmanuel Vadot      For clocks with multiple parents, invalid settings must be specified as
36c66ec88fSEmmanuel Vadot      "<0>".
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  '#clock-cells':
39c66ec88fSEmmanuel Vadot    const: 0
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-output-names: true
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadotrequired:
44c66ec88fSEmmanuel Vadot  - compatible
45c66ec88fSEmmanuel Vadot  - reg
46c66ec88fSEmmanuel Vadot  - clocks
47c66ec88fSEmmanuel Vadot  - '#clock-cells'
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel VadotadditionalProperties: false
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadotexamples:
52c66ec88fSEmmanuel Vadot  - |
53c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a73a4-clock.h>
54*c9ccf3a3SEmmanuel Vadot
55*c9ccf3a3SEmmanuel Vadot    cpg_clocks: cpg_clocks@e6150000 {
56*c9ccf3a3SEmmanuel Vadot            compatible = "renesas,r8a73a4-cpg-clocks";
57*c9ccf3a3SEmmanuel Vadot            reg = <0xe6150000 0x10000>;
58*c9ccf3a3SEmmanuel Vadot            clocks = <&extal1_clk>, <&extal2_clk>;
59*c9ccf3a3SEmmanuel Vadot            #clock-cells = <1>;
60*c9ccf3a3SEmmanuel Vadot            clock-output-names = "main", "pll0", "pll1", "pll2",
61*c9ccf3a3SEmmanuel Vadot                                  "pll2s", "pll2h", "z", "z2",
62*c9ccf3a3SEmmanuel Vadot                                  "i", "m3", "b", "m1", "m2",
63*c9ccf3a3SEmmanuel Vadot                                  "zx", "zs", "hp";
64*c9ccf3a3SEmmanuel Vadot    };
65*c9ccf3a3SEmmanuel Vadot
66c66ec88fSEmmanuel Vadot    sdhi2_clk: sdhi2_clk@e615007c {
67c66ec88fSEmmanuel Vadot            compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
68c66ec88fSEmmanuel Vadot            reg = <0xe615007c 4>;
69c66ec88fSEmmanuel Vadot            clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>,
70c66ec88fSEmmanuel Vadot                     <&extal2_clk>;
71c66ec88fSEmmanuel Vadot            #clock-cells = <0>;
72c66ec88fSEmmanuel Vadot    };
73