diff mbox series

[v3] dt-bindings: watchdog: gpio: Convert bindings to YAML

Message ID 20221107160338.27910-1-marex@denx.de
State New
Headers show
Series [v3] dt-bindings: watchdog: gpio: Convert bindings to YAML | expand

Commit Message

Marek Vasut Nov. 7, 2022, 4:03 p.m. UTC
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>
---
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
Cc: linux-watchdog@vger.kernel.org
To: devicetree@vger.kernel.org
---
V2: - Add missing required: properties
    - Drop quotes around ref: referenced schema file name
V3: - Add Guenter as maintainer of the bindings
    - Add RB from Rob
---
 .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 -----------
 .../bindings/watchdog/linux,wdt-gpio.yaml     | 47 +++++++++++++++++++
 2 files changed, 47 insertions(+), 28 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
 create mode 100644 Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml

Comments

Guenter Roeck Nov. 15, 2022, 1:29 p.m. UTC | #1
On Mon, Nov 07, 2022 at 05:03:38PM +0100, Marek Vasut wrote:
> 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>

> ---
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
> Cc: linux-watchdog@vger.kernel.org
> To: devicetree@vger.kernel.org
> ---
> V2: - Add missing required: properties
>     - Drop quotes around ref: referenced schema file name
> V3: - Add Guenter as maintainer of the bindings
>     - Add RB from Rob
> ---
>  .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 -----------
>  .../bindings/watchdog/linux,wdt-gpio.yaml     | 47 +++++++++++++++++++
>  2 files changed, 47 insertions(+), 28 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
>  create mode 100644 Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt b/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
> deleted file mode 100644
> index 198794963786b..0000000000000
> --- 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/linux,wdt-gpio.yaml b/Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
> new file mode 100644
> index 0000000000000..c729c96a5dc75
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
> @@ -0,0 +1,47 @@
> +# 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
> +
> +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>;
> +    };
> -- 
> 2.35.1
>
Rob Herring (Arm) Dec. 15, 2022, 8:37 p.m. UTC | #2
On Mon, 07 Nov 2022 17:03:38 +0100, Marek Vasut wrote:
> 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>
> ---
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
> Cc: linux-watchdog@vger.kernel.org
> To: devicetree@vger.kernel.org
> ---
> V2: - Add missing required: properties
>     - Drop quotes around ref: referenced schema file name
> V3: - Add Guenter as maintainer of the bindings
>     - Add RB from Rob
> ---
>  .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 -----------
>  .../bindings/watchdog/linux,wdt-gpio.yaml     | 47 +++++++++++++++++++
>  2 files changed, 47 insertions(+), 28 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
>  create mode 100644 Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
> 

Looks like this was missed. Applied, thanks! You missed 
'always-running', so I added it from the other conversion that was 
done[1].

Rob

[1] https://lore.kernel.org/all/20221125112904.48652-1-robert.marko@sartura.hr/
Marek Vasut Dec. 15, 2022, 10:45 p.m. UTC | #3
On 12/15/22 21:37, Rob Herring wrote:
> 
> On Mon, 07 Nov 2022 17:03:38 +0100, Marek Vasut wrote:
>> 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>
>> ---
>> Cc: Guenter Roeck <linux@roeck-us.net>
>> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
>> Cc: linux-watchdog@vger.kernel.org
>> To: devicetree@vger.kernel.org
>> ---
>> V2: - Add missing required: properties
>>      - Drop quotes around ref: referenced schema file name
>> V3: - Add Guenter as maintainer of the bindings
>>      - Add RB from Rob
>> ---
>>   .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 -----------
>>   .../bindings/watchdog/linux,wdt-gpio.yaml     | 47 +++++++++++++++++++
>>   2 files changed, 47 insertions(+), 28 deletions(-)
>>   delete mode 100644 Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
>>   create mode 100644 Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
>>
> 
> Looks like this was missed. Applied, thanks! You missed
> 'always-running', so I added it from the other conversion that was
> done[1].
> 
> Rob
> 
> [1] https://lore.kernel.org/all/20221125112904.48652-1-robert.marko@sartura.hr/

There is no 'always-enabled' DT property used anywhere in the Linux 
kernel, at least 'git grep' in latest next-20221215 indicates so. Shall 
we really add it in the bindings ?
Marek Vasut Dec. 15, 2022, 10:46 p.m. UTC | #4
On 12/15/22 23:45, Marek Vasut wrote:
> On 12/15/22 21:37, Rob Herring wrote:
>>
>> On Mon, 07 Nov 2022 17:03:38 +0100, Marek Vasut wrote:
>>> 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>
>>> ---
>>> Cc: Guenter Roeck <linux@roeck-us.net>
>>> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
>>> Cc: Rob Herring <robh+dt@kernel.org>
>>> Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
>>> Cc: linux-watchdog@vger.kernel.org
>>> To: devicetree@vger.kernel.org
>>> ---
>>> V2: - Add missing required: properties
>>>      - Drop quotes around ref: referenced schema file name
>>> V3: - Add Guenter as maintainer of the bindings
>>>      - Add RB from Rob
>>> ---
>>>   .../devicetree/bindings/watchdog/gpio-wdt.txt | 28 -----------
>>>   .../bindings/watchdog/linux,wdt-gpio.yaml     | 47 +++++++++++++++++++
>>>   2 files changed, 47 insertions(+), 28 deletions(-)
>>>   delete mode 100644 
>>> Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
>>>   create mode 100644 
>>> Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
>>>
>>
>> Looks like this was missed. Applied, thanks! You missed
>> 'always-running', so I added it from the other conversion that was
>> done[1].
>>
>> Rob
>>
>> [1] 
>> https://lore.kernel.org/all/20221125112904.48652-1-robert.marko@sartura.hr/
> 
> There is no 'always-enabled' DT property used anywhere in the Linux 
> kernel, at least 'git grep' in latest next-20221215 indicates so. Shall 
> we really add it in the bindings ?

Please ignore what I wrote, always-running was indeed missed.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt b/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
deleted file mode 100644
index 198794963786b..0000000000000
--- 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/linux,wdt-gpio.yaml b/Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
new file mode 100644
index 0000000000000..c729c96a5dc75
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/linux,wdt-gpio.yaml
@@ -0,0 +1,47 @@ 
+# 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
+
+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>;
+    };