linux/Documentation/hwmon/adm9240
<<
>>
Prefs
   1Kernel driver adm9240
   2=====================
   3
   4Supported chips:
   5  * Analog Devices ADM9240
   6    Prefix: 'adm9240'
   7    Addresses scanned: I2C 0x2c - 0x2f
   8    Datasheet: Publicly available at the Analog Devices website
   9    http://www.analog.com/UploadedFiles/Data_Sheets/79857778ADM9240_0.pdf
  10
  11  * Dallas Semiconductor DS1780
  12    Prefix: 'ds1780'
  13    Addresses scanned: I2C 0x2c - 0x2f
  14    Datasheet: Publicly available at the Dallas Semiconductor (Maxim) website
  15    http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf
  16
  17  * National Semiconductor LM81
  18    Prefix: 'lm81'
  19    Addresses scanned: I2C 0x2c - 0x2f
  20    Datasheet: Publicly available at the National Semiconductor website
  21    http://www.national.com/ds.cgi/LM/LM81.pdf
  22
  23Authors:
  24    Frodo Looijaard <frodol@dds.nl>,
  25    Philip Edelbrock <phil@netroedge.com>,
  26    Michiel Rook <michiel@grendelproject.nl>,
  27    Grant Coady <gcoady.lk@gmail.com> with guidance
  28        from Jean Delvare <khali@linux-fr.org>
  29
  30Interface
  31---------
  32The I2C addresses listed above assume BIOS has not changed the
  33chip MSB 5-bit address. Each chip reports a unique manufacturer
  34identification code as well as the chip revision/stepping level.
  35
  36Description
  37-----------
  38[From ADM9240] The ADM9240 is a complete system hardware monitor for
  39microprocessor-based systems, providing measurement and limit comparison
  40of up to four power supplies and two processor core voltages, plus
  41temperature, two fan speeds and chassis intrusion. Measured values can
  42be read out via an I2C-compatible serial System Management Bus, and values
  43for limit comparisons can be programmed in over the same serial bus. The
  44high speed successive approximation ADC allows frequent sampling of all
  45analog channels to ensure a fast interrupt response to any out-of-limit
  46measurement.
  47
  48The ADM9240, DS1780 and LM81 are register compatible, the following
  49details are common to the three chips. Chip differences are described
  50after this section.
  51
  52
  53Measurements
  54------------
  55The measurement cycle
  56
  57The adm9240 driver will take a measurement reading no faster than once
  58each two seconds. User-space may read sysfs interface faster than the
  59measurement update rate and will receive cached data from the most
  60recent measurement.
  61
  62ADM9240 has a very fast 320us temperature and voltage measurement cycle
  63with independent fan speed measurement cycles counting alternating rising
  64edges of the fan tacho inputs.
  65
  66DS1780 measurement cycle is about once per second including fan speed.
  67
  68LM81 measurement cycle is about once per 400ms including fan speed.
  69The LM81 12-bit extended temperature measurement mode is not supported.
  70
  71Temperature
  72-----------
  73On chip temperature is reported as degrees Celsius as 9-bit signed data
  74with resolution of 0.5 degrees Celsius. High and low temperature limits
  75are 8-bit signed data with resolution of one degree Celsius.
  76
  77Temperature alarm is asserted once the temperature exceeds the high limit,
  78and is cleared when the temperature falls below the temp1_max_hyst value.
  79
  80Fan Speed
  81---------
  82Two fan tacho inputs are provided, the ADM9240 gates an internal 22.5kHz
  83clock via a divider to an 8-bit counter. Fan speed (rpm) is calculated by:
  84
  85rpm = (22500 * 60) / (count * divider)
  86
  87Automatic fan clock divider
  88
  89  * User sets 0 to fan_min limit
  90    - low speed alarm is disabled
  91    - fan clock divider not changed
  92    - auto fan clock adjuster enabled for valid fan speed reading
  93
  94  * User sets fan_min limit too low
  95    - low speed alarm is enabled
  96    - fan clock divider set to max
  97    - fan_min set to register value 254 which corresponds
  98      to 664 rpm on adm9240
  99    - low speed alarm will be asserted if fan speed is
 100      less than minimum measurable speed
 101    - auto fan clock adjuster disabled
 102
 103  * User sets reasonable fan speed
 104    - low speed alarm is enabled
 105    - fan clock divider set to suit fan_min
 106    - auto fan clock adjuster enabled: adjusts fan_min
 107
 108  * User sets unreasonably high low fan speed limit
 109    - resolution of the low speed limit may be reduced
 110    - alarm will be asserted
 111    - auto fan clock adjuster enabled: adjusts fan_min
 112
 113    * fan speed may be displayed as zero until the auto fan clock divider
 114      adjuster brings fan speed clock divider back into chip measurement
 115      range, this will occur within a few measurement cycles.
 116
 117Analog Output
 118-------------
 119An analog output provides a 0 to 1.25 volt signal intended for an external
 120fan speed amplifier circuit. The analog output is set to maximum value on
 121power up or reset. This doesn't do much on the test Intel SE440BX-2.
 122
 123Voltage Monitor
 124
 125Voltage (IN) measurement is internally scaled:
 126
 127    nr  label       nominal     maximum   resolution
 128                      mV          mV         mV
 129    0   +2.5V        2500        3320       13.0
 130    1   Vccp1        2700        3600       14.1
 131    2   +3.3V        3300        4380       17.2
 132    3     +5V        5000        6640       26.0
 133    4    +12V       12000       15940       62.5
 134    5   Vccp2        2700        3600       14.1
 135
 136The reading is an unsigned 8-bit value, nominal voltage measurement is
 137represented by a reading of 192, being 3/4 of the measurement range.
 138
 139An alarm is asserted for any voltage going below or above the set limits.
 140
 141The driver reports and accepts voltage limits scaled to the above table.
 142
 143VID Monitor
 144-----------
 145The chip has five inputs to read the 5-bit VID and reports the mV value
 146based on detected CPU type.
 147
 148Chassis Intrusion
 149-----------------
 150An alarm is asserted when the CI pin goes active high. The ADM9240
 151Datasheet has an example of an external temperature sensor driving
 152this pin. On an Intel SE440BX-2 the Chassis Intrusion header is
 153connected to a normally open switch.
 154
 155The ADM9240 provides an internal open drain on this line, and may output
 156a 20 ms active low pulse to reset an external Chassis Intrusion latch.
 157
 158Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file.
 159
 160Alarm flags reported as 16-bit word
 161
 162    bit     label               comment
 163    ---     -------------       --------------------------
 164     0      +2.5 V_Error        high or low limit exceeded
 165     1      VCCP_Error          high or low limit exceeded
 166     2      +3.3 V_Error        high or low limit exceeded
 167     3      +5 V_Error          high or low limit exceeded
 168     4      Temp_Error          temperature error
 169     6      FAN1_Error          fan low limit exceeded
 170     7      FAN2_Error          fan low limit exceeded
 171     8      +12 V_Error         high or low limit exceeded
 172     9      VCCP2_Error         high or low limit exceeded
 173    12      Chassis_Error       CI pin went high
 174
 175Remaining bits are reserved and thus undefined. It is important to note
 176that alarm bits may be cleared on read, user-space may latch alarms and
 177provide the end-user with a method to clear alarm memory.
 178
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.