summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/it87.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2017-02-08 16:52:57 -0500
committerGuenter Roeck <linux@roeck-us.net>2017-02-11 00:35:08 -0500
commit8af1abae7275026ae18a8b10084c4410accdb1f0 (patch)
treec58eb2a03eb20a5052ada1ed81d65a20d457dbc5 /drivers/hwmon/it87.c
parenta9eebd4f28ae47b07cce8db16c80ab02fb99ebfc (diff)
hwmon: (it87) Add support for IT8622E
IT8622E is similar to IT8620E, but only supports five pwm controls and five fan tachometers. Originally-from: Kevin Folz <kfolz@evertz.com>. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/it87.c')
-rw-r--r--drivers/hwmon/it87.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
index 3bfa866cc82f..4d9090f89401 100644
--- a/drivers/hwmon/it87.c
+++ b/drivers/hwmon/it87.c
@@ -12,6 +12,7 @@
12 * 12 *
13 * Supports: IT8603E Super I/O chip w/LPC interface 13 * Supports: IT8603E Super I/O chip w/LPC interface
14 * IT8620E Super I/O chip w/LPC interface 14 * IT8620E Super I/O chip w/LPC interface
15 * IT8622E Super I/O chip w/LPC interface
15 * IT8623E Super I/O chip w/LPC interface 16 * IT8623E Super I/O chip w/LPC interface
16 * IT8628E Super I/O chip w/LPC interface 17 * IT8628E Super I/O chip w/LPC interface
17 * IT8705F Super I/O chip w/LPC interface 18 * IT8705F Super I/O chip w/LPC interface
@@ -70,7 +71,7 @@
70 71
71enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732, 72enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732,
72 it8771, it8772, it8781, it8782, it8783, it8786, it8790, it8603, 73 it8771, it8772, it8781, it8782, it8783, it8786, it8790, it8603,
73 it8620, it8628 }; 74 it8620, it8622, it8628 };
74 75
75static unsigned short force_id; 76static unsigned short force_id;
76module_param(force_id, ushort, 0); 77module_param(force_id, ushort, 0);
@@ -160,6 +161,7 @@ static inline void superio_exit(int ioreg)
160#define IT8790E_DEVID 0x8790 161#define IT8790E_DEVID 0x8790
161#define IT8603E_DEVID 0x8603 162#define IT8603E_DEVID 0x8603
162#define IT8620E_DEVID 0x8620 163#define IT8620E_DEVID 0x8620
164#define IT8622E_DEVID 0x8622
163#define IT8623E_DEVID 0x8623 165#define IT8623E_DEVID 0x8623
164#define IT8628E_DEVID 0x8628 166#define IT8628E_DEVID 0x8628
165#define IT87_ACT_REG 0x30 167#define IT87_ACT_REG 0x30
@@ -437,6 +439,15 @@ static const struct it87_devices it87_devices[] = {
437 | FEAT_SIX_TEMP | FEAT_VIN3_5V, 439 | FEAT_SIX_TEMP | FEAT_VIN3_5V,
438 .peci_mask = 0x07, 440 .peci_mask = 0x07,
439 }, 441 },
442 [it8622] = {
443 .name = "it8622",
444 .suffix = "E",
445 .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
446 | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI | FEAT_FIVE_FANS
447 | FEAT_IN7_INTERNAL | FEAT_PWM_FREQ2 | FEAT_AVCC3
448 | FEAT_VIN3_5V,
449 .peci_mask = 0x07,
450 },
440 [it8628] = { 451 [it8628] = {
441 .name = "it8628", 452 .name = "it8628",
442 .suffix = "E", 453 .suffix = "E",
@@ -2418,6 +2429,9 @@ static int __init it87_find(int sioaddr, unsigned short *address,
2418 case IT8620E_DEVID: 2429 case IT8620E_DEVID:
2419 sio_data->type = it8620; 2430 sio_data->type = it8620;
2420 break; 2431 break;
2432 case IT8622E_DEVID:
2433 sio_data->type = it8622;
2434 break;
2421 case IT8628E_DEVID: 2435 case IT8628E_DEVID:
2422 sio_data->type = it8628; 2436 sio_data->type = it8628;
2423 break; 2437 break;