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