Back to home page

OSCL-LXR

 
 

    


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.