blob: ffb17add491af98b703ac67a2c45830bec9e962b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/watchdog/renesas,wdt.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas Watchdog Timer (WDT) Controller
8
9maintainers:
10 - Wolfram Sang <wsa+renesas@sang-engineering.com>
11 - Geert Uytterhoeven <geert+renesas@glider.be>
12
13properties:
14 compatible:
15 oneOf:
16 - items:
17 - enum:
18 - renesas,r7s72100-wdt # RZ/A1
19 - renesas,r7s9210-wdt # RZ/A2
20 - const: renesas,rza-wdt # RZ/A
21
22 - items:
23 - enum:
24 - renesas,r9a06g032-wdt # RZ/N1D
25 - const: renesas,rzn1-wdt # RZ/N1
26
27 - items:
28 - enum:
29 - renesas,r9a07g043-wdt # RZ/G2UL and RZ/Five
30 - renesas,r9a07g044-wdt # RZ/G2{L,LC}
31 - renesas,r9a07g054-wdt # RZ/V2L
32 - const: renesas,rzg2l-wdt
33
34 - items:
35 - enum:
36 - renesas,r9a09g011-wdt # RZ/V2M
37 - const: renesas,rzv2m-wdt # RZ/V2M
38
39 - items:
40 - enum:
41 - renesas,r8a7742-wdt # RZ/G1H
42 - renesas,r8a7743-wdt # RZ/G1M
43 - renesas,r8a7744-wdt # RZ/G1N
44 - renesas,r8a7745-wdt # RZ/G1E
45 - renesas,r8a77470-wdt # RZ/G1C
46 - renesas,r8a7790-wdt # R-Car H2
47 - renesas,r8a7791-wdt # R-Car M2-W
48 - renesas,r8a7792-wdt # R-Car V2H
49 - renesas,r8a7793-wdt # R-Car M2-N
50 - renesas,r8a7794-wdt # R-Car E2
51 - const: renesas,rcar-gen2-wdt # R-Car Gen2 and RZ/G1
52
53 - items:
54 - enum:
55 - renesas,r8a774a1-wdt # RZ/G2M
56 - renesas,r8a774b1-wdt # RZ/G2N
57 - renesas,r8a774c0-wdt # RZ/G2E
58 - renesas,r8a774e1-wdt # RZ/G2H
59 - renesas,r8a7795-wdt # R-Car H3
60 - renesas,r8a7796-wdt # R-Car M3-W
61 - renesas,r8a77961-wdt # R-Car M3-W+
62 - renesas,r8a77965-wdt # R-Car M3-N
63 - renesas,r8a77970-wdt # R-Car V3M
64 - renesas,r8a77980-wdt # R-Car V3H
65 - renesas,r8a77990-wdt # R-Car E3
66 - renesas,r8a77995-wdt # R-Car D3
67 - const: renesas,rcar-gen3-wdt # R-Car Gen3 and RZ/G2
68
69 - items:
70 - enum:
71 - renesas,r8a779a0-wdt # R-Car V3U
72 - renesas,r8a779f0-wdt # R-Car S4-8
73 - renesas,r8a779g0-wdt # R-Car V4H
Tom Rini6bb92fc2024-05-20 09:54:58 -060074 - renesas,r8a779h0-wdt # R-Car V4M
Tom Rini53633a82024-02-29 12:33:36 -050075 - const: renesas,rcar-gen4-wdt # R-Car Gen4
76
77 reg:
78 maxItems: 1
79
80 interrupts:
81 minItems: 1
82 items:
83 - description: Timeout
84 - description: Parity error
85
86 interrupt-names:
87 minItems: 1
88 items:
89 - const: wdt
90 - const: perrout
91
92 clocks:
93 minItems: 1
94 items:
95 - description: Register access clock
96 - description: Main clock
97
98 clock-names:
99 minItems: 1
100 items:
101 - const: pclk
102 - const: oscclk
103
104 power-domains:
105 maxItems: 1
106
107 resets:
108 maxItems: 1
109
110 timeout-sec: true
111
112required:
113 - compatible
114 - reg
115 - interrupts
116 - clocks
117
118allOf:
119 - $ref: watchdog.yaml#
120
121 - if:
122 not:
123 properties:
124 compatible:
125 contains:
126 enum:
127 - renesas,rza-wdt
128 - renesas,rzn1-wdt
129 then:
130 required:
131 - power-domains
132 - resets
133
134 - if:
135 properties:
136 compatible:
137 contains:
138 enum:
139 - renesas,rzg2l-wdt
140 - renesas,rzv2m-wdt
141 then:
142 properties:
143 clocks:
144 minItems: 2
145 clock-names:
146 minItems: 2
147 required:
148 - clock-names
149 else:
150 properties:
151 clocks:
152 maxItems: 1
153
154 - if:
155 properties:
156 compatible:
157 contains:
158 enum:
159 - renesas,rzg2l-wdt
160 then:
161 properties:
162 interrupts:
163 minItems: 2
164 interrupt-names:
165 minItems: 2
166 required:
167 - interrupt-names
168 else:
169 properties:
170 interrupts:
171 maxItems: 1
172
173additionalProperties: false
174
175examples:
176 - |
177 #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
178 #include <dt-bindings/power/r8a7795-sysc.h>
179 #include <dt-bindings/interrupt-controller/arm-gic.h>
180 wdt0: watchdog@e6020000 {
181 compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
182 reg = <0xe6020000 0x0c>;
183 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
184 clocks = <&cpg CPG_MOD 402>;
185 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
186 resets = <&cpg 402>;
187 timeout-sec = <60>;
188 };