cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

thmc50.rst (2671B)


      1Kernel driver thmc50
      2=====================
      3
      4Supported chips:
      5
      6  * Analog Devices ADM1022
      7
      8    Prefix: 'adm1022'
      9
     10    Addresses scanned: I2C 0x2c - 0x2e
     11
     12    Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html
     13
     14  * Texas Instruments THMC50
     15
     16    Prefix: 'thmc50'
     17
     18    Addresses scanned: I2C 0x2c - 0x2e
     19
     20    Datasheet: https://www.ti.com/
     21
     22
     23Author: Krzysztof Helt <krzysztof.h1@wp.pl>
     24
     25This driver was derived from the 2.4 kernel thmc50.c source file.
     26
     27Credits:
     28
     29  thmc50.c (2.4 kernel):
     30
     31	- Frodo Looijaard <frodol@dds.nl>
     32	- Philip Edelbrock <phil@netroedge.com>
     33
     34Module Parameters
     35-----------------
     36
     37* adm1022_temp3: short array
     38    List of adapter,address pairs to force chips into ADM1022 mode with
     39    second remote temperature. This does not work for original THMC50 chips.
     40
     41Description
     42-----------
     43
     44The THMC50 implements: an internal temperature sensor, support for an
     45external diode-type temperature sensor (compatible w/ the diode sensor inside
     46many processors), and a controllable fan/analog_out DAC. For the temperature
     47sensors, limits can be set through the appropriate Overtemperature Shutdown
     48register and Hysteresis register. Each value can be set and read to half-degree
     49accuracy.  An alarm is issued (usually to a connected LM78) when the
     50temperature gets higher then the Overtemperature Shutdown value; it stays on
     51until the temperature falls below the Hysteresis value. All temperatures are in
     52degrees Celsius, and are guaranteed within a range of -55 to +125 degrees.
     53
     54The THMC50 only updates its values each 1.5 seconds; reading it more often
     55will do no harm, but will return 'old' values.
     56
     57The THMC50 is usually used in combination with LM78-like chips, to measure
     58the temperature of the processor(s).
     59
     60The ADM1022 works the same as THMC50 but it is faster (5 Hz instead of
     611 Hz for THMC50). It can be also put in a new mode to handle additional
     62remote temperature sensor. The driver use the mode set by BIOS by default.
     63
     64In case the BIOS is broken and the mode is set incorrectly, you can force
     65the mode with additional remote temperature with adm1022_temp3 parameter.
     66A typical symptom of wrong setting is a fan forced to full speed.
     67
     68Driver Features
     69---------------
     70
     71The driver provides up to three temperatures:
     72
     73temp1
     74	- internal
     75temp2
     76	- remote
     77temp3
     78	- 2nd remote only for ADM1022
     79
     80pwm1
     81	- fan speed (0 = stop, 255 = full)
     82pwm1_mode
     83	- always 0 (DC mode)
     84
     85The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
     86so it stops fans even if the value 0 into the ANALOG_OUT register does not.
     87
     88The driver was tested on Compaq AP550 with two ADM1022 chips (one works
     89in the temp3 mode), five temperature readings and two fans.