[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250903-gunyah_watchdog-v1-1-3ae690530e4b@oss.qualcomm.com>
Date: Wed, 03 Sep 2025 19:33:59 +0000
From: Hrishabh Rajput via B4 Relay <devnull+hrishabh.rajput.oss.qualcomm.com@...nel.org>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-watchdog@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
Subject: [PATCH 1/2] dt-bindings: Add binding for gunyah watchdog
From: Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
The Gunyah Hypervisor applies a devicetree overlay providing the
pretimeout interrupt for the Gunyah Watchdog that it will be using to
notify watchdog's pretimeout event. Add the DT bindings that Gunyah
adheres to for the hypervisor and watchdog.
Signed-off-by: Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
---
.../bindings/watchdog/qcom,gh-watchdog.yaml | 76 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 77 insertions(+)
diff --git a/Documentation/devicetree/bindings/watchdog/qcom,gh-watchdog.yaml b/Documentation/devicetree/bindings/watchdog/qcom,gh-watchdog.yaml
new file mode 100644
index 000000000000..bde8438c6242
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/qcom,gh-watchdog.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/qcom,gh-watchdog.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Gunyah Virtual Watchdog
+
+maintainers:
+ - Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
+
+description: |+
+ The Gunyah Hypervisor provides an SMC-based watchdog interface for its virtual
+ machines. The virtual machines use this information to determine the
+ pretimeout IRQ which the hypervisor will be using to communicate pretimeout
+ event.
+ See also: [1]
+
+ [1]: https://github.com/quic/gunyah-resource-manager/blob/1b23ceb0dfa010b3b6b5a5f7a4ec1e95b93ab99d/src/vm_creation/dto_construct.c#L519
+
+properties:
+ compatible:
+ allOf:
+ - const: gunyah-hypervisor
+ - const: simple-bus
+
+ "#address-cells":
+ description: Number of cells needed to represent 64-bit capability IDs.
+ const: 2
+
+ "#size-cells":
+ description: must be 0, because capability IDs are not memory address
+ ranges and do not have a size.
+ const: 0
+
+patternProperties:
+ "^gh-watchdog":
+ type: object
+ description:
+ Watchdog node which provides information about the pretimeout IRQ which
+ will be used to communicate the pretimeout event.
+
+ properties:
+ compatible:
+ const: qcom,gh-watchdog
+
+ interrupts:
+ items:
+ description: Interrupt for the pretimeout.
+
+ additionalProperties: false
+
+ required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+required:
+ - compatible
+ - "#address-cells"
+ - "#size-cells"
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ hypervisor {
+ compatible = "gunyah-hypervisor", "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ gh-watchdog {
+ compatible = "qcom,gh-watchdog";
+ interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>; /* Pretimeout IRQ */
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index c0b444e5fd5a..03b74513e4ac 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3076,6 +3076,7 @@ F: Documentation/devicetree/bindings/cache/qcom,llcc.yaml
F: Documentation/devicetree/bindings/firmware/qcom,scm.yaml
F: Documentation/devicetree/bindings/reserved-memory/qcom*
F: Documentation/devicetree/bindings/soc/qcom/
+F: Documentation/devicetree/bindings/watchdog/qcom,gh-watchdog.yaml
F: arch/arm/boot/dts/qcom/
F: arch/arm/configs/qcom_defconfig
F: arch/arm/mach-qcom/
--
2.43.0
Powered by blists - more mailing lists