Bläddra i källkod

hwmon/it87: Add IT8726F support

Add support for IT8726F chip driver, which is just same as
IT8716F with additional glue logic for AMD power sequencing.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Rudolf Marek 18 år sedan
förälder
incheckning
08a8f6e9e6
3 ändrade filer med 14 tillägg och 4 borttagningar
  1. 7 2
      Documentation/hwmon/it87
  2. 1 1
      drivers/hwmon/Kconfig
  3. 6 1
      drivers/hwmon/it87.c

+ 7 - 2
Documentation/hwmon/it87

@@ -12,11 +12,12 @@ Supported chips:
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Publicly available at the ITE website
     Datasheet: Publicly available at the ITE website
                http://www.ite.com.tw/
                http://www.ite.com.tw/
-  * IT8716F
+  * IT8716F/IT8726F
     Prefix: 'it8716'
     Prefix: 'it8716'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Publicly available at the ITE website
     Datasheet: Publicly available at the ITE website
                http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP
                http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP
+               http://www.ite.com.tw/product_info/file/pc/IT8726F_V0.3.pdf
   * IT8718F
   * IT8718F
     Prefix: 'it8718'
     Prefix: 'it8718'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -68,7 +69,7 @@ Description
 -----------
 -----------
 
 
 This driver implements support for the IT8705F, IT8712F, IT8716F,
 This driver implements support for the IT8705F, IT8712F, IT8716F,
-IT8718F and SiS950 chips.
+IT8718F, IT8726F and SiS950 chips.
 
 
 These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
 These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
 joysticks and other miscellaneous stuff. For hardware monitoring, they
 joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -97,6 +98,10 @@ clock divider mess) but not compatible with the older chips and
 revisions. For now, the driver only uses the 16-bit mode on the
 revisions. For now, the driver only uses the 16-bit mode on the
 IT8716F and IT8718F.
 IT8716F and IT8718F.
 
 
+The IT8726F is just bit enhanced IT8716F with additional hardware
+for AMD power sequencing. Therefore the chip will appear as IT8716F
+to userspace applications.
+
 Temperatures are measured in degrees Celsius. An alarm is triggered once
 Temperatures are measured in degrees Celsius. An alarm is triggered once
 when the Overtemperature Shutdown limit is crossed.
 when the Overtemperature Shutdown limit is crossed.
 
 

+ 1 - 1
drivers/hwmon/Kconfig

@@ -255,7 +255,7 @@ config SENSORS_IT87
 	select HWMON_VID
 	select HWMON_VID
 	help
 	help
 	  If you say yes here you get support for ITE IT8705F, IT8712F,
 	  If you say yes here you get support for ITE IT8705F, IT8712F,
-	  IT8716F and IT8718F sensor chips, and the SiS960 clone.
+	  IT8716F, IT8718F and IT8726F sensor chips, and the SiS960 clone.
 
 
 	  This driver can also be built as a module.  If so, the module
 	  This driver can also be built as a module.  If so, the module
 	  will be called it87.
 	  will be called it87.

+ 6 - 1
drivers/hwmon/it87.c

@@ -6,6 +6,7 @@
               IT8712F  Super I/O chip w/LPC interface
               IT8712F  Super I/O chip w/LPC interface
               IT8716F  Super I/O chip w/LPC interface
               IT8716F  Super I/O chip w/LPC interface
               IT8718F  Super I/O chip w/LPC interface
               IT8718F  Super I/O chip w/LPC interface
+              IT8726F  Super I/O chip w/LPC interface
               Sis950   A clone of the IT8705F
               Sis950   A clone of the IT8705F
 
 
     Copyright (C) 2001 Chris Gauthron <chrisg@0-in.com> 
     Copyright (C) 2001 Chris Gauthron <chrisg@0-in.com> 
@@ -97,6 +98,7 @@ superio_exit(void)
 #define IT8705F_DEVID 0x8705
 #define IT8705F_DEVID 0x8705
 #define IT8716F_DEVID 0x8716
 #define IT8716F_DEVID 0x8716
 #define IT8718F_DEVID 0x8718
 #define IT8718F_DEVID 0x8718
+#define IT8726F_DEVID 0x8726
 #define IT87_ACT_REG  0x30
 #define IT87_ACT_REG  0x30
 #define IT87_BASE_REG 0x60
 #define IT87_BASE_REG 0x60
 
 
@@ -885,6 +887,7 @@ static int __init it87_find(unsigned short *address)
 	chip_type = superio_inw(DEVID);
 	chip_type = superio_inw(DEVID);
 	if (chip_type != IT8712F_DEVID
 	if (chip_type != IT8712F_DEVID
 	 && chip_type != IT8716F_DEVID
 	 && chip_type != IT8716F_DEVID
+	 && chip_type != IT8726F_DEVID
 	 && chip_type != IT8718F_DEVID
 	 && chip_type != IT8718F_DEVID
 	 && chip_type != IT8705F_DEVID)
 	 && chip_type != IT8705F_DEVID)
 	 	goto exit;
 	 	goto exit;
@@ -965,6 +968,8 @@ static int it87_detect(struct i2c_adapter *adapter)
 		data->type = it8712;
 		data->type = it8712;
 		name = "it8712";
 		name = "it8712";
 		break;
 		break;
+	case IT8726F_DEVID:
+	/* fall through */
 	case IT8716F_DEVID:
 	case IT8716F_DEVID:
 		data->type = it8716;
 		data->type = it8716;
 		name = "it8716";
 		name = "it8716";
@@ -1389,7 +1394,7 @@ static void __exit sm_it87_exit(void)
 
 
 MODULE_AUTHOR("Chris Gauthron <chrisg@0-in.com>, "
 MODULE_AUTHOR("Chris Gauthron <chrisg@0-in.com>, "
 	      "Jean Delvare <khali@linux-fr.org>");
 	      "Jean Delvare <khali@linux-fr.org>");
-MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F, SiS950 driver");
+MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8726F, SiS950 driver");
 module_param(update_vbat, bool, 0);
 module_param(update_vbat, bool, 0);
 MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value");
 MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value");
 module_param(fix_pwm_polarity, bool, 0);
 module_param(fix_pwm_polarity, bool, 0);