drivers/acpi/acpi_pnp.c | 2 + drivers/watchdog/Kconfig | 11 ++ drivers/watchdog/Makefile | 1 + drivers/watchdog/intel_oc_wdt.c | 233 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 247 insertions(+)
This series adds a driver for the Intel Over-Clocking Watchdog found in
the Intel Platform Controller Hub (PCH).
This watchdog is controlled via a simple single-register interface and
would otherwise be standard except for the presence of a LOCK bit that
can only be set once per power cycle, needing extra handling around it.
Due to the way these devices are described in ACPI tables with both the
generic PNP0C02 CID and a more detailed ACPI HID we also need to add
their HIDs to the list of known non-PNP devices. As there are several HIDs
for what seems to be essentially the same hardware but I don't know all
the possible HIDs this series does not include an exhaustive list of all
such HIDs, only those that I could personally test.
Signed-off-by: Diogo Ivo <diogo.ivo@siemens.com>
---
Changes in v3:
- PATCH 01:
- Collect R-b from Guenter
- PATCH 02:
- Reword the commit message to clarify purpose of patch
- Link to v2: https://lore.kernel.org/r/20250312-ivo-intel_oc_wdt-v2-0-52d09738cd0b@siemens.com
Changes in v2:
- Split v1 into two patches, adding the ACPI IDs in a separate patch
- Initialize hearbeat module parameter to zero
- Clarify wording around lock handling
- Properly print resource with %pR when failing to obtain it
- Enable compile testing and add dependency on HAS_IOPORT
- Drop unneeded ACPI_PTR() and MODULE_ALIAS()
- Link to v1: https://lore.kernel.org/r/20250311-ivo-intel_oc_wdt-v1-1-fd470460d9f5@siemens.com
---
Diogo Ivo (2):
watchdog: Add driver for Intel OC WDT
ACPI: PNP: Add Intel OC Watchdog IDs to non-PNP device list
drivers/acpi/acpi_pnp.c | 2 +
drivers/watchdog/Kconfig | 11 ++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/intel_oc_wdt.c | 233 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 247 insertions(+)
---
base-commit: b7f94fcf55469ad3ef8a74c35b488dbfa314d1bb
change-id: 20250227-ivo-intel_oc_wdt-7a483a4d6a04
Best regards,
--
Diogo Ivo <diogo.ivo@siemens.com>
Mon, Mar 17, 2025 at 10:55:05AM +0000, Diogo Ivo kirjoitti: + Mika > This series adds a driver for the Intel Over-Clocking Watchdog found in > the Intel Platform Controller Hub (PCH). > > This watchdog is controlled via a simple single-register interface and > would otherwise be standard except for the presence of a LOCK bit that > can only be set once per power cycle, needing extra handling around it. > > Due to the way these devices are described in ACPI tables with both the > generic PNP0C02 CID and a more detailed ACPI HID we also need to add > their HIDs to the list of known non-PNP devices. As there are several HIDs > for what seems to be essentially the same hardware but I don't know all > the possible HIDs this series does not include an exhaustive list of all > such HIDs, only those that I could personally test. This doesn't describe why we need the driver. We have established ACPI WDAT table. Can't you utilise it by providing in the firmware? -- With Best Regards, Andy Shevchenko
Hi Andy, > This doesn't describe why we need the driver. We have established ACPI WDAT > table. Can't you utilise it by providing in the firmware? You are right, I did not make that clear. When you say we have established WDAT table do you mean that this should be the mechanism that we use going forward to control watchdogs in ACPI platforms generally or that you know that the WDAT for this specific watchdog is present in the firmware? I wrote the driver because on the two platforms I have access to (a fairly recent LG Gram with an i7 1260p and a Siemens BX51A) by delving into the BIOS options I was not able to find a toggle for them to provide a WDAT table for this watchdog. In fact, on the LG Gram by searching we can get it to pass us a WDAT table but for the iTCO watchdog (at least that is what I gathered from my testing). This means that to the best of my knowledge there are platforms that do not provide a WDAT table for the Over-Clocking Watchdog which then makes this driver necessary. However I am not an expert on this topic so if there are things that I am missing I would be happy to work on a better approach. Thanks, Diogo
© 2016 - 2025 Red Hat, Inc.