113b19169SEugen Hristev# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
213b19169SEugen Hristev%YAML 1.2
313b19169SEugen Hristev---
413b19169SEugen Hristev$id: http://devicetree.org/schemas/watchdog/atmel,sama5d4-wdt.yaml#
513b19169SEugen Hristev$schema: http://devicetree.org/meta-schemas/core.yaml#
613b19169SEugen Hristev
713b19169SEugen Hristevtitle: Atmel SAMA5D4 Watchdog Timer (WDT) Controller
813b19169SEugen Hristev
913b19169SEugen Hristevmaintainers:
1013b19169SEugen Hristev  - Eugen Hristev <eugen.hristev@microchip.com>
1113b19169SEugen Hristev
1213b19169SEugen HristevallOf:
1313b19169SEugen Hristev  - $ref: watchdog.yaml#
1413b19169SEugen Hristev
1513b19169SEugen Hristevproperties:
1613b19169SEugen Hristev  compatible:
1713b19169SEugen Hristev    enum:
1813b19169SEugen Hristev      - atmel,sama5d4-wdt
1913b19169SEugen Hristev      - microchip,sam9x60-wdt
2012dbbf08SEugen Hristev      - microchip,sama7g5-wdt
2113b19169SEugen Hristev
2213b19169SEugen Hristev  reg:
2313b19169SEugen Hristev    maxItems: 1
2413b19169SEugen Hristev
25*9696fe26SRob Herring  interrupts:
26*9696fe26SRob Herring    maxItems: 1
27*9696fe26SRob Herring
2813b19169SEugen Hristev  atmel,watchdog-type:
2913b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/string
3013b19169SEugen Hristev    description: should be hardware or software.
3113b19169SEugen Hristev    oneOf:
3213b19169SEugen Hristev      - description:
3313b19169SEugen Hristev          Enable watchdog fault reset. A watchdog fault triggers
3413b19169SEugen Hristev          watchdog reset.
3513b19169SEugen Hristev        const: hardware
3613b19169SEugen Hristev      - description:
3713b19169SEugen Hristev          Enable watchdog fault interrupt. A watchdog fault asserts
3813b19169SEugen Hristev          watchdog interrupt.
3913b19169SEugen Hristev        const: software
4013b19169SEugen Hristev    default: hardware
4113b19169SEugen Hristev
4213b19169SEugen Hristev  atmel,idle-halt:
4313b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/flag
4413b19169SEugen Hristev    description: |
4513b19169SEugen Hristev      present if you want to stop the watchdog when the CPU is in idle state.
4613b19169SEugen Hristev      CAUTION: This property should be used with care, it actually makes the
4713b19169SEugen Hristev      watchdog not counting when the CPU is in idle state, therefore the
4813b19169SEugen Hristev      watchdog reset time depends on mean CPU usage and will not reset at all
4913b19169SEugen Hristev      if the CPU stop working while it is in idle state, which is probably
5013b19169SEugen Hristev      not what you want.
5113b19169SEugen Hristev
5213b19169SEugen Hristev  atmel,dbg-halt:
5313b19169SEugen Hristev    $ref: /schemas/types.yaml#/definitions/flag
5413b19169SEugen Hristev    description: |
5513b19169SEugen Hristev      present if you want to stop the watchdog when the CPU is in debug state.
5613b19169SEugen Hristev
5713b19169SEugen Hristevrequired:
5813b19169SEugen Hristev  - compatible
5913b19169SEugen Hristev  - reg
6013b19169SEugen Hristev
6113b19169SEugen HristevunevaluatedProperties: false
6213b19169SEugen Hristev
6313b19169SEugen Hristevexamples:
6413b19169SEugen Hristev  - |
6513b19169SEugen Hristev    #include <dt-bindings/interrupt-controller/irq.h>
6613b19169SEugen Hristev
6713b19169SEugen Hristev    watchdog@fc068640 {
6813b19169SEugen Hristev        compatible = "atmel,sama5d4-wdt";
6913b19169SEugen Hristev        reg = <0xfc068640 0x10>;
7013b19169SEugen Hristev        interrupts = <4 IRQ_TYPE_LEVEL_HIGH 5>;
7113b19169SEugen Hristev        timeout-sec = <10>;
7213b19169SEugen Hristev        atmel,watchdog-type = "hardware";
7313b19169SEugen Hristev        atmel,dbg-halt;
7413b19169SEugen Hristev        atmel,idle-halt;
7513b19169SEugen Hristev    };
7613b19169SEugen Hristev
7713b19169SEugen Hristev...
78