On Fri, Nov 25, 2022 at 12:29:04PM +0100, Robert Marko wrote: > Convert the DT binding for GPIO WDT to JSON schema. > > Cc: luka.perkov@xxxxxxxxxx > Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 ---------- > .../bindings/watchdog/gpio-wdt.yaml | 55 +++++++++++++++++++ > 2 files changed, 55 insertions(+), 28 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.txt > create mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.yaml > > diff --git a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt b/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt > deleted file mode 100644 > index 198794963786..000000000000 > --- a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt > +++ /dev/null > @@ -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>; > - }; > diff --git a/Documentation/devicetree/bindings/watchdog/gpio-wdt.yaml b/Documentation/devicetree/bindings/watchdog/gpio-wdt.yaml > new file mode 100644 > index 000000000000..155dc7965e9b > --- /dev/null > +++ b/Documentation/devicetree/bindings/watchdog/gpio-wdt.yaml > @@ -0,0 +1,55 @@ > +# 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@xxxxxxxxxx> > + > +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