blob: 499f1b7e03f96d2aa6dd456f2260d8cec86810dc [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/watchdog/linux,wdt-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: GPIO-controlled Watchdog
8
9maintainers:
10 - Guenter Roeck <linux@roeck-us.net>
11 - Robert Marko <robert.marko@sartura.hr>
12
13properties:
14 compatible:
15 const: linux,wdt-gpio
16
17 gpios:
18 description: gpio connection to WDT reset pin
19 maxItems: 1
20
21 hw_algo:
22 description: The algorithm used by the driver.
23 oneOf:
24 - description:
25 Either a high-to-low or a low-to-high transition clears the WDT counter.
26 The watchdog timer is disabled when GPIO is left floating or connected
27 to a three-state buffer.
28 const: toggle
29 - description:
30 Low or high level starts counting WDT timeout, the opposite level
31 disables the WDT.
32 Active level is determined by the GPIO flags.
33 const: level
34
35 hw_margin_ms:
36 description: Maximum time to reset watchdog circuit (milliseconds).
37 $ref: /schemas/types.yaml#/definitions/uint32
38 minimum: 2
39 maximum: 65535
40
41 always-running:
42 type: boolean
43 description:
44 If the watchdog timer cannot be disabled, add this flag to have the driver
45 keep toggling the signal without a client.
46 It will only cease to toggle the signal when the device is open and the
47 timeout elapsed.
48
49required:
50 - compatible
51 - gpios
52 - hw_algo
53 - hw_margin_ms
54
55allOf:
56 - $ref: watchdog.yaml#
57
58unevaluatedProperties: false
59
60examples:
61 - |
62 #include <dt-bindings/gpio/gpio.h>
63 watchdog {
64 compatible = "linux,wdt-gpio";
65 gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
66 hw_algo = "toggle";
67 hw_margin_ms = <1600>;
68 };