diff options
author | Rudolf Marek <r.marek@assembler.cz> | 2007-06-09 10:11:16 -0400 |
---|---|---|
committer | Mark M. Hoffman <mhoffman@lightlink.com> | 2007-07-19 14:22:13 -0400 |
commit | 08a8f6e9e63a4317f716749ba9f828351bd4af35 (patch) | |
tree | 22f5a8218b7d89d49eda2360f4ab99cfd98c364f | |
parent | 7817a39e65f04abe136d94a65fa26b7fe3334a1f (diff) |
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>
-rw-r--r-- | Documentation/hwmon/it87 | 9 | ||||
-rw-r--r-- | drivers/hwmon/Kconfig | 2 | ||||
-rw-r--r-- | drivers/hwmon/it87.c | 7 |
3 files changed, 14 insertions, 4 deletions
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87 index c0528d6f9ace..81ecc7e41c50 100644 --- a/Documentation/hwmon/it87 +++ b/Documentation/hwmon/it87 | |||
@@ -12,11 +12,12 @@ Supported chips: | |||
12 | Addresses scanned: from Super I/O config space (8 I/O ports) | 12 | Addresses scanned: from Super I/O config space (8 I/O ports) |
13 | Datasheet: Publicly available at the ITE website | 13 | Datasheet: Publicly available at the ITE website |
14 | http://www.ite.com.tw/ | 14 | http://www.ite.com.tw/ |
15 | * IT8716F | 15 | * IT8716F/IT8726F |
16 | Prefix: 'it8716' | 16 | Prefix: 'it8716' |
17 | Addresses scanned: from Super I/O config space (8 I/O ports) | 17 | Addresses scanned: from Super I/O config space (8 I/O ports) |
18 | Datasheet: Publicly available at the ITE website | 18 | Datasheet: Publicly available at the ITE website |
19 | http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP | 19 | http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP |
20 | http://www.ite.com.tw/product_info/file/pc/IT8726F_V0.3.pdf | ||
20 | * IT8718F | 21 | * IT8718F |
21 | Prefix: 'it8718' | 22 | Prefix: 'it8718' |
22 | Addresses scanned: from Super I/O config space (8 I/O ports) | 23 | Addresses scanned: from Super I/O config space (8 I/O ports) |
@@ -68,7 +69,7 @@ Description | |||
68 | ----------- | 69 | ----------- |
69 | 70 | ||
70 | This driver implements support for the IT8705F, IT8712F, IT8716F, | 71 | This driver implements support for the IT8705F, IT8712F, IT8716F, |
71 | IT8718F and SiS950 chips. | 72 | IT8718F, IT8726F and SiS950 chips. |
72 | 73 | ||
73 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, | 74 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, |
74 | joysticks and other miscellaneous stuff. For hardware monitoring, they | 75 | joysticks and other miscellaneous stuff. For hardware monitoring, they |
@@ -97,6 +98,10 @@ clock divider mess) but not compatible with the older chips and | |||
97 | revisions. For now, the driver only uses the 16-bit mode on the | 98 | revisions. For now, the driver only uses the 16-bit mode on the |
98 | IT8716F and IT8718F. | 99 | IT8716F and IT8718F. |
99 | 100 | ||
101 | The IT8726F is just bit enhanced IT8716F with additional hardware | ||
102 | for AMD power sequencing. Therefore the chip will appear as IT8716F | ||
103 | to userspace applications. | ||
104 | |||
100 | Temperatures are measured in degrees Celsius. An alarm is triggered once | 105 | Temperatures are measured in degrees Celsius. An alarm is triggered once |
101 | when the Overtemperature Shutdown limit is crossed. | 106 | when the Overtemperature Shutdown limit is crossed. |
102 | 107 | ||
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index d1c6be9e2bad..5868e1a1917a 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig | |||
@@ -255,7 +255,7 @@ config SENSORS_IT87 | |||
255 | select HWMON_VID | 255 | select HWMON_VID |
256 | help | 256 | help |
257 | If you say yes here you get support for ITE IT8705F, IT8712F, | 257 | If you say yes here you get support for ITE IT8705F, IT8712F, |
258 | IT8716F and IT8718F sensor chips, and the SiS960 clone. | 258 | IT8716F, IT8718F and IT8726F sensor chips, and the SiS960 clone. |
259 | 259 | ||
260 | This driver can also be built as a module. If so, the module | 260 | This driver can also be built as a module. If so, the module |
261 | will be called it87. | 261 | will be called it87. |
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c index 62afc63708a5..1dd7654cf00b 100644 --- a/drivers/hwmon/it87.c +++ b/drivers/hwmon/it87.c | |||
@@ -6,6 +6,7 @@ | |||
6 | IT8712F Super I/O chip w/LPC interface | 6 | IT8712F Super I/O chip w/LPC interface |
7 | IT8716F Super I/O chip w/LPC interface | 7 | IT8716F Super I/O chip w/LPC interface |
8 | IT8718F Super I/O chip w/LPC interface | 8 | IT8718F Super I/O chip w/LPC interface |
9 | IT8726F Super I/O chip w/LPC interface | ||
9 | Sis950 A clone of the IT8705F | 10 | Sis950 A clone of the IT8705F |
10 | 11 | ||
11 | Copyright (C) 2001 Chris Gauthron <chrisg@0-in.com> | 12 | Copyright (C) 2001 Chris Gauthron <chrisg@0-in.com> |
@@ -97,6 +98,7 @@ superio_exit(void) | |||
97 | #define IT8705F_DEVID 0x8705 | 98 | #define IT8705F_DEVID 0x8705 |
98 | #define IT8716F_DEVID 0x8716 | 99 | #define IT8716F_DEVID 0x8716 |
99 | #define IT8718F_DEVID 0x8718 | 100 | #define IT8718F_DEVID 0x8718 |
101 | #define IT8726F_DEVID 0x8726 | ||
100 | #define IT87_ACT_REG 0x30 | 102 | #define IT87_ACT_REG 0x30 |
101 | #define IT87_BASE_REG 0x60 | 103 | #define IT87_BASE_REG 0x60 |
102 | 104 | ||
@@ -885,6 +887,7 @@ static int __init it87_find(unsigned short *address) | |||
885 | chip_type = superio_inw(DEVID); | 887 | chip_type = superio_inw(DEVID); |
886 | if (chip_type != IT8712F_DEVID | 888 | if (chip_type != IT8712F_DEVID |
887 | && chip_type != IT8716F_DEVID | 889 | && chip_type != IT8716F_DEVID |
890 | && chip_type != IT8726F_DEVID | ||
888 | && chip_type != IT8718F_DEVID | 891 | && chip_type != IT8718F_DEVID |
889 | && chip_type != IT8705F_DEVID) | 892 | && chip_type != IT8705F_DEVID) |
890 | goto exit; | 893 | goto exit; |
@@ -965,6 +968,8 @@ static int it87_detect(struct i2c_adapter *adapter) | |||
965 | data->type = it8712; | 968 | data->type = it8712; |
966 | name = "it8712"; | 969 | name = "it8712"; |
967 | break; | 970 | break; |
971 | case IT8726F_DEVID: | ||
972 | /* fall through */ | ||
968 | case IT8716F_DEVID: | 973 | case IT8716F_DEVID: |
969 | data->type = it8716; | 974 | data->type = it8716; |
970 | name = "it8716"; | 975 | name = "it8716"; |
@@ -1389,7 +1394,7 @@ static void __exit sm_it87_exit(void) | |||
1389 | 1394 | ||
1390 | MODULE_AUTHOR("Chris Gauthron <chrisg@0-in.com>, " | 1395 | MODULE_AUTHOR("Chris Gauthron <chrisg@0-in.com>, " |
1391 | "Jean Delvare <khali@linux-fr.org>"); | 1396 | "Jean Delvare <khali@linux-fr.org>"); |
1392 | MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F, SiS950 driver"); | 1397 | MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8726F, SiS950 driver"); |
1393 | module_param(update_vbat, bool, 0); | 1398 | module_param(update_vbat, bool, 0); |
1394 | MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); | 1399 | MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); |
1395 | module_param(fix_pwm_polarity, bool, 0); | 1400 | module_param(fix_pwm_polarity, bool, 0); |