Commit e21a77d8 authored by Marek Vasut's avatar Marek Vasut Committed by Rob Herring
Browse files

dt-bindings: watchdog: gpio: Convert bindings to YAML



Convert the gpio-wdt bindings from text to YAML ones, to permit DT validation.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMarek Vasut <marex@denx.de>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20221107160338.27910-1-marex@denx.de


[robh: add missing 'always-running']
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 1a2cead1
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
* GPIO-controlled Watchdog

Required Properties:
- compatible: Should contain "linux,wdt-gpio".
- gpios: From common gpio binding; gpio connection to WDT reset pin.
- hw_algo: The algorithm used by the driver. Should be one of the
  following values:
  - toggle: 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.
  - level: Low or high level starts counting WDT timeout,
    the opposite level disables the WDT. Active level is determined
    by the GPIO flags.
- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).

Optional Properties:
- always-running: 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.

Example:
	watchdog: watchdog {
		/* ADM706 */
		compatible = "linux,wdt-gpio";
		gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
		hw_algo = "toggle";
		hw_margin_ms = <1600>;
	};
+55 −0
Original line number Diff line number Diff line
# 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>

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.
    enum: [ level, toggle ]

  hw_margin_ms:
    description: Maximum time to reset watchdog circuit (milliseconds).
    $ref: /schemas/types.yaml#/definitions/uint32

  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#

additionalProperties: 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>;
    };