| 1 | Kernel driver `adm9240.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: Complete and tested |
|---|
| 5 | |
|---|
| 6 | Supported chips: |
|---|
| 7 | * Analog Devices ADM9240 |
|---|
| 8 | Prefix `adm9240' |
|---|
| 9 | Addresses scanned: I2C 0x2c - 0x2f (inclusive) |
|---|
| 10 | Datasheet: Publicly available at the Analog Devices website |
|---|
| 11 | * Dallas Semiconductor DS1780 |
|---|
| 12 | Prefix `ds1780' |
|---|
| 13 | Addresses scanned: I2C 0x2c - 0x2f (inclusive) |
|---|
| 14 | Datasheet: Publicly available at the Dallas Semiconductor website |
|---|
| 15 | * National Semiconductor LM81 |
|---|
| 16 | Prefix `lm81' |
|---|
| 17 | Addresses scanned: I2C 0x2c - 0x2f (inclusive) |
|---|
| 18 | Datasheet: Publicly available at the National Semiconductor website |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock |
|---|
| 22 | <phil@netroedge.com> |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | Module Parameters |
|---|
| 26 | ----------------- |
|---|
| 27 | |
|---|
| 28 | * force: short array (min = 1, max = 48) |
|---|
| 29 | List of adapter,address pairs to boldly assume to be present |
|---|
| 30 | * force_adm9240: short array (min = 1, max = 48) |
|---|
| 31 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 32 | a `adm9240' chip |
|---|
| 33 | * force_ds1780: short array (min = 1, max = 48) |
|---|
| 34 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 35 | a `ds1780' chip |
|---|
| 36 | * force_lm81: short array (min = 1, max = 48) |
|---|
| 37 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 38 | a `lm81' chip |
|---|
| 39 | * ignore: short array (min = 1, max = 48) |
|---|
| 40 | List of adapter,address pairs not to scan |
|---|
| 41 | * ignore_range: short array (min = 1, max = 48) |
|---|
| 42 | List of adapter,start-addr,end-addr triples not to scan |
|---|
| 43 | * probe: short array (min = 1, max = 48) |
|---|
| 44 | List of adapter,address pairs to scan additionally |
|---|
| 45 | * probe_range: short array (min = 1, max = 48) |
|---|
| 46 | List of adapter,start-addr,end-addr triples to scan additionally |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | Description |
|---|
| 50 | ----------- |
|---|
| 51 | |
|---|
| 52 | This driver implements support for the Analog Devices ADM9240, |
|---|
| 53 | Dallas Semiconductor DS1780, and National Semiconductor LM81 chips. |
|---|
| 54 | These chips appear to be completely |
|---|
| 55 | identical, except for the manufacturer IDs encoded in two registers, and |
|---|
| 56 | the speed with which they update their sensor readings. |
|---|
| 57 | |
|---|
| 58 | The chips implement six voltage sensors, a temperature sensor, |
|---|
| 59 | two FAN rotation speed sensors, VID lines and some miscellaneous stuff. |
|---|
| 60 | |
|---|
| 61 | Temperatures are measured in degrees Celsius. An alarm is triggered whenever |
|---|
| 62 | the temperature is above the hot limit, and will continue to be generated |
|---|
| 63 | until the temperature has dropped beneath the hysteresis limit. Measurements |
|---|
| 64 | are guaranteed between -40 and +125 degrees. The current temperature |
|---|
| 65 | has a resolution of 0.5 degrees, the limits of 1 degree. |
|---|
| 66 | |
|---|
| 67 | FAN rotation speeds are reported in RPM (rotations per minute). An alarm is |
|---|
| 68 | triggered if the rotation speed has dropped below a programmable limit. FAN |
|---|
| 69 | readings can be divided by a programmable divider (1, 2, 4 or 8) to give |
|---|
| 70 | the readings more range or accuracy. This is important because some FANs |
|---|
| 71 | report only one 'tick' each rotation, while others report two - making |
|---|
| 72 | all readings twice as high. Not all RPM values can accurately be represented, |
|---|
| 73 | so some rounding is done. With a divider of 2, the lowest representable |
|---|
| 74 | value is around 2600 RPM. |
|---|
| 75 | |
|---|
| 76 | Voltage sensors (also known as IN sensors) report their values in volts. |
|---|
| 77 | An alarm is triggered if the voltage has crossed a programmable minimum |
|---|
| 78 | or maximum limit. Note that minimum in this case always means 'closest to |
|---|
| 79 | zero'; this is important for negative voltage measurements. |
|---|
| 80 | IMPORTANT: The current voltage measurement system is very probably broken. |
|---|
| 81 | Please report back to us if you have a ADM9240 or DS1780! |
|---|
| 82 | |
|---|
| 83 | The VID lines encode the core voltage value: the voltage level your processor |
|---|
| 84 | should work with. This is hardcoded by the mainboard and/or processor itself. |
|---|
| 85 | It is a value in volts. When it is unconnected, you will often find the |
|---|
| 86 | value 3.50 V here. |
|---|
| 87 | |
|---|
| 88 | The analog output can be programmed separatedly. It can take values |
|---|
| 89 | between 0 and 255. What it actually does is mainboard-dependent; it |
|---|
| 90 | might influence the FAN-speed. Please report to us whether this is |
|---|
| 91 | the case with your ADM9240. |
|---|
| 92 | |
|---|
| 93 | In addition to the alarms described above, the CHAS alarm triggers |
|---|
| 94 | if your computer case is open. |
|---|
| 95 | |
|---|
| 96 | If an alarm triggers, it will remain triggered until the hardware register |
|---|
| 97 | is read at least once. This means that the cause for the alarm may |
|---|
| 98 | already have disappeared! Note that in the current implementation, all |
|---|
| 99 | hardware registers are read whenever any data is read (unless it is less |
|---|
| 100 | than 1.5 seconds since the last update). This means that you can easily |
|---|
| 101 | miss once-only alarms. |
|---|
| 102 | |
|---|
| 103 | Thes ADM9240 only updates its values every 0.5 seconds; the DS1780 one |
|---|
| 104 | every 2 seconds; and the LM81 every 0.4 seconds. |
|---|
| 105 | Reading them more often will do no harm, but will return |
|---|
| 106 | 'old' values. (NB: theoretically, this could be done much faster for the |
|---|
| 107 | ADM9240, but there is no real reason to do so, and this way the SMBus use |
|---|
| 108 | is kept within reasonable limits) |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | Chip Features |
|---|
| 112 | ------------- |
|---|
| 113 | |
|---|
| 114 | Chip `adm9240' |
|---|
| 115 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 116 | 2.5V NONE NONE R 2 |
|---|
| 117 | Vccp1 NONE NONE R 2 |
|---|
| 118 | 3.3V NONE NONE R 2 |
|---|
| 119 | 5V NONE NONE R 2 |
|---|
| 120 | 12V NONE NONE R 2 |
|---|
| 121 | Vccp2 NONE NONE R 2 |
|---|
| 122 | 2.5V_min 2.5V 2.5V RW 2 |
|---|
| 123 | Vccp1_min Vccp1 Vccp1 RW 2 |
|---|
| 124 | 3.3V_min 3.3V 3.3V RW 2 |
|---|
| 125 | 5V_min 5V 5V RW 2 |
|---|
| 126 | 12V_min 12V 12V RW 2 |
|---|
| 127 | Vccp2_min Vccp2 Vccp2 RW 2 |
|---|
| 128 | 2.5V_max 2.5V 2.5V RW 2 |
|---|
| 129 | Vccp1_max Vccp1 Vccp1 RW 2 |
|---|
| 130 | 3.3V_max 3.3V 3.3V RW 2 |
|---|
| 131 | 5V_max 5V 5V RW 2 |
|---|
| 132 | 12V_max 12V 12V RW 2 |
|---|
| 133 | Vccp2_max Vccp2 Vccp2 RW 2 |
|---|
| 134 | fan1 NONE NONE R 0 |
|---|
| 135 | fan2 NONE NONE R 0 |
|---|
| 136 | fan1_min fan1 fan1 RW 0 |
|---|
| 137 | fan2_min fan2 fan2 RW 0 |
|---|
| 138 | temp NONE NONE R 1 |
|---|
| 139 | temp_hyst temp temp RW 1 |
|---|
| 140 | temp_over temp temp RW 1 |
|---|
| 141 | vid NONE NONE R 2 |
|---|
| 142 | fan1_div fan1 NONE RW 0 |
|---|
| 143 | fan2_div fan2 NONE RW 0 |
|---|
| 144 | alarms NONE NONE R 0 |
|---|
| 145 | analog_out NONE NONE RW 0 |
|---|
| 146 | |
|---|
| 147 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 148 | 2.5V SENSORS_ADM9240_IN0 2.5V:3 |
|---|
| 149 | Vccp1 SENSORS_ADM9240_IN1 Vccp1:3 |
|---|
| 150 | 3.3V SENSORS_ADM9240_IN2 3.3V:3 |
|---|
| 151 | 5V SENSORS_ADM9240_IN3 5V:3 |
|---|
| 152 | 12V SENSORS_ADM9240_IN4 12V:3 |
|---|
| 153 | Vccp2 SENSORS_ADM9240_IN5 Vccp2:3 |
|---|
| 154 | 2.5V_min SENSORS_ADM9240_IN0_MIN 2.5V:1 |
|---|
| 155 | Vccp1_min SENSORS_ADM9240_IN1_MIN Vccp1:1 |
|---|
| 156 | 3.3V_min SENSORS_ADM9240_IN2_MIN 3.3V:1 |
|---|
| 157 | 5V_min SENSORS_ADM9240_IN3_MIN 5V:1 |
|---|
| 158 | 12V_min SENSORS_ADM9240_IN4_MIN 12V:1 |
|---|
| 159 | Vccp2_min SENSORS_ADM9240_IN5_MIN Vccp2:1 |
|---|
| 160 | 2.5V_max SENSORS_ADM9240_IN0_MAX 2.5V:2 |
|---|
| 161 | Vccp1_max SENSORS_ADM9240_IN1_MAX Vccp1:2 |
|---|
| 162 | 3.3V_max SENSORS_ADM9240_IN2_MAX 3.3V:2 |
|---|
| 163 | 5V_max SENSORS_ADM9240_IN3_MAX 5V:2 |
|---|
| 164 | 12V_max SENSORS_ADM9240_IN4_MAX 12V:2 |
|---|
| 165 | Vccp2_max SENSORS_ADM9240_IN5_MAX Vccp2:2 |
|---|
| 166 | fan1 SENSORS_ADM9240_FAN1 fan1:2 |
|---|
| 167 | fan2 SENSORS_ADM9240_FAN2 fan2:2 |
|---|
| 168 | fan1_min SENSORS_ADM9240_FAN1_MIN fan1:1 |
|---|
| 169 | fan2_min SENSORS_ADM9240_FAN2_MIN fan2:1 |
|---|
| 170 | temp SENSORS_ADM9240_TEMP temp:3 |
|---|
| 171 | temp_hyst SENSORS_ADM9240_TEMP_HYST temp:2 |
|---|
| 172 | temp_over SENSORS_ADM9240_TEMP_OVER temp:1 |
|---|
| 173 | vid SENSORS_ADM9240_VID vid:1 |
|---|
| 174 | fan1_div SENSORS_ADM9240_FAN1_DIV fan_div:1 |
|---|
| 175 | fan2_div SENSORS_ADM9240_FAN2_DIV fan_div:2 |
|---|
| 176 | alarms SENSORS_ADM9240_ALARMS alarms:1 |
|---|
| 177 | analog_out SENSORS_ADM9240_ANALOG_OUT analog_out:1 |
|---|
| 178 | |
|---|
| 179 | |
|---|
| 180 | Chip `ds1780' |
|---|
| 181 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 182 | 2.5V NONE NONE R 2 |
|---|
| 183 | Vccp1 NONE NONE R 2 |
|---|
| 184 | 3.3V NONE NONE R 2 |
|---|
| 185 | 5V NONE NONE R 2 |
|---|
| 186 | 12V NONE NONE R 2 |
|---|
| 187 | Vccp2 NONE NONE R 2 |
|---|
| 188 | 2.5V_min 2.5V 2.5V RW 2 |
|---|
| 189 | Vccp1_min Vccp1 Vccp1 RW 2 |
|---|
| 190 | 3.3V_min 3.3V 3.3V RW 2 |
|---|
| 191 | 5V_min 5V 5V RW 2 |
|---|
| 192 | 12V_min 12V 12V RW 2 |
|---|
| 193 | Vccp2_min Vccp2 Vccp2 RW 2 |
|---|
| 194 | 2.5V_max 2.5V 2.5V RW 2 |
|---|
| 195 | Vccp1_max Vccp1 Vccp1 RW 2 |
|---|
| 196 | 3.3V_max 3.3V 3.3V RW 2 |
|---|
| 197 | 5V_max 5V 5V RW 2 |
|---|
| 198 | 12V_max 12V 12V RW 2 |
|---|
| 199 | Vccp2_max Vccp2 Vccp2 RW 2 |
|---|
| 200 | fan1 NONE NONE R 0 |
|---|
| 201 | fan2 NONE NONE R 0 |
|---|
| 202 | fan1_min fan1 fan1 RW 0 |
|---|
| 203 | fan2_min fan2 fan2 RW 0 |
|---|
| 204 | temp NONE NONE R 1 |
|---|
| 205 | temp_hyst temp temp RW 1 |
|---|
| 206 | temp_over temp temp RW 1 |
|---|
| 207 | vid NONE NONE R 2 |
|---|
| 208 | fan1_div fan1 NONE RW 0 |
|---|
| 209 | fan2_div fan2 NONE RW 0 |
|---|
| 210 | alarms NONE NONE R 0 |
|---|
| 211 | analog_out NONE NONE RW 0 |
|---|
| 212 | |
|---|
| 213 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 214 | 2.5V SENSORS_DS1780_IN0 2.5V:3 |
|---|
| 215 | Vccp1 SENSORS_DS1780_IN1 Vccp1:3 |
|---|
| 216 | 3.3V SENSORS_DS1780_IN2 3.3V:3 |
|---|
| 217 | 5V SENSORS_DS1780_IN3 5V:3 |
|---|
| 218 | 12V SENSORS_DS1780_IN4 12V:3 |
|---|
| 219 | Vccp2 SENSORS_DS1780_IN5 Vccp2:3 |
|---|
| 220 | 2.5V_min SENSORS_DS1780_IN0_MIN 2.5V:1 |
|---|
| 221 | Vccp1_min SENSORS_DS1780_IN1_MIN Vccp1:1 |
|---|
| 222 | 3.3V_min SENSORS_DS1780_IN2_MIN 3.3V:1 |
|---|
| 223 | 5V_min SENSORS_DS1780_IN3_MIN 5V:1 |
|---|
| 224 | 12V_min SENSORS_DS1780_IN4_MIN 12V:1 |
|---|
| 225 | Vccp2_min SENSORS_DS1780_IN5_MIN Vccp2:1 |
|---|
| 226 | 2.5V_max SENSORS_DS1780_IN0_MAX 2.5V:2 |
|---|
| 227 | Vccp1_max SENSORS_DS1780_IN1_MAX Vccp1:2 |
|---|
| 228 | 3.3V_max SENSORS_DS1780_IN2_MAX 3.3V:2 |
|---|
| 229 | 5V_max SENSORS_DS1780_IN3_MAX 5V:2 |
|---|
| 230 | 12V_max SENSORS_DS1780_IN4_MAX 12V:2 |
|---|
| 231 | Vccp2_max SENSORS_DS1780_IN5_MAX Vccp2:2 |
|---|
| 232 | fan1 SENSORS_DS1780_FAN1 fan1:2 |
|---|
| 233 | fan2 SENSORS_DS1780_FAN2 fan2:2 |
|---|
| 234 | fan1_min SENSORS_DS1780_FAN1_MIN fan1:1 |
|---|
| 235 | fan2_min SENSORS_DS1780_FAN2_MIN fan2:1 |
|---|
| 236 | temp SENSORS_DS1780_TEMP temp:3 |
|---|
| 237 | temp_hyst SENSORS_DS1780_TEMP_HYST temp:2 |
|---|
| 238 | temp_over SENSORS_DS1780_TEMP_OVER temp:1 |
|---|
| 239 | vid SENSORS_DS1780_VID vid:1 |
|---|
| 240 | fan1_div SENSORS_DS1780_FAN1_DIV fan_div:1 |
|---|
| 241 | fan2_div SENSORS_DS1780_FAN2_DIV fan_div:2 |
|---|
| 242 | alarms SENSORS_DS1780_ALARMS alarms:1 |
|---|
| 243 | analog_out SENSORS_DS1780_ANALOG_OUT analog_out:1 |
|---|
| 244 | |
|---|
| 245 | |
|---|
| 246 | Chip `lm81' |
|---|
| 247 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 248 | 2.5V NONE NONE R 2 |
|---|
| 249 | Vccp1 NONE NONE R 2 |
|---|
| 250 | 3.3V NONE NONE R 2 |
|---|
| 251 | 5V NONE NONE R 2 |
|---|
| 252 | 12V NONE NONE R 2 |
|---|
| 253 | Vccp2 NONE NONE R 2 |
|---|
| 254 | 2.5V_min 2.5V 2.5V RW 2 |
|---|
| 255 | Vccp1_min Vccp1 Vccp1 RW 2 |
|---|
| 256 | 3.3V_min 3.3V 3.3V RW 2 |
|---|
| 257 | 5V_min 5V 5V RW 2 |
|---|
| 258 | 12V_min 12V 12V RW 2 |
|---|
| 259 | Vccp2_min Vccp2 Vccp2 RW 2 |
|---|
| 260 | 2.5V_max 2.5V 2.5V RW 2 |
|---|
| 261 | Vccp1_max Vccp1 Vccp1 RW 2 |
|---|
| 262 | 3.3V_max 3.3V 3.3V RW 2 |
|---|
| 263 | 5V_max 5V 5V RW 2 |
|---|
| 264 | 12V_max 12V 12V RW 2 |
|---|
| 265 | Vccp2_max Vccp2 Vccp2 RW 2 |
|---|
| 266 | fan1 NONE NONE R 0 |
|---|
| 267 | fan2 NONE NONE R 0 |
|---|
| 268 | fan1_min fan1 fan1 RW 0 |
|---|
| 269 | fan2_min fan2 fan2 RW 0 |
|---|
| 270 | temp NONE NONE R 1 |
|---|
| 271 | temp_hyst temp temp RW 1 |
|---|
| 272 | temp_over temp temp RW 1 |
|---|
| 273 | vid NONE NONE R 2 |
|---|
| 274 | fan1_div fan1 NONE RW 0 |
|---|
| 275 | fan2_div fan2 NONE RW 0 |
|---|
| 276 | alarms NONE NONE R 0 |
|---|
| 277 | analog_out NONE NONE RW 0 |
|---|
| 278 | |
|---|
| 279 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 280 | 2.5V SENSORS_ADM9240_IN0 2.5V:3 |
|---|
| 281 | Vccp1 SENSORS_ADM9240_IN1 Vccp1:3 |
|---|
| 282 | 3.3V SENSORS_ADM9240_IN2 3.3V:3 |
|---|
| 283 | 5V SENSORS_ADM9240_IN3 5V:3 |
|---|
| 284 | 12V SENSORS_ADM9240_IN4 12V:3 |
|---|
| 285 | Vccp2 SENSORS_ADM9240_IN5 Vccp2:3 |
|---|
| 286 | 2.5V_min SENSORS_ADM9240_IN0_MIN 2.5V:1 |
|---|
| 287 | Vccp1_min SENSORS_ADM9240_IN1_MIN Vccp1:1 |
|---|
| 288 | 3.3V_min SENSORS_ADM9240_IN2_MIN 3.3V:1 |
|---|
| 289 | 5V_min SENSORS_ADM9240_IN3_MIN 5V:1 |
|---|
| 290 | 12V_min SENSORS_ADM9240_IN4_MIN 12V:1 |
|---|
| 291 | Vccp2_min SENSORS_ADM9240_IN5_MIN Vccp2:1 |
|---|
| 292 | 2.5V_max SENSORS_ADM9240_IN0_MAX 2.5V:2 |
|---|
| 293 | Vccp1_max SENSORS_ADM9240_IN1_MAX Vccp1:2 |
|---|
| 294 | 3.3V_max SENSORS_ADM9240_IN2_MAX 3.3V:2 |
|---|
| 295 | 5V_max SENSORS_ADM9240_IN3_MAX 5V:2 |
|---|
| 296 | 12V_max SENSORS_ADM9240_IN4_MAX 12V:2 |
|---|
| 297 | Vccp2_max SENSORS_ADM9240_IN5_MAX Vccp2:2 |
|---|
| 298 | fan1 SENSORS_ADM9240_FAN1 fan1:2 |
|---|
| 299 | fan2 SENSORS_ADM9240_FAN2 fan2:2 |
|---|
| 300 | fan1_min SENSORS_ADM9240_FAN1_MIN fan1:1 |
|---|
| 301 | fan2_min SENSORS_ADM9240_FAN2_MIN fan2:1 |
|---|
| 302 | temp SENSORS_ADM9240_TEMP temp:3 |
|---|
| 303 | temp_hyst SENSORS_ADM9240_TEMP_HYST temp:2 |
|---|
| 304 | temp_over SENSORS_ADM9240_TEMP_OVER temp:1 |
|---|
| 305 | vid SENSORS_ADM9240_VID vid:1 |
|---|
| 306 | fan1_div SENSORS_ADM9240_FAN1_DIV fan_div:1 |
|---|
| 307 | fan2_div SENSORS_ADM9240_FAN2_DIV fan_div:2 |
|---|
| 308 | alarms SENSORS_ADM9240_ALARMS alarms:1 |
|---|
| 309 | analog_out SENSORS_ADM9240_ANALOG_OUT analog_out:1 |
|---|
| 310 | |
|---|
| 311 | |
|---|
| 312 | |
|---|
| 313 | |
|---|
| 314 | Old Documentation |
|---|
| 315 | ----------------- |
|---|
| 316 | |
|---|
| 317 | Supports the Analog Devices ADM9240 and the Dallas Semiconductor DS1780. |
|---|
| 318 | These chips are apparently identical except for the manufacturer ID |
|---|
| 319 | register. |
|---|
| 320 | The proc directory will be adm9240-i2c-x-xx for the adm9240 and |
|---|
| 321 | ds1780-i2c-x-xx for the ds1780. |
|---|
| 322 | |
|---|
| 323 | ----------------------------------------------------------------------- |
|---|
| 324 | |
|---|
| 325 | This file documents the adm9240 directories for the Analog Devices |
|---|
| 326 | ADM9240 hardware health monitoring chip found on some Intel mainboards |
|---|
| 327 | (and others?). |
|---|
| 328 | |
|---|
| 329 | There will be one directory created for each detected ADM9240 chip. |
|---|
| 330 | Each chip must be on the SMBus. Directories are called things |
|---|
| 331 | like adm9240-i2c-1-2c. /proc/sys/dev/sensors/chips contains the SYSCTL |
|---|
| 332 | values for all chip directories. |
|---|
| 333 | |
|---|
| 334 | Within each ADM9240 directory, you can find the following files: |
|---|
| 335 | * alarms (ADM9240_SYSCTL_ALARMS) |
|---|
| 336 | A number which indicates which alarms are on. An alarm gets triggered when |
|---|
| 337 | some limit has been crossed. This number is composed from a 16 bit |
|---|
| 338 | value which is the combination of the Interrupt Status Register 1 |
|---|
| 339 | (low byte) and 2 (high byte). |
|---|
| 340 | This file can not be written to. |
|---|
| 341 | The number is the logical OR of the following components (bit # |
|---|
| 342 | followed by a description): |
|---|
| 343 | |
|---|
| 344 | 0 +2.5 V_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 345 | 1 VCCP_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 346 | 2 +3.3 V_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 347 | 3 +5 V_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 348 | 4 Temp_Error Read Only A "1" indicates that a temperature interrupt has been set. |
|---|
| 349 | 5 Reserved Read Only Undefined. |
|---|
| 350 | 6 FAN1_Error Read Only A "1" indicates that a fan count limit has been exceeded. |
|---|
| 351 | 7 FAN2_Error Read Only A "1" indicates that a fan count limit has been exceeded. |
|---|
| 352 | 8 +12 V_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 353 | 9 VCCP2_Error Read Only A "1" indicates a high or low limit has been exceeded. |
|---|
| 354 | 10 Reserved Read Only Undefined. |
|---|
| 355 | 11 Reserved Read Only Undefined. |
|---|
| 356 | 12 Chassis_Error Read Only A "1" indicates chassis intrusion has gone high. |
|---|
| 357 | 13 Reserved Read Only Undefined. |
|---|
| 358 | 14 Reserved Read Only Undefined. |
|---|
| 359 | 15 Reserved Read Only Undefined. |
|---|
| 360 | |
|---|
| 361 | If accessed through sysctl, this value is a long. |
|---|
| 362 | * fan[1-3] (ADM9240_SYSCTL_FAN[1-2]) |
|---|
| 363 | A list of two numbers. The first is the minimum fan rotation limit; the |
|---|
| 364 | second is the current fan rotation speed. Both are in RPM (rotations per |
|---|
| 365 | minute). An alarm is triggered if the rotation speed drops below the |
|---|
| 366 | limit. The first value can be changed. Not all RPM values can accurately |
|---|
| 367 | be represented, so some rounding is done. |
|---|
| 368 | If accessed through sysctl, this is a list of longs. |
|---|
| 369 | * fan_div (LM78_SYSCTL_FAN_DIV) |
|---|
| 370 | A list of two numbers, one for each fan. Each number can be either 1, 2, |
|---|
| 371 | 4 or 8. It is the internal scaling factor used for the FAN rotations. If |
|---|
| 372 | you change this number, the FAN readings get more or less detailed, but |
|---|
| 373 | the range in which they can be read too. Higher numbers give better |
|---|
| 374 | resolution, but less range. The first two numbers can be changed, the |
|---|
| 375 | third not. |
|---|
| 376 | If accessed through sysctl, this is a list of longs. |
|---|
| 377 | * 2.5V, Vccp1, 3.3V, 5V, 12V, and Vccp2 (ADM9240_SYSCTL_IN[0-5] in the |
|---|
| 378 | order shown) |
|---|
| 379 | A list of three numbers. The first is the minimum limit, the second is the |
|---|
| 380 | maximum limit, and the third is the current value. Note that |
|---|
| 381 | minimum means 'closest to zero'; so if the normal value equals -10, a |
|---|
| 382 | minimum could equal -9, and a maximum -11. Vccp1 and Vccp2 reflect core |
|---|
| 383 | voltages; they are by default set from the vid values, or set to 2.80V |
|---|
| 384 | if the vid lines seem to be unconnected. Not all voltage values |
|---|
| 385 | can be accurately represented, so some rounding is done. |
|---|
| 386 | The first two numbers can be changed, the third not. |
|---|
| 387 | If accessed through sysctl, this is a list of longs, each being the voltage |
|---|
| 388 | times 100. |
|---|
| 389 | * temp |
|---|
| 390 | A list of three numbers. The first number is the Overtemperature Shutdown |
|---|
| 391 | value; the second is the Hysteresis value and the third number is the |
|---|
| 392 | current value. The first two values can be modified. All values are in |
|---|
| 393 | degrees Celsius. An alarm is issued when the temperature first gets above |
|---|
| 394 | the Overtemperature Shutdown value; no more alarms are issued until the |
|---|
| 395 | temperature gets below the Hysteresis value, at which moment another alarm |
|---|
| 396 | is issued, and the state is reset. A more useful behaviour can be found |
|---|
| 397 | by setting the Hysteresis value to +127 degrees Celsius; in this case, |
|---|
| 398 | alarms are issued during all the time when the actual temperature is |
|---|
| 399 | above the Overtemperature Shutdown value. |
|---|
| 400 | The first two numbers can be changed, the third not. |
|---|
| 401 | If accessed through sysctl, this is a list of longs, each being the |
|---|
| 402 | temperature in degrees Celsius times 10. |
|---|
| 403 | * vid |
|---|
| 404 | The core voltage value (the voltage level your processor should work with), |
|---|
| 405 | in volts. This is the value IN0 and IN1 are initialized to. If unconnected, |
|---|
| 406 | it usually reads 3.50V. |
|---|
| 407 | This number can not be changed. |
|---|
| 408 | If accessed through sysctl, this is a long, being the voltage times 100. |
|---|
| 409 | * analog_out |
|---|
| 410 | This is feature is specific to the ADM9240. It is a DAC voltage |
|---|
| 411 | control register for the Analog-Out pin. Valid values are from 255 |
|---|
| 412 | to 0 (with 255 being the highest voltage, and 0 the lowest). From |
|---|
| 413 | the docs: "The ADM9240 has a single analog output from an unsigned |
|---|
| 414 | 8-bit DAC which produces 0 V - 1.25 V." |
|---|
| 415 | |
|---|
| 416 | The data for each ADM9240 is updated each 1.5 seconds, |
|---|
| 417 | but only if it is actually read. |
|---|
| 418 | |
|---|
| 419 | Note: Much of this documentation is copied from the LM78 documenation |
|---|
| 420 | (the device from which most featuers of the ADM9240 is modelled from). |
|---|
| 421 | The maintainer of the ADM9240 is Philip Edelbrock |
|---|
| 422 | <phil@netroedge.com>; please forward corrections, suggestions, etc. |
|---|
| 423 | to him. For further technical information on this chip, I suggest |
|---|
| 424 | getting the Acrobat PDF documentation from www.analog.com. |
|---|
| 425 | |
|---|
| 426 | Dallas documentation is at http://www.dalsemi.com. |
|---|