# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/gpio-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GPIO controlled watchdog

maintainers:
  - Robert Marko <robert.marko@sartura.hr>

properties:
  compatible:
    const: linux,wdt-gpio

  gpios:
    maxItems: 1
    description: GPIO connected to the WDT reset pin

  hw_algo:
    $ref: /schemas/types.yaml#/definitions/string
    description: 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:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Maximum time to reset watchdog circuit (in milliseconds)
    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

unevaluatedProperties: false
