2010-12-05

[en] Watchdog on Jetway NC9C-550-LF mobo

A watchdog is available on the Jetway NC9C-550-LF mini-ITX motherboard. It is managed by the super IO chip, which appears to be a Fintech F71869.
Linux 2.6.36 has support for some Fintech watchdogs. This small patch adds the F71869.

--- ./drivers/watchdog/f71808e_wdt.c 2010-10-20 22:30:22.000000000 +0200
+++ /tmp/f71808e_wdt.c 2010-12-05 01:19:48.819567802 +0100
@@ -52,6 +52,8 @@
#define SIO_F71882_ID 0x0541 /* Chipset ID */
#define SIO_F71889_ID 0x0723 /* Chipset ID */

+#define SIO_F71869_ID 0x0814
+
#define F71882FG_REG_START 0x01

#define F71808FG_REG_WDO_CONF 0xf0
@@ -98,7 +100,7 @@
MODULE_PARM_DESC(start_withtimeout, "Start watchdog timer on module load with"
" given initial timeout. Zero (default) disables this feature.");

-enum chips { f71808fg, f71858fg, f71862fg, f71882fg, f71889fg };
+enum chips { f71808fg, f71858fg, f71862fg, f71882fg, f71889fg, f71869 };

static const char *f71808e_names[] = {
"f71808fg",
@@ -106,6 +108,7 @@
"f71862fg",
"f71882fg",
"f71889fg",
+ "f71869",
};

/* Super-I/O Function prototypes */
@@ -308,6 +311,10 @@
superio_set_bit(watchdog.sioaddr, 0x29, 1);
break;

+ case f71869:
+ /* GPIO14 --> WDTRST# */
+ superio_clear_bit(watchdog.sioaddr, 0x29, 4);
+ break;
default:
/*
* 'default' label to shut up the compiler and catch
@@ -708,6 +715,9 @@
case SIO_F71882_ID:
watchdog.type = f71882fg;
break;
+ case SIO_F71869_ID:
+ watchdog.type = f71869;
+ break;
case SIO_F71862_ID:
case SIO_F71889_ID:
/* These have a watchdog, though it isn't implemented (yet). */