Commit 17d648bf authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman

it87: Add support for the IT8716F

it87: Add support for the IT8716F

The IT8716F is a Super-I/O chip with integrated hardware monitoring
functions. It is very similar to the IT8712F, so adding support to the
it87 driver was pretty straightforward. The most significant change here
is that the IT8716F has 16-bit fan speed counters, so the user no more
needs to tweak the fan clock dividers to get the best readings.

Userspace support is already in lm_sensors SVN (to be soon released
as 2.10.1.)

Thanks to Stian Oksavik, Olivier Nicolas, Prakash Punnoor and
Juergen Kilb for testing the early versions of this patch.

Thanks also to ITE for providing datasheets and answering my questions.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 0dd7699e
...@@ -13,6 +13,11 @@ Supported chips: ...@@ -13,6 +13,11 @@ Supported chips:
from Super I/O config space (8 I/O ports) from Super I/O config space (8 I/O ports)
Datasheet: Publicly available at the ITE website Datasheet: Publicly available at the ITE website
http://www.ite.com.tw/ http://www.ite.com.tw/
* IT8716F
Prefix: 'it8716'
Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Publicly available at the ITE website
http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP
* SiS950 [clone of IT8705F] * SiS950 [clone of IT8705F]
Prefix: 'it87' Prefix: 'it87'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
...@@ -43,26 +48,39 @@ Module Parameters ...@@ -43,26 +48,39 @@ Module Parameters
Description Description
----------- -----------
This driver implements support for the IT8705F, IT8712F and SiS950 chips. This driver implements support for the IT8705F, IT8712F, IT8716F and
SiS950 chips.
This driver also supports IT8712F, which adds SMBus access, and a VID
input, used to report the Vcore voltage of the Pentium processor.
The IT8712F additionally features VID inputs.
These chips are 'Super I/O chips', supporting floppy disks, infrared ports, These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
joysticks and other miscellaneous stuff. For hardware monitoring, they joysticks and other miscellaneous stuff. For hardware monitoring, they
include an 'environment controller' with 3 temperature sensors, 3 fan include an 'environment controller' with 3 temperature sensors, 3 fan
rotation speed sensors, 8 voltage sensors, and associated alarms. rotation speed sensors, 8 voltage sensors, and associated alarms.
The IT8712F and IT8716F additionally feature VID inputs, used to report
the Vcore voltage of the processor. The early IT8712F have 5 VID pins,
the IT8716F and late IT8712F have 6. They are shared with other functions
though, so the functionality may not be available on a given system.
The driver dumbly assume it is there.
The IT8716F and later IT8712F revisions have support for 2 additional
fans. They are not yet supported by the driver.
The IT8716F and late IT8712F and IT8705F also have optional 16-bit
tachometer counters for fans 1 to 3. This is better (no more fan
clock divider mess) but not compatible with the older chips and
revisions. For now, the driver only uses the 16-bit mode on the
IT8716F.
Temperatures are measured in degrees Celsius. An alarm is triggered once Temperatures are measured in degrees Celsius. An alarm is triggered once
when the Overtemperature Shutdown limit is crossed. when the Overtemperature Shutdown limit is crossed.
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan triggered if the rotation speed has dropped below a programmable limit. When
readings can be divided by a programmable divider (1, 2, 4 or 8) to give the 16-bit tachometer counters aren't used, fan readings can be divided by
readings more range or accuracy. Not all RPM values can accurately be a programmable divider (1, 2, 4 or 8) to give the readings more range or
represented, so some rounding is done. With a divider of 2, the lowest accuracy. With a divider of 2, the lowest representable value is around
representable value is around 2600 RPM. 2600 RPM. Not all RPM values can accurately be represented, so some rounding
is done.
Voltage sensors (also known as IN sensors) report their values in volts. An Voltage sensors (also known as IN sensors) report their values in volts. An
alarm is triggered if the voltage has crossed a programmable minimum or alarm is triggered if the voltage has crossed a programmable minimum or
...@@ -71,7 +89,7 @@ zero'; this is important for negative voltage measurements. All voltage ...@@ -71,7 +89,7 @@ zero'; this is important for negative voltage measurements. All voltage
inputs can measure voltages between 0 and 4.08 volts, with a resolution of inputs can measure voltages between 0 and 4.08 volts, with a resolution of
0.016 volt. The battery voltage in8 does not have limit registers. 0.016 volt. The battery voltage in8 does not have limit registers.
The VID lines (IT8712F only) encode the core voltage value: the voltage The VID lines (IT8712F/IT8716F) encode the core voltage value: the voltage
level your processor should work with. This is hardcoded by the mainboard level your processor should work with. This is hardcoded by the mainboard
and/or processor itself. It is a value in volts. and/or processor itself. It is a value in volts.
......
...@@ -186,8 +186,8 @@ config SENSORS_IT87 ...@@ -186,8 +186,8 @@ config SENSORS_IT87
select I2C_ISA select I2C_ISA
select HWMON_VID select HWMON_VID
help help
If you say yes here you get support for ITE IT87xx sensor chips If you say yes here you get support for ITE IT8705F, IT8712F and
and clones: SiS960. IT8716F sensor chips, and the SiS960 clone.
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called it87. will be called it87.
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment