xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/renesas,wdt.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
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/watchdog/renesas,wdt.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas Watchdog Timer (WDT) Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Wolfram Sang <wsa+renesas@sang-engineering.com>
11c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotproperties:
14c66ec88fSEmmanuel Vadot  compatible:
15c66ec88fSEmmanuel Vadot    oneOf:
16c66ec88fSEmmanuel Vadot      - items:
17c66ec88fSEmmanuel Vadot          - enum:
18c66ec88fSEmmanuel Vadot              - renesas,r7s72100-wdt     # RZ/A1
19c66ec88fSEmmanuel Vadot              - renesas,r7s9210-wdt      # RZ/A2
20c66ec88fSEmmanuel Vadot          - const: renesas,rza-wdt       # RZ/A
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot      - items:
23c66ec88fSEmmanuel Vadot          - enum:
24d5b0e70fSEmmanuel Vadot              - renesas,r9a06g032-wdt    # RZ/N1D
25d5b0e70fSEmmanuel Vadot          - const: renesas,rzn1-wdt      # RZ/N1
26d5b0e70fSEmmanuel Vadot
27d5b0e70fSEmmanuel Vadot      - items:
28d5b0e70fSEmmanuel Vadot          - enum:
29cb7aa33aSEmmanuel Vadot              - renesas,r9a07g043-wdt    # RZ/G2UL and RZ/Five
30e67e8565SEmmanuel Vadot              - renesas,r9a07g044-wdt    # RZ/G2{L,LC}
31d5b0e70fSEmmanuel Vadot              - renesas,r9a07g054-wdt    # RZ/V2L
320e8011faSEmmanuel Vadot              - renesas,r9a08g045-wdt    # RZ/G3S
33d5b0e70fSEmmanuel Vadot          - const: renesas,rzg2l-wdt
34e67e8565SEmmanuel Vadot
35e67e8565SEmmanuel Vadot      - items:
36e67e8565SEmmanuel Vadot          - enum:
377ef62cebSEmmanuel Vadot              - renesas,r9a09g011-wdt    # RZ/V2M
387ef62cebSEmmanuel Vadot          - const: renesas,rzv2m-wdt     # RZ/V2M
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot      - items:
417ef62cebSEmmanuel Vadot          - enum:
42c66ec88fSEmmanuel Vadot              - renesas,r8a7742-wdt      # RZ/G1H
43c66ec88fSEmmanuel Vadot              - renesas,r8a7743-wdt      # RZ/G1M
44c66ec88fSEmmanuel Vadot              - renesas,r8a7744-wdt      # RZ/G1N
45c66ec88fSEmmanuel Vadot              - renesas,r8a7745-wdt      # RZ/G1E
46c66ec88fSEmmanuel Vadot              - renesas,r8a77470-wdt     # RZ/G1C
47c66ec88fSEmmanuel Vadot              - renesas,r8a7790-wdt      # R-Car H2
48c66ec88fSEmmanuel Vadot              - renesas,r8a7791-wdt      # R-Car M2-W
49c66ec88fSEmmanuel Vadot              - renesas,r8a7792-wdt      # R-Car V2H
50c66ec88fSEmmanuel Vadot              - renesas,r8a7793-wdt      # R-Car M2-N
51c66ec88fSEmmanuel Vadot              - renesas,r8a7794-wdt      # R-Car E2
52c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen2-wdt # R-Car Gen2 and RZ/G1
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot      - items:
55c66ec88fSEmmanuel Vadot          - enum:
56c66ec88fSEmmanuel Vadot              - renesas,r8a774a1-wdt     # RZ/G2M
57c66ec88fSEmmanuel Vadot              - renesas,r8a774b1-wdt     # RZ/G2N
58c66ec88fSEmmanuel Vadot              - renesas,r8a774c0-wdt     # RZ/G2E
59c66ec88fSEmmanuel Vadot              - renesas,r8a774e1-wdt     # RZ/G2H
60c66ec88fSEmmanuel Vadot              - renesas,r8a7795-wdt      # R-Car H3
61c66ec88fSEmmanuel Vadot              - renesas,r8a7796-wdt      # R-Car M3-W
62c66ec88fSEmmanuel Vadot              - renesas,r8a77961-wdt     # R-Car M3-W+
63c66ec88fSEmmanuel Vadot              - renesas,r8a77965-wdt     # R-Car M3-N
64c66ec88fSEmmanuel Vadot              - renesas,r8a77970-wdt     # R-Car V3M
65c66ec88fSEmmanuel Vadot              - renesas,r8a77980-wdt     # R-Car V3H
66c66ec88fSEmmanuel Vadot              - renesas,r8a77990-wdt     # R-Car E3
67c66ec88fSEmmanuel Vadot              - renesas,r8a77995-wdt     # R-Car D3
68c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen3-wdt # R-Car Gen3 and RZ/G2
69c66ec88fSEmmanuel Vadot
70c9ccf3a3SEmmanuel Vadot      - items:
71c9ccf3a3SEmmanuel Vadot          - enum:
72d5b0e70fSEmmanuel Vadot              - renesas,r8a779a0-wdt     # R-Car V3U
73c9ccf3a3SEmmanuel Vadot              - renesas,r8a779f0-wdt     # R-Car S4-8
747ef62cebSEmmanuel Vadot              - renesas,r8a779g0-wdt     # R-Car V4H
7501950c46SEmmanuel Vadot              - renesas,r8a779h0-wdt     # R-Car V4M
76c9ccf3a3SEmmanuel Vadot          - const: renesas,rcar-gen4-wdt # R-Car Gen4
77c9ccf3a3SEmmanuel Vadot
78*b2d2a78aSEmmanuel Vadot      - const: renesas,r9a09g057-wdt       # RZ/V2H(P)
79*b2d2a78aSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot  reg:
81c66ec88fSEmmanuel Vadot    maxItems: 1
82c66ec88fSEmmanuel Vadot
837ef62cebSEmmanuel Vadot  interrupts:
847ef62cebSEmmanuel Vadot    minItems: 1
857ef62cebSEmmanuel Vadot    items:
867ef62cebSEmmanuel Vadot      - description: Timeout
877ef62cebSEmmanuel Vadot      - description: Parity error
88c66ec88fSEmmanuel Vadot
897ef62cebSEmmanuel Vadot  interrupt-names:
907ef62cebSEmmanuel Vadot    minItems: 1
917ef62cebSEmmanuel Vadot    items:
927ef62cebSEmmanuel Vadot      - const: wdt
937ef62cebSEmmanuel Vadot      - const: perrout
94e67e8565SEmmanuel Vadot
957ef62cebSEmmanuel Vadot  clocks:
967ef62cebSEmmanuel Vadot    minItems: 1
977ef62cebSEmmanuel Vadot    items:
987ef62cebSEmmanuel Vadot      - description: Register access clock
997ef62cebSEmmanuel Vadot      - description: Main clock
100e67e8565SEmmanuel Vadot
1017ef62cebSEmmanuel Vadot  clock-names:
1027ef62cebSEmmanuel Vadot    minItems: 1
1037ef62cebSEmmanuel Vadot    items:
1047ef62cebSEmmanuel Vadot      - const: pclk
1057ef62cebSEmmanuel Vadot      - const: oscclk
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot  power-domains:
108c66ec88fSEmmanuel Vadot    maxItems: 1
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot  resets:
111c66ec88fSEmmanuel Vadot    maxItems: 1
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot  timeout-sec: true
114c66ec88fSEmmanuel Vadot
115c66ec88fSEmmanuel Vadotrequired:
116c66ec88fSEmmanuel Vadot  - compatible
117c66ec88fSEmmanuel Vadot  - reg
118c66ec88fSEmmanuel Vadot  - clocks
119c66ec88fSEmmanuel Vadot
120e67e8565SEmmanuel VadotallOf:
121fac71e4eSEmmanuel Vadot  - $ref: watchdog.yaml#
122e67e8565SEmmanuel Vadot
123e67e8565SEmmanuel Vadot  - if:
124c66ec88fSEmmanuel Vadot      not:
125c66ec88fSEmmanuel Vadot        properties:
126c66ec88fSEmmanuel Vadot          compatible:
127c66ec88fSEmmanuel Vadot            contains:
128c66ec88fSEmmanuel Vadot              enum:
129c66ec88fSEmmanuel Vadot                - renesas,rza-wdt
130d5b0e70fSEmmanuel Vadot                - renesas,rzn1-wdt
131c66ec88fSEmmanuel Vadot    then:
132c66ec88fSEmmanuel Vadot      required:
133c66ec88fSEmmanuel Vadot        - power-domains
134c66ec88fSEmmanuel Vadot        - resets
135c66ec88fSEmmanuel Vadot
136e67e8565SEmmanuel Vadot  - if:
137e67e8565SEmmanuel Vadot      properties:
138e67e8565SEmmanuel Vadot        compatible:
139e67e8565SEmmanuel Vadot          contains:
140e67e8565SEmmanuel Vadot            enum:
141*b2d2a78aSEmmanuel Vadot              - renesas,r9a09g057-wdt
142e67e8565SEmmanuel Vadot              - renesas,rzg2l-wdt
1437ef62cebSEmmanuel Vadot              - renesas,rzv2m-wdt
1447ef62cebSEmmanuel Vadot    then:
1457ef62cebSEmmanuel Vadot      properties:
1467ef62cebSEmmanuel Vadot        clocks:
1477ef62cebSEmmanuel Vadot          minItems: 2
1487ef62cebSEmmanuel Vadot        clock-names:
1497ef62cebSEmmanuel Vadot          minItems: 2
1507ef62cebSEmmanuel Vadot      required:
1517ef62cebSEmmanuel Vadot        - clock-names
1527ef62cebSEmmanuel Vadot    else:
1537ef62cebSEmmanuel Vadot      properties:
1547ef62cebSEmmanuel Vadot        clocks:
1557ef62cebSEmmanuel Vadot          maxItems: 1
1567ef62cebSEmmanuel Vadot
1577ef62cebSEmmanuel Vadot  - if:
1587ef62cebSEmmanuel Vadot      properties:
1597ef62cebSEmmanuel Vadot        compatible:
1607ef62cebSEmmanuel Vadot          contains:
1617ef62cebSEmmanuel Vadot            enum:
1627ef62cebSEmmanuel Vadot              - renesas,rzg2l-wdt
163e67e8565SEmmanuel Vadot    then:
164e67e8565SEmmanuel Vadot      properties:
165e67e8565SEmmanuel Vadot        interrupts:
1667ef62cebSEmmanuel Vadot          minItems: 2
167e67e8565SEmmanuel Vadot        interrupt-names:
1687ef62cebSEmmanuel Vadot          minItems: 2
169e67e8565SEmmanuel Vadot      required:
170e67e8565SEmmanuel Vadot        - interrupt-names
171e67e8565SEmmanuel Vadot    else:
172e67e8565SEmmanuel Vadot      properties:
173e67e8565SEmmanuel Vadot        interrupts:
174e67e8565SEmmanuel Vadot          maxItems: 1
175e67e8565SEmmanuel Vadot
176*b2d2a78aSEmmanuel Vadot  - if:
177*b2d2a78aSEmmanuel Vadot      properties:
178*b2d2a78aSEmmanuel Vadot        compatible:
179*b2d2a78aSEmmanuel Vadot          contains:
180*b2d2a78aSEmmanuel Vadot            const: renesas,r9a09g057-wdt
181*b2d2a78aSEmmanuel Vadot    then:
182*b2d2a78aSEmmanuel Vadot      properties:
183*b2d2a78aSEmmanuel Vadot        interrupts: false
184*b2d2a78aSEmmanuel Vadot        interrupt-names: false
185*b2d2a78aSEmmanuel Vadot    else:
186*b2d2a78aSEmmanuel Vadot      required:
187*b2d2a78aSEmmanuel Vadot        - interrupts
188*b2d2a78aSEmmanuel Vadot
189c66ec88fSEmmanuel VadotadditionalProperties: false
190c66ec88fSEmmanuel Vadot
191c66ec88fSEmmanuel Vadotexamples:
192c66ec88fSEmmanuel Vadot  - |
193c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
194c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7795-sysc.h>
1957ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
196c66ec88fSEmmanuel Vadot    wdt0: watchdog@e6020000 {
197c66ec88fSEmmanuel Vadot        compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
198c66ec88fSEmmanuel Vadot        reg = <0xe6020000 0x0c>;
1997ef62cebSEmmanuel Vadot        interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
200c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 402>;
201c66ec88fSEmmanuel Vadot        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
202c66ec88fSEmmanuel Vadot        resets = <&cpg 402>;
203c66ec88fSEmmanuel Vadot        timeout-sec = <60>;
204c66ec88fSEmmanuel Vadot    };
205