Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / watchdog / linux,wdt-gpio.yaml
1 # 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
7 title: GPIO-controlled Watchdog
8
9 maintainers:
10   - Guenter Roeck <linux@roeck-us.net>
11   - Robert Marko <robert.marko@sartura.hr>
12
13 properties:
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
49 required:
50   - compatible
51   - gpios
52   - hw_algo
53   - hw_margin_ms
54
55 allOf:
56   - $ref: watchdog.yaml#
57
58 unevaluatedProperties: false
59
60 examples:
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     };