dt-bindings: watchdog: qcom,pm8916-wdt: convert to dtschema
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tue, 26 Jul 2022 12:02:15 +0000 (14:02 +0200)
committerRob Herring <robh@kernel.org>
Wed, 27 Jul 2022 15:13:10 +0000 (09:13 -0600)
Convert the Qualcomm PM8916 watchdog timer controller bindings to DT
schema and include them in parent device schema.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220726120215.101868-3-krzysztof.kozlowski@linaro.org
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.txt [deleted file]
Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.yaml [new file with mode: 0644]

index e8ecb75..e7b436d 100644 (file)
@@ -36,6 +36,10 @@ properties:
     type: object
     $ref: /schemas/input/qcom,pm8941-pwrkey.yaml#
 
+  watchdog:
+    type: object
+    $ref: /schemas/watchdog/qcom,pm8916-wdt.yaml
+
 required:
   - compatible
   - reg
diff --git a/Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.txt b/Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.txt
deleted file mode 100644 (file)
index 6fb984f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-QCOM PM8916 watchdog timer controller
-
-This pm8916 watchdog timer controller must be under pm8916-pon node.
-
-Required properties:
-- compatible: should be "qcom,pm8916-wdt"
-
-Optional properties :
-- interrupts : Watchdog pre-timeout (bark) interrupt.
-- timeout-sec : Watchdog timeout value in seconds.
-
-Example:
-
-       pm8916_0: pm8916@0 {
-               compatible = "qcom,pm8916", "qcom,spmi-pmic";
-               reg = <0x0 SPMI_USID>;
-
-               pon@800 {
-                       compatible = "qcom,pm8916-pon";
-                       reg = <0x800>;
-
-                       watchdog {
-                               compatible = "qcom,pm8916-wdt";
-                               interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
-                               timeout-sec = <10>;
-                       };
-               };
-       };
diff --git a/Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.yaml
new file mode 100644 (file)
index 0000000..568eb84
--- /dev/null
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/qcom,pm8916-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PM8916 watchdog timer controller
+
+maintainers:
+  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+
+allOf:
+  - $ref: watchdog.yaml#
+
+properties:
+  compatible:
+    const: qcom,pm8916-wdt
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/spmi/spmi.h>
+
+    pmic@0 {
+        compatible = "qcom,pm8916", "qcom,spmi-pmic";
+        reg = <0x0 SPMI_USID>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pon@800 {
+            compatible = "qcom,pm8916-pon";
+            reg = <0x800>;
+            mode-bootloader = <0x2>;
+            mode-recovery = <0x1>;
+
+            watchdog {
+                compatible = "qcom,pm8916-wdt";
+                interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
+                timeout-sec = <60>;
+            };
+        };
+    };