Re: [PATCH v2] watchdog: Add driver for Gunyah Watchdog

From: Guenter Roeck

Date: Mon Oct 06 2025 - 10:18:45 EST


On 10/6/25 00:37, Hrishabh Rajput via B4 Relay wrote:
From: Hrishabh Rajput <hrishabh.rajput@xxxxxxxxxxxxxxxx>

On Qualcomm SoCs running under the Gunyah hypervisor, access to watchdog
through MMIO is not available on all platforms. Depending on the
hypervisor configuration, the watchdog is either fully emulated or
exposed via ARM's SMC Calling Conventions (SMCCC) through the Vendor
Specific Hypervisor Service Calls space.

When Gunyah is not present or Gunyah emulates MMIO-based watchdog, we
expect MMIO watchdog device to be present in the devicetree. If we
detect this device node, we don't proceed ahead. Otherwise, we go ahead
and invoke GUNYAH_WDT_STATUS SMC to initiate the discovery of the
SMC-based watchdog.

Add driver to support the SMC-based watchdog provided by the Gunyah
Hypervisor. module_exit() is intentionally not implemented as this
driver is intended to be a persistent module.

Signed-off-by: Hrishabh Rajput <hrishabh.rajput@xxxxxxxxxxxxxxxx>
---
Gunyah is a Type-I hypervisor which was introduced in the patch series
[1]. It is an open source hypervisor. The source repo is available at
[2].

The Gunyah Hypervisor doesn't allow its Virtual Machines to directly
access the MMIO watchdog. It either provides the fully emulated MMIO
based watchdog interface or the SMC-based watchdog interface depending
on the hypervisor configuration.
The SMC-based watchdog follows ARM's SMC Calling Convention (SMCCC)
version 1.1 and uses Vendor Specific Hypervisor Service Calls space.

This patch series adds support for the SMC-based watchdog interface
provided by the Gunyah Hypervisor.

This series is tested on SM8750 platform.

[1]
https://lore.kernel.org/all/20240222-gunyah-v17-0-1e9da6763d38@xxxxxxxxxxx/

[2]
https://github.com/quic/gunyah-hypervisor
---
Changes in v2:
- Move away from platform driver model since the devicetree overlay does
not happen by default.

This is just wrong. Platform drivers do not depend on devicetree. I am not even
going to review the rest of the driver.

Guenter