xref: /linux/Documentation/devicetree/bindings/clock/renesas,rzv2h-cpg.yaml (revision 9f32a03e3e0d372c520d829dd4da6022fe88832a)
1afec1abaSLad Prabhakar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2afec1abaSLad Prabhakar%YAML 1.2
3afec1abaSLad Prabhakar---
4afec1abaSLad Prabhakar$id: http://devicetree.org/schemas/clock/renesas,rzv2h-cpg.yaml#
5afec1abaSLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml#
6afec1abaSLad Prabhakar
7*c04269c0SLad Prabhakartitle: Renesas RZ/{G3E,V2H(P),V2N} Clock Pulse Generator (CPG)
8afec1abaSLad Prabhakar
9afec1abaSLad Prabhakarmaintainers:
10afec1abaSLad Prabhakar  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11afec1abaSLad Prabhakar
12afec1abaSLad Prabhakardescription:
13*c04269c0SLad Prabhakar  On Renesas RZ/{G3E,V2H(P),V2N} SoCs, the CPG (Clock Pulse Generator) handles
1425458fddSBiju Das  generation and control of clock signals for the IP modules, generation and
1525458fddSBiju Das  control of resets, and control over booting, low power consumption and power
1625458fddSBiju Das  supply domains.
17afec1abaSLad Prabhakar
18afec1abaSLad Prabhakarproperties:
19afec1abaSLad Prabhakar  compatible:
2025458fddSBiju Das    enum:
2125458fddSBiju Das      - renesas,r9a09g047-cpg # RZ/G3E
22*c04269c0SLad Prabhakar      - renesas,r9a09g056-cpg # RZ/V2N
2325458fddSBiju Das      - renesas,r9a09g057-cpg # RZ/V2H
24afec1abaSLad Prabhakar
25afec1abaSLad Prabhakar  reg:
26afec1abaSLad Prabhakar    maxItems: 1
27afec1abaSLad Prabhakar
28afec1abaSLad Prabhakar  clocks:
29afec1abaSLad Prabhakar    items:
30afec1abaSLad Prabhakar      - description: AUDIO_EXTAL clock input
31afec1abaSLad Prabhakar      - description: RTXIN clock input
32afec1abaSLad Prabhakar      - description: QEXTAL clock input
33afec1abaSLad Prabhakar
34afec1abaSLad Prabhakar  clock-names:
35afec1abaSLad Prabhakar    items:
36afec1abaSLad Prabhakar      - const: audio_extal
37afec1abaSLad Prabhakar      - const: rtxin
38afec1abaSLad Prabhakar      - const: qextal
39afec1abaSLad Prabhakar
40afec1abaSLad Prabhakar  '#clock-cells':
41afec1abaSLad Prabhakar    description: |
42afec1abaSLad Prabhakar      - For CPG core clocks, the two clock specifier cells must be "CPG_CORE"
43afec1abaSLad Prabhakar        and a core clock reference, as defined in
4425458fddSBiju Das        <dt-bindings/clock/renesas,r9a09g0*-cpg.h>,
45afec1abaSLad Prabhakar      - For module clocks, the two clock specifier cells must be "CPG_MOD" and
46afec1abaSLad Prabhakar        a module number.  The module number is calculated as the CLKON register
47afec1abaSLad Prabhakar        offset index multiplied by 16, plus the actual bit in the register
48afec1abaSLad Prabhakar        used to turn the CLK ON. For example, for CGC_GIC_0_GICCLK, the
49afec1abaSLad Prabhakar        calculation is (1 * 16 + 3) = 0x13.
50afec1abaSLad Prabhakar    const: 2
51afec1abaSLad Prabhakar
52afec1abaSLad Prabhakar  '#power-domain-cells':
53afec1abaSLad Prabhakar    const: 0
54afec1abaSLad Prabhakar
55afec1abaSLad Prabhakar  '#reset-cells':
56afec1abaSLad Prabhakar    description:
57afec1abaSLad Prabhakar      The single reset specifier cell must be the reset number. The reset number
58afec1abaSLad Prabhakar      is calculated as the reset register offset index multiplied by 16, plus the
59afec1abaSLad Prabhakar      actual bit in the register used to reset the specific IP block. For example,
60afec1abaSLad Prabhakar      for SYS_0_PRESETN, the calculation is (3 * 16 + 0) = 0x30.
61afec1abaSLad Prabhakar    const: 1
62afec1abaSLad Prabhakar
63afec1abaSLad Prabhakarrequired:
64afec1abaSLad Prabhakar  - compatible
65afec1abaSLad Prabhakar  - reg
66afec1abaSLad Prabhakar  - clocks
67afec1abaSLad Prabhakar  - clock-names
68afec1abaSLad Prabhakar  - '#clock-cells'
69afec1abaSLad Prabhakar  - '#power-domain-cells'
70afec1abaSLad Prabhakar  - '#reset-cells'
71afec1abaSLad Prabhakar
72afec1abaSLad PrabhakaradditionalProperties: false
73afec1abaSLad Prabhakar
74afec1abaSLad Prabhakarexamples:
75afec1abaSLad Prabhakar  - |
76afec1abaSLad Prabhakar    clock-controller@10420000 {
77afec1abaSLad Prabhakar        compatible = "renesas,r9a09g057-cpg";
78afec1abaSLad Prabhakar        reg = <0x10420000 0x10000>;
79afec1abaSLad Prabhakar        clocks = <&audio_extal_clk>, <&rtxin_clk>, <&qextal_clk>;
80afec1abaSLad Prabhakar        clock-names = "audio_extal", "rtxin", "qextal";
81afec1abaSLad Prabhakar        #clock-cells = <2>;
82afec1abaSLad Prabhakar        #power-domain-cells = <0>;
83afec1abaSLad Prabhakar        #reset-cells = <1>;
84afec1abaSLad Prabhakar    };
85