1d0941cfbSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d0941cfbSGeert Uytterhoeven%YAML 1.2
3d0941cfbSGeert Uytterhoeven---
4d0941cfbSGeert Uytterhoeven$id: http://devicetree.org/schemas/watchdog/renesas,wdt.yaml#
5d0941cfbSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6d0941cfbSGeert Uytterhoeven
7d0941cfbSGeert Uytterhoeventitle: Renesas Watchdog Timer (WDT) Controller
8d0941cfbSGeert Uytterhoeven
9d0941cfbSGeert Uytterhoevenmaintainers:
10d0941cfbSGeert Uytterhoeven  - Wolfram Sang <wsa+renesas@sang-engineering.com>
11d0941cfbSGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
12d0941cfbSGeert Uytterhoeven
13d0941cfbSGeert Uytterhoevenproperties:
14d0941cfbSGeert Uytterhoeven  compatible:
15d0941cfbSGeert Uytterhoeven    oneOf:
16d0941cfbSGeert Uytterhoeven      - items:
17d0941cfbSGeert Uytterhoeven          - enum:
18d0941cfbSGeert Uytterhoeven              - renesas,r7s72100-wdt     # RZ/A1
19d0941cfbSGeert Uytterhoeven              - renesas,r7s9210-wdt      # RZ/A2
20d0941cfbSGeert Uytterhoeven          - const: renesas,rza-wdt       # RZ/A
21d0941cfbSGeert Uytterhoeven
22d0941cfbSGeert Uytterhoeven      - items:
23d0941cfbSGeert Uytterhoeven          - enum:
24ab02a00cSBiju Das              - renesas,r9a07g044-wdt    # RZ/G2{L,LC}
25*83999b61SLad Prabhakar              - renesas,r9a07g054-wdt    # RZ/V2L
26*83999b61SLad Prabhakar          - const: renesas,rzg2l-wdt
27ab02a00cSBiju Das
28ab02a00cSBiju Das      - items:
29ab02a00cSBiju Das          - enum:
3006c3b7a6SLad Prabhakar              - renesas,r8a7742-wdt      # RZ/G1H
31d0941cfbSGeert Uytterhoeven              - renesas,r8a7743-wdt      # RZ/G1M
32d0941cfbSGeert Uytterhoeven              - renesas,r8a7744-wdt      # RZ/G1N
33d0941cfbSGeert Uytterhoeven              - renesas,r8a7745-wdt      # RZ/G1E
34d0941cfbSGeert Uytterhoeven              - renesas,r8a77470-wdt     # RZ/G1C
35d0941cfbSGeert Uytterhoeven              - renesas,r8a7790-wdt      # R-Car H2
36d0941cfbSGeert Uytterhoeven              - renesas,r8a7791-wdt      # R-Car M2-W
37d0941cfbSGeert Uytterhoeven              - renesas,r8a7792-wdt      # R-Car V2H
38d0941cfbSGeert Uytterhoeven              - renesas,r8a7793-wdt      # R-Car M2-N
39d0941cfbSGeert Uytterhoeven              - renesas,r8a7794-wdt      # R-Car E2
40d0941cfbSGeert Uytterhoeven          - const: renesas,rcar-gen2-wdt # R-Car Gen2 and RZ/G1
41d0941cfbSGeert Uytterhoeven
42d0941cfbSGeert Uytterhoeven      - items:
43d0941cfbSGeert Uytterhoeven          - enum:
44d0941cfbSGeert Uytterhoeven              - renesas,r8a774a1-wdt     # RZ/G2M
45d0941cfbSGeert Uytterhoeven              - renesas,r8a774b1-wdt     # RZ/G2N
46d0941cfbSGeert Uytterhoeven              - renesas,r8a774c0-wdt     # RZ/G2E
47d821ab28SLad Prabhakar              - renesas,r8a774e1-wdt     # RZ/G2H
48d0941cfbSGeert Uytterhoeven              - renesas,r8a7795-wdt      # R-Car H3
49d0941cfbSGeert Uytterhoeven              - renesas,r8a7796-wdt      # R-Car M3-W
50d0941cfbSGeert Uytterhoeven              - renesas,r8a77961-wdt     # R-Car M3-W+
51d0941cfbSGeert Uytterhoeven              - renesas,r8a77965-wdt     # R-Car M3-N
52d0941cfbSGeert Uytterhoeven              - renesas,r8a77970-wdt     # R-Car V3M
53d0941cfbSGeert Uytterhoeven              - renesas,r8a77980-wdt     # R-Car V3H
54d0941cfbSGeert Uytterhoeven              - renesas,r8a77990-wdt     # R-Car E3
55d0941cfbSGeert Uytterhoeven              - renesas,r8a77995-wdt     # R-Car D3
561ee5981dSWolfram Sang              - renesas,r8a779a0-wdt     # R-Car V3U
57d0941cfbSGeert Uytterhoeven          - const: renesas,rcar-gen3-wdt # R-Car Gen3 and RZ/G2
58d0941cfbSGeert Uytterhoeven
597198d62cSThanh Quan      - items:
607198d62cSThanh Quan          - enum:
617198d62cSThanh Quan              - renesas,r8a779f0-wdt     # R-Car S4-8
627198d62cSThanh Quan          - const: renesas,rcar-gen4-wdt # R-Car Gen4
637198d62cSThanh Quan
64d0941cfbSGeert Uytterhoeven  reg:
65d0941cfbSGeert Uytterhoeven    maxItems: 1
66d0941cfbSGeert Uytterhoeven
67ab02a00cSBiju Das  interrupts: true
68d0941cfbSGeert Uytterhoeven
69ab02a00cSBiju Das  interrupt-names: true
70ab02a00cSBiju Das
71ab02a00cSBiju Das  clocks: true
72ab02a00cSBiju Das
73ab02a00cSBiju Das  clock-names: true
74d0941cfbSGeert Uytterhoeven
75d0941cfbSGeert Uytterhoeven  power-domains:
76d0941cfbSGeert Uytterhoeven    maxItems: 1
77d0941cfbSGeert Uytterhoeven
78d0941cfbSGeert Uytterhoeven  resets:
79d0941cfbSGeert Uytterhoeven    maxItems: 1
80d0941cfbSGeert Uytterhoeven
81d0941cfbSGeert Uytterhoeven  timeout-sec: true
82d0941cfbSGeert Uytterhoeven
83d0941cfbSGeert Uytterhoevenrequired:
84d0941cfbSGeert Uytterhoeven  - compatible
85d0941cfbSGeert Uytterhoeven  - reg
86d0941cfbSGeert Uytterhoeven  - clocks
87d0941cfbSGeert Uytterhoeven
88ab02a00cSBiju DasallOf:
89ab02a00cSBiju Das  - $ref: "watchdog.yaml#"
90ab02a00cSBiju Das
91ab02a00cSBiju Das  - if:
92d0941cfbSGeert Uytterhoeven      not:
93d0941cfbSGeert Uytterhoeven        properties:
94d0941cfbSGeert Uytterhoeven          compatible:
95d0941cfbSGeert Uytterhoeven            contains:
96d0941cfbSGeert Uytterhoeven              enum:
97d0941cfbSGeert Uytterhoeven                - renesas,rza-wdt
98d0941cfbSGeert Uytterhoeven    then:
99d0941cfbSGeert Uytterhoeven      required:
100d0941cfbSGeert Uytterhoeven        - power-domains
101d0941cfbSGeert Uytterhoeven        - resets
102d0941cfbSGeert Uytterhoeven
103ab02a00cSBiju Das  - if:
104ab02a00cSBiju Das      properties:
105ab02a00cSBiju Das        compatible:
106ab02a00cSBiju Das          contains:
107ab02a00cSBiju Das            enum:
108ab02a00cSBiju Das              - renesas,rzg2l-wdt
109ab02a00cSBiju Das    then:
110ab02a00cSBiju Das      properties:
111ab02a00cSBiju Das        interrupts:
112ab02a00cSBiju Das          maxItems: 2
113ab02a00cSBiju Das        interrupt-names:
114ab02a00cSBiju Das          items:
115ab02a00cSBiju Das            - const: wdt
116ab02a00cSBiju Das            - const: perrout
117ab02a00cSBiju Das        clocks:
118ab02a00cSBiju Das          items:
119ab02a00cSBiju Das            - description: Register access clock
120ab02a00cSBiju Das            - description: Main clock
121ab02a00cSBiju Das        clock-names:
122ab02a00cSBiju Das          items:
123ab02a00cSBiju Das            - const: pclk
124ab02a00cSBiju Das            - const: oscclk
125ab02a00cSBiju Das      required:
126ab02a00cSBiju Das        - clock-names
127ab02a00cSBiju Das        - interrupt-names
128ab02a00cSBiju Das    else:
129ab02a00cSBiju Das      properties:
130ab02a00cSBiju Das        interrupts:
131ab02a00cSBiju Das          maxItems: 1
132ab02a00cSBiju Das        clocks:
133ab02a00cSBiju Das          maxItems: 1
134ab02a00cSBiju Das
135d0941cfbSGeert UytterhoevenadditionalProperties: false
136d0941cfbSGeert Uytterhoeven
137d0941cfbSGeert Uytterhoevenexamples:
138d0941cfbSGeert Uytterhoeven  - |
139d0941cfbSGeert Uytterhoeven    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
140d0941cfbSGeert Uytterhoeven    #include <dt-bindings/power/r8a7795-sysc.h>
141d0941cfbSGeert Uytterhoeven    wdt0: watchdog@e6020000 {
142d0941cfbSGeert Uytterhoeven            compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
143d0941cfbSGeert Uytterhoeven            reg = <0xe6020000 0x0c>;
144d0941cfbSGeert Uytterhoeven            clocks = <&cpg CPG_MOD 402>;
145d0941cfbSGeert Uytterhoeven            power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
146d0941cfbSGeert Uytterhoeven            resets = <&cpg 402>;
147d0941cfbSGeert Uytterhoeven            timeout-sec = <60>;
148d0941cfbSGeert Uytterhoeven    };
149