Commit Graph

68 Commits

Author SHA1 Message Date
Guenter Roeck
4d9b49a4df Blacklist IT8792E on AX370-Gaming K7
Accessing it may result in a system hang.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 14:49:22 -07:00
Guenter Roeck
c242e32088 Disable access to 2nd Super-IO chip
It is known to be broken.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 10:12:52 -07:00
Guenter Roeck
c792ed3cd4 FEAT_TEMP_PECI does not apply to multi-bank chips.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-13 07:05:13 -07:00
Guenter Roeck
44b36fe732 Add support for 11mV ADC
The ADC LSB on some newer chips such as IT8613E and IT8625E is
officially 11mV, not 10.9mV. Add support for it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-13 06:02:32 -07:00
Guenter Roeck
3ceb87c426 Fix up temp offset register addresses
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-12 06:32:49 -07:00
Guenter Roeck
57d4d8b8fa Various improvements
- Acquire acpi mutex (not supported in upstream kernel)
- Try to handle 0x4e access failures on Gigabyte boards
- Improve temperature register / limit / type support for recent chips

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-12 06:15:24 -07:00
Guenter Roeck
416cfbcd4a Add limit support for temp 4-6
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-11 06:48:01 -07:00
Guenter Roeck
96544e8ed5 Register map as CSV
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-11 05:31:28 -07:00
Guenter Roeck
65ec08b8a3 Add register map
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-11 05:28:47 -07:00
Guenter Roeck
75fdbbca75 Add feature flag FEAT_FANCTL_ONOFF
Several recent chips don't support configuration bits to turn fan control
off entirely for the first three fans. Handle all of them with a
configuration flag.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-28 06:28:11 -07:00
Guenter Roeck
dd74adce93 Improve AVCC3 support
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-25 07:05:41 -07:00
Guenter Roeck
2e2228dd1d Preliminary support for IT8655E
Assume it is similar to IT8665E with three instead of six fans.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-22 00:54:35 -07:00
Guenter Roeck
0b5734c661 Update TODO and README files
Add sections about preliminary support and what to report for unsupported
chips to README.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-22 00:43:11 -07:00
Guenter Roeck
3be51e20cb Add support for chip specific register sets
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-22 00:39:08 -07:00
Drew
20dba182dc Added preliminary support for IT8665E
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-22 00:39:06 -07:00
Guenter Roeck
75aed2c2ba Separate internal scaling from 12mV ADC
Some chips have internal voltage scaling but 10.9mV ADC,
so we can no longer associate the 12mV ADC with internal scaling
but need a different flag to distinguish scaling support.

Also fix ADC resolution for IT8790E and IT8792E.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-20 17:45:12 -07:00
Guenter Roeck
4f62f4d0fd Add multi-bank and initial IT8686E support
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-16 10:39:01 -07:00
Guenter Roeck
93d58d34ac Force chip ID only if a chip has been found
If the reported chip ID is 0xffff, there is no chip, and forcing the chip
type does not add value.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-14 10:11:31 -07:00
Guenter Roeck
206f865f2e Update TODO: 4th fan control for IT8732E is now supported
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-11 08:40:01 -08:00
Guenter Roeck
406e764eb0 Add 4th fan control and measurement for IT8732E
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-11 08:39:40 -08:00
Guenter Roeck
b8bbc81f69 Fix feature mask for IT8792E (IT8733E)
The chip features match those of IT8790E. Most important is the
ADC resolution, which is 12 mV, not 10.9 mV.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-03-10 09:06:17 -08:00
Guenter Roeck
294699b7d2 Do not overwrite bit 2..6 of pwm control registers
In IT8620E, after setting pwm control to manual, it was observed that
pwm values for fan 4..6 have reversed results (writing 0 results in fans
running at full speed, writing 255 results in fans turned off).

With the new PWM control, pwm polarity for pwm control 4..6 is specified
in its pwm control registers. Those registers are overwritten when setting
the pwm mode or the temperature mapping. Do not touch bit 2..6 of pwm
control registers on register writes to fix the problem.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-02-08 09:18:22 -08:00
Guenter Roeck
dce3d8968b Fix fan4_ctl detection for IT8620, IT8628
fan4 control is enabled if bit 2 of GPIO control register 4 is disabled,
not when it is enabled. Since the check is for the skip condition, it is
reversed. This applies to both IT8620 and IT8628.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-02-08 06:30:54 -08:00
Guenter Roeck
84bff31dc1 Add TODO file
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-12-28 20:49:32 -08:00
Guenter Roeck
c7994710d1 Experimental support for IT8607E
Assume for now that in5 and in6 are supported, and that fan control
is standard (unlike IT8603E).

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-12-28 20:45:31 -08:00
Guenter Roeck
88d0e632ef Add preliminary support for IT8792E
The chip is similar to IT8732E, but supports only three fans
instead of four (the driver currently does not support the 4th
fan on IT8732E).

