-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hwmon: New driver for Analog Devices ADT7473 sensor chip
This driver reports voltage, temperature and fan sensor readings on an ADT7473 chip. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
- Loading branch information
Darrick J. Wong
authored and
Mark M. Hoffman
committed
Feb 19, 2008
1 parent
ae77015
commit 57df46d
Showing
4 changed files
with
1,247 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
Kernel driver adt7473 | ||
====================== | ||
|
||
Supported chips: | ||
* Analog Devices ADT7473 | ||
Prefix: 'adt7473' | ||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E | ||
Datasheet: Publicly available at the Analog Devices website | ||
|
||
Author: Darrick J. Wong | ||
|
||
Description | ||
----------- | ||
|
||
This driver implements support for the Analog Devices ADT7473 chip family. | ||
|
||
The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 | ||
specification. Using an analog to digital converter it measures three (3) | ||
temperatures and two (2) voltages. It has three (3) 16-bit counters for | ||
measuring fan speed. There are three (3) PWM outputs that can be used | ||
to control fan speed. | ||
|
||
A sophisticated control system for the PWM outputs is designed into the | ||
LM85 that allows fan speed to be adjusted automatically based on any of the | ||
three temperature sensors. Each PWM output is individually adjustable and | ||
programmable. Once configured, the ADT7473 will adjust the PWM outputs in | ||
response to the measured temperatures without further host intervention. | ||
This feature can also be disabled for manual control of the PWM's. | ||
|
||
Each of the measured inputs (voltage, temperature, fan speed) has | ||
corresponding high/low limit values. The ADT7473 will signal an ALARM if | ||
any measured value exceeds either limit. | ||
|
||
The ADT7473 samples all inputs continuously. The driver will not read | ||
the registers more often than once every other second. Further, | ||
configuration data is only read once per minute. | ||
|
||
Special Features | ||
---------------- | ||
|
||
The ADT7473 have a 10-bit ADC and can therefore measure temperatures | ||
with 0.25 degC resolution. Temperature readings can be configured either | ||
for twos complement format or "Offset 64" format, wherein 63 is subtracted | ||
from the raw value to get the temperature value. | ||
|
||
The Analog Devices datasheet is very detailed and describes a procedure for | ||
determining an optimal configuration for the automatic PWM control. | ||
|
||
Hardware Configurations | ||
----------------------- | ||
|
||
The ADT7473 chips have an optional SMBALERT output that can be used to | ||
signal the chipset in case a limit is exceeded or the temperature sensors | ||
fail. Individual sensor interrupts can be masked so they won't trigger | ||
SMBALERT. The SMBALERT output if configured replaces the PWM2 function. | ||
|
||
Configuration Notes | ||
------------------- | ||
|
||
Besides standard interfaces driver adds the following: | ||
|
||
* PWM Control | ||
|
||
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and | ||
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp - | ||
|
||
point1: Set the pwm speed at a lower temperature bound. | ||
point2: Set the pwm speed at a higher temperature bound. | ||
|
||
The ADT7473 will scale the pwm between the lower and higher pwm speed when | ||
the temperature is between the two temperature boundaries. PWM values range | ||
from 0 (off) to 255 (full speed). | ||
|
||
Notes | ||
----- | ||
|
||
The NVIDIA binary driver presents an ADT7473 chip via an on-card i2c bus. | ||
Unfortunately, they fail to set the i2c adapter class, so this driver may | ||
fail to find the chip until the nvidia driver is patched. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.