1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/watchdog/atmel,at91sam9-wdt.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: Atmel Watchdog Timers 9 10maintainers: 11 - Eugen Hristev <eugen.hristev@microchip.com> 12 13properties: 14 compatible: 15 const: atmel,at91sam9260-wdt 16 17 reg: 18 maxItems: 1 19 20 clocks: 21 maxItems: 1 22 23 interrupts: 24 maxItems: 1 25 26 atmel,max-heartbeat-sec: 27 description: 28 Should contain the maximum heartbeat value in seconds. This value 29 should be less or equal to 16. It is used to compute the WDV field. 30 maximum: 16 31 32 atmel,min-heartbeat-sec: 33 description: 34 Should contain the minimum heartbeat value in seconds. This value 35 must be smaller than the max-heartbeat-sec value. It is used to 36 compute the WDD field. 37 maximum: 16 38 39 atmel,watchdog-type: 40 $ref: /schemas/types.yaml#/definitions/string 41 description: | 42 Should be hardware or software. 43 oneOf: 44 - description: 45 Hardware watchdog uses the at91 watchdog reset. 46 const: hardware 47 - description: | 48 Software watchdog uses the watchdog interrupt 49 to trigger a software reset. 50 const: software 51 default: hardware 52 53 atmel,reset-type: 54 $ref: /schemas/types.yaml#/definitions/string 55 description: | 56 Should be proc or all. This is valid only when using hardware watchdog. 57 oneOf: 58 - description: 59 Assert peripherals and processor reset signals. 60 const: all 61 - description: 62 Assert the processor reset signal. 63 const: proc 64 default: all 65 66 atmel,disable: 67 $ref: /schemas/types.yaml#/definitions/flag 68 description: 69 Should be present if you want to stop the watchdog. 70 71 atmel,idle-halt: 72 $ref: /schemas/types.yaml#/definitions/flag 73 description: | 74 Should be present if you want to stop the watchdog when 75 entering idle state. 76 CAUTION: This property should be used with care, it actually makes the 77 watchdog not counting when the CPU is in idle state, therefore the 78 watchdog reset time depends on mean CPU usage and will not reset at all 79 if the CPU stops working while it is in idle state, which is probably 80 not what you want. 81 82 atmel,dbg-halt: 83 $ref: /schemas/types.yaml#/definitions/flag 84 description: | 85 Should be present if you want to stop the watchdog when 86 entering debug state. 87 88required: 89 - compatible 90 - reg 91 - clocks 92 93allOf: 94 - $ref: watchdog.yaml# 95 - if: 96 properties: 97 atmel,reset-type: 98 enum: 99 - all 100 - proc 101 then: 102 properties: 103 atmel,watchdog-type: 104 const: hardware 105 106dependencies: 107 atmel,reset-type: ['atmel,watchdog-type'] 108 109unevaluatedProperties: false 110 111examples: 112 - | 113 #include <dt-bindings/interrupt-controller/irq.h> 114 115 watchdog@fffffd40 { 116 compatible = "atmel,at91sam9260-wdt"; 117 reg = <0xfffffd40 0x10>; 118 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 119 clocks = <&clk32k>; 120 timeout-sec = <15>; 121 atmel,watchdog-type = "hardware"; 122 atmel,reset-type = "all"; 123 atmel,dbg-halt; 124 atmel,idle-halt; 125 atmel,max-heartbeat-sec = <16>; 126 atmel,min-heartbeat-sec = <0>; 127 }; 128