watchdog: it87_wdt: Add support for IT8728F watchdog.
authorDiego Elio Pettenò <flameeyes@flameeyes.eu>
Wed, 14 Mar 2012 19:49:04 +0000 (20:49 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Wed, 23 May 2012 14:24:43 +0000 (16:24 +0200)
This works the same way IT8721F works, but it supports WDT_PWROK
(checked on the datasheet).

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/Kconfig
drivers/watchdog/it87_wdt.c

index 0542314e1510588a6ba6aa8642839510ef6804b5..66e77ad5ad6ffbde3ac463dbe0593800f38b35d6 100644 (file)
@@ -596,7 +596,12 @@ config IT87_WDT
        depends on X86 && EXPERIMENTAL
        ---help---
          This is the driver for the hardware watchdog on the ITE IT8702,
-         IT8712, IT8716, IT8718, IT8720, IT8721, IT8726 Super I/O chips.
+         IT8712, IT8716, IT8718, IT8720, IT8721, IT8726 and IT8728
+         Super I/O chips.
+
+         If the driver does not work, then make sure that the game port in
+         the BIOS is enabled.
+
          This watchdog simply watches your kernel to make sure it doesn't
          freeze, and if it does, it reboots your computer after a certain
          amount of time.
index 8a741bcb512485194a9f6943baa875bd1d896533..d3dcc6988b5f107dd65395aa8459a8a04af4d012 100644 (file)
@@ -12,7 +12,8 @@
  *                 http://www.ite.com.tw/
  *
  *     Support of the watchdog timers, which are available on
- *     IT8702, IT8712, IT8716, IT8718, IT8720, IT8721 and IT8726.
+ *     IT8702, IT8712, IT8716, IT8718, IT8720, IT8721, IT8726
+ *     and IT8728.
  *
  *     This program is free software; you can redistribute it and/or
  *     modify it under the terms of the GNU General Public License
@@ -84,6 +85,7 @@
 #define IT8720_ID      0x8720
 #define IT8721_ID      0x8721
 #define IT8726_ID      0x8726  /* the data sheet suggest wrongly 0x8716 */
+#define IT8728_ID      0x8728
 
 /* GPIO Configuration Registers LDN=0x07 */
 #define WDTCTRL                0x71
@@ -95,7 +97,7 @@
 #define WDT_CIRINT     0x80
 #define WDT_MOUSEINT   0x40
 #define WDT_KYBINT     0x20
-#define WDT_GAMEPORT   0x10 /* not in it8718, it8720, it8721 */
+#define WDT_GAMEPORT   0x10 /* not in it8718, it8720, it8721, it8728 */
 #define WDT_FORCE      0x02
 #define WDT_ZERO       0x01
 
@@ -616,6 +618,7 @@ static int __init it87_wdt_init(void)
        case IT8718_ID:
        case IT8720_ID:
        case IT8721_ID:
+       case IT8728_ID:
                max_units = 65535;
                try_gameport = 0;
                break;