Note that the chip ID is 0x8733, not 0x8792 as one would expect.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-12-28 18:32:14 -08:00
Guenter Roeck
bb613ebca4 Ensure that pwm control cache is current before updating values
If sensor attributes were never read, the pwm control data has not been
initiialized, which can cause wrong driver behavior. Ensure that cached
data is current before acting on it.

Reported-by: Kevin Folz <kfolz@evertz.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-26 17:35:56 -07:00
Guenter Roeck
2c50189d95 Improve IT8622 support
Configuration registers on ITE8622 are different to 8620 and 8628 and
require special handling. Also, the chip supports up to 5 pwm controls.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-22 13:51:20 -07:00
Guenter Roeck
b258624689 Add support for IT8622E
Originally-from: Kevin Folz <kfolz@evertz.com>.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-21 08:01:59 -07:00
Guenter Roeck
7eca346314 Update README to match upstream documentation
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-21 07:55:34 -07:00
Guenter Roeck
7e0c088547 Add feature flag indicating that VIN3 is connected to 5V
On IT8622E and IT8628E, VIN3 is expected to be connected to +5V.
Add feature flag and reflect in input label.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-21 06:37:36 -07:00
Guenter Roeck
2ff15f3ed8 Synchronize with upstream version
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-21 06:19:44 -07:00
Guenter Roeck
c8a5344f8d Add support for IT8628E and IT8732F
Also synchronize with upstream version

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-01-26 17:41:35 -08:00
Guenter Roeck
8e7728c7f1 Support for newer autopwm, plus other changes and cleanup
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-04-09 20:32:40 -07:00
Guenter Roeck
1f988c5cb8 Various enhancements, cleanup, and fixes
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-04-05 06:23:26 -07:00
Guenter Roeck
b7f6ebc7eb Rearrange code to avoid forward declarations 2015-03-29 23:26:37 -07:00
Guenter Roeck
1bbf1353fa Fix superio enable sequence for SIO address 0x4e
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-03-29 23:24:02 -07:00
Guenter Roeck
9c1361716e Add support for two Super-IO chips
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-03-28 08:30:47 -07:00
Guenter Roeck
44c6a98613 Various enhancements
Add support for 6 pwm channels on IT8620E
Fix pwm frequency value for newer chips
Add second pwm frequency control for newer chips

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-03-26 20:09:38 -07:00
Guenter Roeck
fd9c7812cd Some cleanup, plus AVCC3 support for ITE8620E
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-03-26 09:35:45 -07:00
Guenter Roeck
42e028d0a9 Experimental support for ITE8790E
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-03-25 23:30:53 -07:00
Guenter Roeck
9ead151c92 Formatting cleanup
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-02-13 12:09:46 -08:00
Guenter Roeck
6200e84c62 sync README with upstream version
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-02-13 11:38:14 -08:00
Guenter Roeck
e92fa72a82 Merge pull request #3 from Zlika/master
Add support for IT8786E
2015-02-13 11:21:00 -08:00
Zlika
99182e9277 Add support for IT8786E. 2015-02-13 13:19:06 +01:00
Guenter Roeck
de7ee3fa74 Add feature flag for VID support
Newer chips don't typically support VID inputs or control.
Add a feature flag for VID support to simplify adding support
for new chips.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-02-12 10:44:26 -08:00
Guenter Roeck
ea3105845e Add feature flags for fan count and 16-bit fan configuration
Fans 4-5 are not supported on all chips and revisions. Also, 16-bit fan
counters only need to be enabled on older chips. Provide feature flags
to simplify adding support for new chips.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-02-12 10:42:29 -08:00
Guenter Roeck
c2ad416240 Add support for IT8781F
IT8781F is mostly compatible to IT8782F. Major difference is that it only
supports four instead of six UART channels, and therefore does not share
the uart6 pins.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-02-12 10:40:02 -08:00
Guenter Roeck
034e27046c Synchronize with upstream version
Also ensure the driver still builds with the latest upstream kernel.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2015-01-17 10:01:10 -08:00
Guenter Roeck
91230349d3 sync w/ upstream, plus preliminary PECI support
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2012-10-30 14:50:41 -07:00