Public bug reported:

[Impact]
On the Neousys Nuvo-7000 series (DMI board_vendor "Neousys Technology Inc.",
board_name "NVS-7000"), the in-tree it87_wdt driver detects the IT8786 Super
I/O and registers /dev/watchdog0, but the board does not reset when the
watchdog times out. A hung system therefore stays hung. This makes the
hardware watchdog unusable on this platform.

The IT8786 WDT output reaches the platform reset logic only while PCH pad
GPP_D4 is driven high. it87_wdt does not drive this pad.

1) Release:
   Ubuntu 26.04 LTS (resolute)

2) Package version:
   Tested on linux-image-7.0.0-31-generic
   Fix proposed for linux-iot main-next (Ubuntu-iot-7.0.0-1004.4)

3) Expected:
   With it87_wdt loaded and timeout=20, if /dev/watchdog0 is opened and
   not pinged, the board resets after about 20 seconds.

4) Actual:
   The timer counts down to zero and nothing happens. The board does not
   reset. Only a manual power cycle recovers a hung system.

[Fix]
UBUNTU: SAUCE: watchdog: it87_wdt: Add Neousys Nuvo-7000 reset gate quirk

Adds a DMI quirk for this board only. The driver drives GPP_D4 high on
start and low on stop. The pad is reached through the P2SB sideband, as in
drivers/watchdog/simatic-ipc-wdt.c. The firmware locks P2SB hidden, so
p2sb_bar() returns -ENOENT; the quirk then uses the platform SBREG base
(0xfd000000). No Kconfig change: CONFIG_IT87_WDT=m and CONFIG_P2SB=y
already.

[Test Plan]
Hardware: Neousys Nuvo-7168GC, Intel Q370 (Cannon Lake-H), ITE IT8786 rev 2.
1. Load the patched driver:  sudo modprobe it87_wdt timeout=20
   dmesg: "it87_wdt: Chip IT8786 revision 2 initialized. timeout=20 sec"
2. Open /dev/watchdog0 and do not ping it.
3. Expected: hardware reset 20 s after the device is opened.
Result with the fix: reset occurred 20 s after arming. The previous boot
log ends with no shutdown sequence, so it was a hardware reset.
Result without the fix: no reset.

[Where problems could occur]
The change is active only on boards that match the DMI vendor and board
name above. Other IT87 boards use the same code paths as before. On a
matching board, a wrong pad address could change an unrelated GPIO pad;
the address was confirmed on the hardware.

** Affects: linux-iot (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171570

Title:
  On the Neousys Nuvo-7000 (DMI "NVS-7000"), it87_wdt loads, but the
  board does not reset when the watchdog times out.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-iot/+bug/2171570/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to