xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/gpio-wdt.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/watchdog/gpio-wdt.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: GPIO controlled watchdog
8
9maintainers:
10  - Robert Marko <robert.marko@sartura.hr>
11
12properties:
13  compatible:
14    const: linux,wdt-gpio
15
16  gpios:
17    maxItems: 1
18    description: GPIO connected to the WDT reset pin
19
20  hw_algo:
21    $ref: /schemas/types.yaml#/definitions/string
22    description: 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    $ref: /schemas/types.yaml#/definitions/uint32
37    description: Maximum time to reset watchdog circuit (in milliseconds)
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
55unevaluatedProperties: false
56