~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/hwmon/adm9240

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 Kernel driver adm9240
  2 =====================
  3 
  4 Supported 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 
 23 Authors:
 24     Frodo Looijaard <frodol@dds.nl>,
 25     Philip Edelbrock <phil@netroedge.com>,
 26     Michiel Rook <michiel@grendelproject.nl>,
 27     Grant Coady <gcoady@gmail.com> with guidance
 28         from Jean Delvare <khali@linux-fr.org>
 29 
 30 Interface
 31 ---------
 32 The I2C addresses listed above assume BIOS has not changed the
 33 chip MSB 5-bit address. Each chip reports a unique manufacturer
 34 identification code as well as the chip revision/stepping level.
 35 
 36 Description
 37 -----------
 38 [From ADM9240] The ADM9240 is a complete system hardware monitor for
 39 microprocessor-based systems, providing measurement and limit comparison
 40 of up to four power supplies and two processor core voltages, plus
 41 temperature, two fan speeds and chassis intrusion. Measured values can
 42 be read out via an I2C-compatible serial System Management Bus, and values
 43 for limit comparisons can be programmed in over the same serial bus. The
 44 high speed successive approximation ADC allows frequent sampling of all
 45 analog channels to ensure a fast interrupt response to any out-of-limit
 46 measurement.
 47 
 48 The ADM9240, DS1780 and LM81 are register compatible, the following
 49 details are common to the three chips. Chip differences are described
 50 after this section.
 51 
 52 
 53 Measurements
 54 ------------
 55 The measurement cycle
 56 
 57 The adm9240 driver will take a measurement reading no faster than once
 58 each two seconds. User-space may read sysfs interface faster than the
 59 measurement update rate and will receive cached data from the most
 60 recent measurement.
 61 
 62 ADM9240 has a very fast 320us temperature and voltage measurement cycle
 63 with independent fan speed measurement cycles counting alternating rising
 64 edges of the fan tacho inputs.
 65 
 66 DS1780 measurement cycle is about once per second including fan speed.
 67 
 68 LM81 measurement cycle is about once per 400ms including fan speed.
 69 The LM81 12-bit extended temperature measurement mode is not supported.
 70 
 71 Temperature
 72 -----------
 73 On chip temperature is reported as degrees Celsius as 9-bit signed data
 74 with resolution of 0.5 degrees Celsius. High and low temperature limits
 75 are 8-bit signed data with resolution of one degree Celsius.
 76 
 77 Temperature alarm is asserted once the temperature exceeds the high limit,
 78 and is cleared when the temperature falls below the temp1_max_hyst value.
 79 
 80 Fan Speed
 81 ---------
 82 Two fan tacho inputs are provided, the ADM9240 gates an internal 22.5kHz
 83 clock via a divider to an 8-bit counter. Fan speed (rpm) is calculated by:
 84 
 85 rpm = (22500 * 60) / (count * divider)
 86 
 87 Automatic 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 
117 Analog Output
118 -------------
119 An analog output provides a 0 to 1.25 volt signal intended for an external
120 fan speed amplifier circuit. The analog output is set to maximum value on
121 power up or reset. This doesn't do much on the test Intel SE440BX-2.
122 
123 Voltage Monitor
124 
125 Voltage (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 
136 The reading is an unsigned 8-bit value, nominal voltage measurement is
137 represented by a reading of 192, being 3/4 of the measurement range.
138 
139 An alarm is asserted for any voltage going below or above the set limits.
140 
141 The driver reports and accepts voltage limits scaled to the above table.
142 
143 VID Monitor
144 -----------
145 The chip has five inputs to read the 5-bit VID and reports the mV value
146 based on detected CPU type.
147 
148 Chassis Intrusion
149 -----------------
150 An alarm is asserted when the CI pin goes active high. The ADM9240
151 Datasheet has an example of an external temperature sensor driving
152 this pin. On an Intel SE440BX-2 the Chassis Intrusion header is
153 connected to a normally open switch.
154 
155 The ADM9240 provides an internal open drain on this line, and may output
156 a 20 ms active low pulse to reset an external Chassis Intrusion latch.
157 
158 Clear the CI latch by writing value 1 to the sysfs chassis_clear file.
159 
160 Alarm 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 
175 Remaining bits are reserved and thus undefined. It is important to note
176 that alarm bits may be cleared on read, user-space may latch alarms and
177 provide the end-user with a method to clear alarm memory.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.