0001 Kernel driver thmc50
0002 =====================
0003
0004 Supported chips:
0005
0006 * Analog Devices ADM1022
0007
0008 Prefix: 'adm1022'
0009
0010 Addresses scanned: I2C 0x2c - 0x2e
0011
0012 Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html
0013
0014 * Texas Instruments THMC50
0015
0016 Prefix: 'thmc50'
0017
0018 Addresses scanned: I2C 0x2c - 0x2e
0019
0020 Datasheet: https://www.ti.com/
0021
0022
0023 Author: Krzysztof Helt <krzysztof.h1@wp.pl>
0024
0025 This driver was derived from the 2.4 kernel thmc50.c source file.
0026
0027 Credits:
0028
0029 thmc50.c (2.4 kernel):
0030
0031 - Frodo Looijaard <frodol@dds.nl>
0032 - Philip Edelbrock <phil@netroedge.com>
0033
0034 Module Parameters
0035 -----------------
0036
0037 * adm1022_temp3: short array
0038 List of adapter,address pairs to force chips into ADM1022 mode with
0039 second remote temperature. This does not work for original THMC50 chips.
0040
0041 Description
0042 -----------
0043
0044 The THMC50 implements: an internal temperature sensor, support for an
0045 external diode-type temperature sensor (compatible w/ the diode sensor inside
0046 many processors), and a controllable fan/analog_out DAC. For the temperature
0047 sensors, limits can be set through the appropriate Overtemperature Shutdown
0048 register and Hysteresis register. Each value can be set and read to half-degree
0049 accuracy. An alarm is issued (usually to a connected LM78) when the
0050 temperature gets higher then the Overtemperature Shutdown value; it stays on
0051 until the temperature falls below the Hysteresis value. All temperatures are in
0052 degrees Celsius, and are guaranteed within a range of -55 to +125 degrees.
0053
0054 The THMC50 only updates its values each 1.5 seconds; reading it more often
0055 will do no harm, but will return 'old' values.
0056
0057 The THMC50 is usually used in combination with LM78-like chips, to measure
0058 the temperature of the processor(s).
0059
0060 The ADM1022 works the same as THMC50 but it is faster (5 Hz instead of
0061 1 Hz for THMC50). It can be also put in a new mode to handle additional
0062 remote temperature sensor. The driver use the mode set by BIOS by default.
0063
0064 In case the BIOS is broken and the mode is set incorrectly, you can force
0065 the mode with additional remote temperature with adm1022_temp3 parameter.
0066 A typical symptom of wrong setting is a fan forced to full speed.
0067
0068 Driver Features
0069 ---------------
0070
0071 The driver provides up to three temperatures:
0072
0073 temp1
0074 - internal
0075 temp2
0076 - remote
0077 temp3
0078 - 2nd remote only for ADM1022
0079
0080 pwm1
0081 - fan speed (0 = stop, 255 = full)
0082 pwm1_mode
0083 - always 0 (DC mode)
0084
0085 The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
0086 so it stops fans even if the value 0 into the ANALOG_OUT register does not.
0087
0088 The driver was tested on Compaq AP550 with two ADM1022 chips (one works
0089 in the temp3 mode), five temperature readings and two fans.