1*13b19169SEugen Hristev# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*13b19169SEugen Hristev%YAML 1.2
3*13b19169SEugen Hristev---
4*13b19169SEugen Hristev$id: http://devicetree.org/schemas/watchdog/atmel,sama5d4-wdt.yaml#
5*13b19169SEugen Hristev$schema: http://devicetree.org/meta-schemas/core.yaml#
6*13b19169SEugen Hristev
7*13b19169SEugen Hristevtitle: Atmel SAMA5D4 Watchdog Timer (WDT) Controller
8*13b19169SEugen Hristev
9*13b19169SEugen Hristevmaintainers:
10*13b19169SEugen Hristev  - Eugen Hristev <eugen.hristev@microchip.com>
11*13b19169SEugen Hristev
12*13b19169SEugen HristevallOf:
13*13b19169SEugen Hristev  - $ref: "watchdog.yaml#"
14*13b19169SEugen Hristev
15*13b19169SEugen Hristevproperties:
16*13b19169SEugen Hristev  compatible:
17*13b19169SEugen Hristev    enum:
18*13b19169SEugen Hristev      - atmel,sama5d4-wdt
19*13b19169SEugen Hristev      - microchip,sam9x60-wdt
20*13b19169SEugen Hristev
21*13b19169SEugen Hristev  reg:
22*13b19169SEugen Hristev    maxItems: 1
23*13b19169SEugen Hristev
24*13b19169SEugen Hristev  atmel,watchdog-type:
25*13b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/string
26*13b19169SEugen Hristev    description: should be hardware or software.
27*13b19169SEugen Hristev    oneOf:
28*13b19169SEugen Hristev      - description:
29*13b19169SEugen Hristev          Enable watchdog fault reset. A watchdog fault triggers
30*13b19169SEugen Hristev          watchdog reset.
31*13b19169SEugen Hristev        const: hardware
32*13b19169SEugen Hristev      - description:
33*13b19169SEugen Hristev          Enable watchdog fault interrupt. A watchdog fault asserts
34*13b19169SEugen Hristev          watchdog interrupt.
35*13b19169SEugen Hristev        const: software
36*13b19169SEugen Hristev    default: hardware
37*13b19169SEugen Hristev
38*13b19169SEugen Hristev  atmel,idle-halt:
39*13b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/flag
40*13b19169SEugen Hristev    description: |
41*13b19169SEugen Hristev      present if you want to stop the watchdog when the CPU is in idle state.
42*13b19169SEugen Hristev      CAUTION: This property should be used with care, it actually makes the
43*13b19169SEugen Hristev      watchdog not counting when the CPU is in idle state, therefore the
44*13b19169SEugen Hristev      watchdog reset time depends on mean CPU usage and will not reset at all
45*13b19169SEugen Hristev      if the CPU stop working while it is in idle state, which is probably
46*13b19169SEugen Hristev      not what you want.
47*13b19169SEugen Hristev
48*13b19169SEugen Hristev  atmel,dbg-halt:
49*13b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/flag
50*13b19169SEugen Hristev    description: |
51*13b19169SEugen Hristev      present if you want to stop the watchdog when the CPU is in debug state.
52*13b19169SEugen Hristev
53*13b19169SEugen Hristevrequired:
54*13b19169SEugen Hristev  - compatible
55*13b19169SEugen Hristev  - reg
56*13b19169SEugen Hristev
57*13b19169SEugen HristevunevaluatedProperties: false
58*13b19169SEugen Hristev
59*13b19169SEugen Hristevexamples:
60*13b19169SEugen Hristev  - |
61*13b19169SEugen Hristev    #include <dt-bindings/interrupt-controller/irq.h>
62*13b19169SEugen Hristev
63*13b19169SEugen Hristev    watchdog@fc068640 {
64*13b19169SEugen Hristev      compatible = "atmel,sama5d4-wdt";
65*13b19169SEugen Hristev      reg = <0xfc068640 0x10>;
66*13b19169SEugen Hristev      interrupts = <4 IRQ_TYPE_LEVEL_HIGH 5>;
67*13b19169SEugen Hristev      timeout-sec = <10>;
68*13b19169SEugen Hristev      atmel,watchdog-type = "hardware";
69*13b19169SEugen Hristev      atmel,dbg-halt;
70*13b19169SEugen Hristev      atmel,idle-halt;
71*13b19169SEugen Hristev    };
72*13b19169SEugen Hristev
73*13b19169SEugen Hristev...
74