[PATCH 0/1] watchdog: sp5100_tco: Use EFCH MMIO for newer Hygon FCH

From: Yingjie Gao

Date: Thu Apr 02 2026 - 03:22:05 EST


This series contains a single patch that fixes sp5100_tco device
selection on newer Hygon FCH/SCH platforms.

Background

On some recent Hygon platforms (PCI vendor 0x1d94, device 0x790b), the
sp5100_tco driver may select the legacy "efch" initialization path
instead of using the EFCH MMIO access method (efch_mmio). When firmware
leaves the EFCH_PM_DECODEEN WDT_TMREN bit cleared the legacy path falls
back to an alternate window and the driver fails with the runtime
message "Watchdog hardware is disabled".

Root cause

commit 009637de1f65 ("watchdog: sp5100_tco: support Hygon FCH/SCH (Server
Controller Hub)") added Hygon vendor matching for the efch layout, but
newer Hygon SMBus devices require the efch_mmio path (the same behavior
used for recent AMD SMBus controllers). The efch_mmio path performs the
EFCH MMIO probe that enables EFCH_PM_DECODEEN_WDT_TMREN before
probing the watchdog MMIO block; without it the primary WDT MMIO
window is not enabled and the watchdog appears disabled.

This patch

Selects efch_mmio for Hygon devices in the same place the driver does
for AMD when the SMBus PCI revision supports the MMIO method. The
change is intentionally minimal: it extends the existing efch_mmio
selection condition to include PCI_VENDOR_ID_HYGON alongside
PCI_VENDOR_ID_AMD.

Test and verification

- Before this change the problematic host printed in dmesg:
"Using 0xfed80b00 ... Watchdog hardware is disabled"
After loading the patched module dmesg shows:
"Using 0xfeb00000 for watchdog MMIO address"
"sp5100-tco ... initialized. heartbeat=60 sec (nowayout=0)"
and /sys/class/watchdog/watchdog0 appears as expected.

Fixes: 009637de1f65 ("watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub)")

Yingjie Gao (1):
watchdog: sp5100_tco: Use EFCH MMIO for newer Hygon FCH

drivers/watchdog/sp5100_tco.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--
2.20.1