| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/watchdog/linux,wdt-gpio.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: GPIO-controlled Watchdog |
| |
| maintainers: |
| - Guenter Roeck <linux@roeck-us.net> |
| - Robert Marko <robert.marko@sartura.hr> |
| |
| properties: |
| compatible: |
| const: linux,wdt-gpio |
| |
| gpios: |
| description: gpio connection to WDT reset pin |
| maxItems: 1 |
| |
| hw_algo: |
| description: The algorithm used by the driver. |
| oneOf: |
| - description: |
| Either a high-to-low or a low-to-high transition clears the WDT counter. |
| The watchdog timer is disabled when GPIO is left floating or connected |
| to a three-state buffer. |
| const: toggle |
| - description: |
| Low or high level starts counting WDT timeout, the opposite level |
| disables the WDT. |
| Active level is determined by the GPIO flags. |
| const: level |
| |
| hw_margin_ms: |
| description: Maximum time to reset watchdog circuit (milliseconds). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 2 |
| maximum: 65535 |
| |
| always-running: |
| type: boolean |
| description: |
| If the watchdog timer cannot be disabled, add this flag to have the driver |
| keep toggling the signal without a client. |
| It will only cease to toggle the signal when the device is open and the |
| timeout elapsed. |
| |
| required: |
| - compatible |
| - gpios |
| - hw_algo |
| - hw_margin_ms |
| |
| allOf: |
| - $ref: watchdog.yaml# |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| watchdog { |
| compatible = "linux,wdt-gpio"; |
| gpios = <&gpio3 9 GPIO_ACTIVE_LOW>; |
| hw_algo = "toggle"; |
| hw_margin_ms = <1600>; |
| }; |