diff options
author | Guenter Roeck <linux@roeck-us.net> | 2017-02-08 16:52:57 -0500 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2017-02-11 00:35:08 -0500 |
commit | 8af1abae7275026ae18a8b10084c4410accdb1f0 (patch) | |
tree | c58eb2a03eb20a5052ada1ed81d65a20d457dbc5 /drivers/hwmon/it87.c | |
parent | a9eebd4f28ae47b07cce8db16c80ab02fb99ebfc (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.c | 16 |
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 | ||
71 | enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732, | 72 | enum 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 | ||
75 | static unsigned short force_id; | 76 | static unsigned short force_id; |
76 | module_param(force_id, ushort, 0); | 77 | module_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; |