aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2017-02-08 18:10:27 -0500
committerGuenter Roeck <linux@roeck-us.net>2017-02-11 00:35:08 -0500
commite531ffc0ff796eca578367b1924b03103abdcca4 (patch)
tree61150742039fba03b5cf66fff652d84d30a60203
parent4c7b8ca1ae5ed9e27014732c8a918ba11a86cf09 (diff)
hwmon: (it87) Add support for IT8792E
The chip is similar to IT8732E, but supports only three fans and pwm outputs instead of four (the driver currently does not support the 4th fan and pwm output of IT8732E). Note that the chip ID is 0x8733, not 0x8792 as one would expect. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r--drivers/hwmon/it87.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
index 37acb38b5e17..efb01c247e2d 100644
--- a/drivers/hwmon/it87.c
+++ b/drivers/hwmon/it87.c
@@ -32,6 +32,7 @@
32 * IT8783E/F Super I/O chip w/LPC interface 32 * IT8783E/F Super I/O chip w/LPC interface
33 * IT8786E Super I/O chip w/LPC interface 33 * IT8786E Super I/O chip w/LPC interface
34 * IT8790E Super I/O chip w/LPC interface 34 * IT8790E Super I/O chip w/LPC interface
35 * IT8792E Super I/O chip w/LPC interface
35 * Sis950 A clone of the IT8705F 36 * Sis950 A clone of the IT8705F
36 * 37 *
37 * Copyright (C) 2001 Chris Gauthron 38 * Copyright (C) 2001 Chris Gauthron
@@ -70,8 +71,8 @@
70#define DRVNAME "it87" 71#define DRVNAME "it87"
71 72
72enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732, 73enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732,
73 it8771, it8772, it8781, it8782, it8783, it8786, it8790, it8603, 74 it8771, it8772, it8781, it8782, it8783, it8786, it8790,
74 it8620, it8622, it8628 }; 75 it8792, it8603, it8620, it8622, it8628 };
75 76
76static unsigned short force_id; 77static unsigned short force_id;
77module_param(force_id, ushort, 0); 78module_param(force_id, ushort, 0);
@@ -152,6 +153,7 @@ static inline void superio_exit(int ioreg)
152#define IT8726F_DEVID 0x8726 153#define IT8726F_DEVID 0x8726
153#define IT8728F_DEVID 0x8728 154#define IT8728F_DEVID 0x8728
154#define IT8732F_DEVID 0x8732 155#define IT8732F_DEVID 0x8732
156#define IT8792E_DEVID 0x8733
155#define IT8771E_DEVID 0x8771 157#define IT8771E_DEVID 0x8771
156#define IT8772E_DEVID 0x8772 158#define IT8772E_DEVID 0x8772
157#define IT8781F_DEVID 0x8781 159#define IT8781F_DEVID 0x8781
@@ -423,6 +425,15 @@ static const struct it87_devices it87_devices[] = {
423 | FEAT_PWM_FREQ2, 425 | FEAT_PWM_FREQ2,
424 .peci_mask = 0x07, 426 .peci_mask = 0x07,
425 }, 427 },
428 [it8792] = {
429 .name = "it8792",
430 .suffix = "E",
431 .features = FEAT_NEWER_AUTOPWM | FEAT_16BIT_FANS
432 | FEAT_TEMP_OFFSET | FEAT_TEMP_OLD_PECI | FEAT_TEMP_PECI
433 | FEAT_10_9MV_ADC | FEAT_IN7_INTERNAL,
434 .peci_mask = 0x07,
435 .old_peci_mask = 0x02, /* Actually reports PCH */
436 },
426 [it8603] = { 437 [it8603] = {
427 .name = "it8603", 438 .name = "it8603",
428 .suffix = "E", 439 .suffix = "E",
@@ -2419,6 +2430,9 @@ static int __init it87_find(int sioaddr, unsigned short *address,
2419 case IT8732F_DEVID: 2430 case IT8732F_DEVID:
2420 sio_data->type = it8732; 2431 sio_data->type = it8732;
2421 break; 2432 break;
2433 case IT8792E_DEVID:
2434 sio_data->type = it8792;
2435 break;
2422 case IT8771E_DEVID: 2436 case IT8771E_DEVID:
2423 sio_data->type = it8771; 2437 sio_data->type = it8771;
2424 break; 2438 break;