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

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

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Guenter 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: Rob Herring <robh@kernel.org>
This commit is contained in:
Marek Vasut 2022-11-07 17:03:38 +01:00 committed by Rob Herring
parent 1a2cead15b
commit e21a77d8da
2 changed files with 55 additions and 28 deletions

View File

@ -1,28 +0,0 @@
* 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>;
};

View File

@ -0,0 +1,55 @@
# 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>;
};