| 1 | Kernel driver `adm1021.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: Complete; tested for most devices except Xeon. |
|---|
| 5 | |
|---|
| 6 | Supported chips: |
|---|
| 7 | * Analog Devices ADM1021 |
|---|
| 8 | Prefix: 'adm1021' |
|---|
| 9 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 10 | Datasheet: Publicly available at the Analog Devices website |
|---|
| 11 | * Analog Devices ADM1021A/ADM1023 |
|---|
| 12 | Prefix: 'adm1023' |
|---|
| 13 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 14 | Datasheet: Publicly available at the Analog Devices website |
|---|
| 15 | * Genesys Logic GL523SM |
|---|
| 16 | Prefix: 'gl523sm' |
|---|
| 17 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 18 | Datasheet: |
|---|
| 19 | * Intel Xeon Processor |
|---|
| 20 | Prefix - any other - may require 'force_adm1021' parameter - |
|---|
| 21 | see MODPARMS and xeontemp files for more information |
|---|
| 22 | Addresses scanned: none |
|---|
| 23 | Datasheet: Publicly available at Intel website |
|---|
| 24 | Status: Alpha, untested. |
|---|
| 25 | * Maxim MAX1617 |
|---|
| 26 | Prefix: 'max1617' |
|---|
| 27 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 28 | Datasheet: Publicly available at the Maxim website |
|---|
| 29 | * Maxim MAX1617A |
|---|
| 30 | Prefix: 'max1617a' |
|---|
| 31 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 32 | Datasheet: Publicly available at the Maxim website |
|---|
| 33 | * National Semiconductor LM84 |
|---|
| 34 | Prefix: 'lm84' |
|---|
| 35 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 36 | Datasheet: Publicly available at the National Semiconductor website |
|---|
| 37 | * Philips NE1617 |
|---|
| 38 | Prefix: 'max1617' (probably detected as a max1617) |
|---|
| 39 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 40 | Datasheet: Publicly available at the Philips website |
|---|
| 41 | * Philips NE1617A |
|---|
| 42 | Prefix: 'max1617' (probably detected as a max1617) |
|---|
| 43 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 44 | Datasheet: Publicly available at the Philips website |
|---|
| 45 | * TI THMC10 |
|---|
| 46 | Prefix: 'thmc10' |
|---|
| 47 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 48 | Datasheet: Publicly available at the TI website |
|---|
| 49 | * Onsemi MC1066 |
|---|
| 50 | Prefix: 'mc1066' |
|---|
| 51 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
|---|
| 52 | Datasheet: Publicly available at the Onsemi website |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock |
|---|
| 56 | <phil@netroedge.com> |
|---|
| 57 | |
|---|
| 58 | License: GPL |
|---|
| 59 | |
|---|
| 60 | |
|---|
| 61 | Module Parameters |
|---|
| 62 | ----------------- |
|---|
| 63 | |
|---|
| 64 | * force: short array (min = 1, max = 48) |
|---|
| 65 | List of adapter,address pairs to boldly assume to be present |
|---|
| 66 | * force_adm1021: short array (min = 1, max = 48) |
|---|
| 67 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 68 | a `adm1021' chip |
|---|
| 69 | * force_adm1023: short array (min = 1, max = 48) |
|---|
| 70 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 71 | a `adm1023' chip |
|---|
| 72 | * force_max1617: short array (min = 1, max = 48) |
|---|
| 73 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 74 | a `max1617' chip |
|---|
| 75 | * force_max1617a: short array (min = 1, max = 48) |
|---|
| 76 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 77 | a `max1617a' chip |
|---|
| 78 | * force_thmc10: short array (min = 1, max = 48) |
|---|
| 79 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 80 | a `thmc10' chip |
|---|
| 81 | * force_lm84: short array (min = 1, max = 48) |
|---|
| 82 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 83 | a `lm84' chip |
|---|
| 84 | * force_gl523sm: short array (min = 1, max = 48) |
|---|
| 85 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 86 | a `gl523sm' chip |
|---|
| 87 | * force_mc1066: short array (min = 1, max = 48) |
|---|
| 88 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 89 | a `mc1066' chip |
|---|
| 90 | * probe: short array (min = 1, max = 48) |
|---|
| 91 | List of adapter,address pairs to scan additionally |
|---|
| 92 | * probe_range: short array (min = 1, max = 48) |
|---|
| 93 | List of adapter,start-addr,end-addr triples to scan additionally |
|---|
| 94 | * ignore: short array (min = 1, max = 48) |
|---|
| 95 | List of adapter,address pairs not to scan |
|---|
| 96 | * ignore_range: short array (min = 1, max = 48) |
|---|
| 97 | List of adapter,start-addr,end-addr triples not to scan |
|---|
| 98 | * read_only: int |
|---|
| 99 | Don't set any values, read only mode |
|---|
| 100 | |
|---|
| 101 | |
|---|
| 102 | Description |
|---|
| 103 | ----------- |
|---|
| 104 | |
|---|
| 105 | The chips supported by this driver are very similar. The Maxim MAX1617 |
|---|
| 106 | is the oldest; it has the problem that it is not very well detectable. |
|---|
| 107 | The MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A. |
|---|
| 108 | Ditto for the THMC10. |
|---|
| 109 | From here on, we will refer to all these chips as ADM1021-clones. |
|---|
| 110 | |
|---|
| 111 | ADM1021-clones implement two temperature sensors. One of them is internal, |
|---|
| 112 | and measures the temperature of the chip itself; the other is external |
|---|
| 113 | and is realised in the form of a transistor-like device. A special alarm |
|---|
| 114 | indicates whether the remote sensor is connected. |
|---|
| 115 | |
|---|
| 116 | Each sensor has its own low and high limits. When they are crossed, the |
|---|
| 117 | corresponding alarm is set and remains on as long as the temperature stays |
|---|
| 118 | out of range. Temperatures are measured in degrees Celsius. Measurements |
|---|
| 119 | are possible between -65 and +127 degrees, with a resolution of one degree. |
|---|
| 120 | |
|---|
| 121 | The ADM1021 reports a die code, which is a sort of revision code. This |
|---|
| 122 | can help us pinpoint problems; it is not very useful otherwise. |
|---|
| 123 | |
|---|
| 124 | If an alarm triggers, it will remain triggered until the hardware register |
|---|
| 125 | is read at least once. This means that the cause for the alarm may |
|---|
| 126 | already have disappeared! |
|---|
| 127 | |
|---|
| 128 | This driver only updates its values each 1.5 seconds; reading it more often |
|---|
| 129 | will do no harm, but will return 'old' values. It is possible to make |
|---|
| 130 | ADM1021-clones do faster measurements, but there is really no good reason |
|---|
| 131 | for that. |
|---|
| 132 | |
|---|
| 133 | |
|---|
| 134 | Xeon support |
|---|
| 135 | ------------ |
|---|
| 136 | Some Xeon processors have real max1617, adm1021, or compatible chips |
|---|
| 137 | with in them, with two temperature sensors. |
|---|
| 138 | |
|---|
| 139 | Other Xeons have chips with only one sensor. |
|---|
| 140 | |
|---|
| 141 | If you have a Xeon, and the adm1021 module loads, and both |
|---|
| 142 | temperatures appear valid, then things are good. |
|---|
| 143 | |
|---|
| 144 | If the adm1021 module doesn't load, you should try two things: |
|---|
| 145 | 1) modprobe adm1021 force_adm1021=BUS,ADDRESS |
|---|
| 146 | ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. |
|---|
| 147 | See if you have one or two valid temperatures |
|---|
| 148 | |
|---|
| 149 | 2) modprobe xeontemp |
|---|
| 150 | See if you have one valid temperature. |
|---|
| 151 | |
|---|
| 152 | If you have dual Xeons you may have appear to have two separate |
|---|
| 153 | adm1021-compatible chips, or two single-temperature sensors, |
|---|
| 154 | at distinct addresses. |
|---|
| 155 | |
|---|
| 156 | Pick the best module for your processor based on the results. |
|---|
| 157 | See the xeontemp documentation for further information. |
|---|
| 158 | |
|---|
| 159 | |
|---|
| 160 | Chip Features |
|---|
| 161 | ------------- |
|---|
| 162 | |
|---|
| 163 | Chip 'adm1021' |
|---|
| 164 | |
|---|
| 165 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 166 | temp - - R- 0 |
|---|
| 167 | temp_low temp temp RW 0 |
|---|
| 168 | temp_over temp temp RW 0 |
|---|
| 169 | remote_temp - - R- 0 |
|---|
| 170 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 171 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 172 | alarms - - R- 0 |
|---|
| 173 | die_code - - R- 0 |
|---|
| 174 | |
|---|
| 175 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 176 | temp SENSORS_ADM1021_TEMP temp1:3 |
|---|
| 177 | temp_low SENSORS_ADM1021_TEMP_HYST temp1:2 |
|---|
| 178 | temp_over SENSORS_ADM1021_TEMP_OVER temp1:1 |
|---|
| 179 | remote_temp SENSORS_ADM1021_REMOTE_TEMP temp2:3 |
|---|
| 180 | remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST temp2:2 |
|---|
| 181 | remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER temp2:1 |
|---|
| 182 | alarms SENSORS_ADM1021_ALARMS alarms:1 |
|---|
| 183 | die_code SENSORS_ADM1021_DIE_CODE die_code:1 |
|---|
| 184 | |
|---|
| 185 | |
|---|
| 186 | Chip 'adm1023' |
|---|
| 187 | |
|---|
| 188 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 189 | temp - - R- 0 |
|---|
| 190 | temp_low temp temp RW 0 |
|---|
| 191 | temp_over temp temp RW 0 |
|---|
| 192 | remote_temp - - R- 3 |
|---|
| 193 | remote_temp_low remote_temp remote_temp RW 3 |
|---|
| 194 | remote_temp_over remote_temp remote_temp RW 3 |
|---|
| 195 | alarms - - R- 0 |
|---|
| 196 | |
|---|
| 197 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 198 | temp SENSORS_ADM1021_TEMP temp1:3 |
|---|
| 199 | temp_low SENSORS_ADM1021_TEMP_HYST temp1:2 |
|---|
| 200 | temp_over SENSORS_ADM1021_TEMP_OVER temp1:1 |
|---|
| 201 | remote_temp SENSORS_ADM1021_REMOTE_TEMP temp2:4 |
|---|
| 202 | remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST temp2:2 |
|---|
| 203 | remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER temp2:1 |
|---|
| 204 | alarms SENSORS_ADM1021_ALARMS alarms:1 |
|---|
| 205 | |
|---|
| 206 | |
|---|
| 207 | Chip 'max1617' |
|---|
| 208 | |
|---|
| 209 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 210 | temp - - R- 0 |
|---|
| 211 | temp_low temp temp RW 0 |
|---|
| 212 | temp_over temp temp RW 0 |
|---|
| 213 | remote_temp - - R- 0 |
|---|
| 214 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 215 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 216 | alarms - - R- 0 |
|---|
| 217 | |
|---|
| 218 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 219 | temp SENSORS_MAX1617_TEMP temp1:3 |
|---|
| 220 | temp_low SENSORS_MAX1617_TEMP_HYST temp1:2 |
|---|
| 221 | temp_over SENSORS_MAX1617_TEMP_OVER temp1:1 |
|---|
| 222 | remote_temp SENSORS_MAX1617_REMOTE_TEMP temp2:3 |
|---|
| 223 | remote_temp_low SENSORS_MAX1617_REMOTE_TEMP_HYST temp2:2 |
|---|
| 224 | remote_temp_over SENSORS_MAX1617_REMOTE_TEMP_OVER temp2:1 |
|---|
| 225 | alarms SENSORS_MAX1617_ALARMS alarms:1 |
|---|
| 226 | |
|---|
| 227 | |
|---|
| 228 | Chip 'max1617a' |
|---|
| 229 | |
|---|
| 230 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 231 | temp - - R- 0 |
|---|
| 232 | temp_low temp temp RW 0 |
|---|
| 233 | temp_over temp temp RW 0 |
|---|
| 234 | remote_temp - - R- 0 |
|---|
| 235 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 236 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 237 | alarms - - R- 0 |
|---|
| 238 | |
|---|
| 239 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 240 | temp SENSORS_MAX1617A_TEMP temp1:3 |
|---|
| 241 | temp_low SENSORS_MAX1617A_TEMP_HYST temp1:2 |
|---|
| 242 | temp_over SENSORS_MAX1617A_TEMP_OVER temp1:1 |
|---|
| 243 | remote_temp SENSORS_MAX1617A_REMOTE_TEMP temp2:3 |
|---|
| 244 | remote_temp_low SENSORS_MAX1617A_REMOTE_TEMP_HYST temp2:2 |
|---|
| 245 | remote_temp_over SENSORS_MAX1617A_REMOTE_TEMP_OVER temp2:1 |
|---|
| 246 | alarms SENSORS_MAX1617A_ALARMS alarms:1 |
|---|
| 247 | |
|---|
| 248 | |
|---|
| 249 | Chip 'thmc10' |
|---|
| 250 | |
|---|
| 251 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 252 | temp - - R- 0 |
|---|
| 253 | temp_low temp temp RW 0 |
|---|
| 254 | temp_over temp temp RW 0 |
|---|
| 255 | remote_temp - - R- 0 |
|---|
| 256 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 257 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 258 | alarms - - R- 0 |
|---|
| 259 | die_code - - R- 0 |
|---|
| 260 | |
|---|
| 261 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 262 | temp SENSORS_ADM1021_TEMP temp1:3 |
|---|
| 263 | temp_low SENSORS_ADM1021_TEMP_HYST temp1:2 |
|---|
| 264 | temp_over SENSORS_ADM1021_TEMP_OVER temp1:1 |
|---|
| 265 | remote_temp SENSORS_ADM1021_REMOTE_TEMP temp2:3 |
|---|
| 266 | remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST temp2:2 |
|---|
| 267 | remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER temp2:1 |
|---|
| 268 | alarms SENSORS_ADM1021_ALARMS alarms:1 |
|---|
| 269 | die_code SENSORS_ADM1021_DIE_CODE die_code:1 |
|---|
| 270 | |
|---|
| 271 | |
|---|
| 272 | Chip 'lm84' |
|---|
| 273 | |
|---|
| 274 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 275 | temp - - R- 0 |
|---|
| 276 | temp_low temp temp RW 0 |
|---|
| 277 | temp_over temp temp RW 0 |
|---|
| 278 | remote_temp - - R- 0 |
|---|
| 279 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 280 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 281 | alarms - - R- 0 |
|---|
| 282 | die_code - - R- 0 |
|---|
| 283 | |
|---|
| 284 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 285 | temp SENSORS_ADM1021_TEMP temp1:3 |
|---|
| 286 | temp_low SENSORS_ADM1021_TEMP_HYST temp1:2 |
|---|
| 287 | temp_over SENSORS_ADM1021_TEMP_OVER temp1:1 |
|---|
| 288 | remote_temp SENSORS_ADM1021_REMOTE_TEMP temp2:3 |
|---|
| 289 | remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST temp2:2 |
|---|
| 290 | remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER temp2:1 |
|---|
| 291 | alarms SENSORS_ADM1021_ALARMS alarms:1 |
|---|
| 292 | die_code SENSORS_ADM1021_DIE_CODE die_code:1 |
|---|
| 293 | |
|---|
| 294 | |
|---|
| 295 | Chip 'gl523' |
|---|
| 296 | |
|---|
| 297 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 298 | temp - - R- 0 |
|---|
| 299 | temp_low temp temp RW 0 |
|---|
| 300 | temp_over temp temp RW 0 |
|---|
| 301 | remote_temp - - R- 0 |
|---|
| 302 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 303 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 304 | alarms - - R- 0 |
|---|
| 305 | die_code - - R- 0 |
|---|
| 306 | |
|---|
| 307 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 308 | temp SENSORS_ADM1021_TEMP temp1:3 |
|---|
| 309 | temp_low SENSORS_ADM1021_TEMP_HYST temp1:2 |
|---|
| 310 | temp_over SENSORS_ADM1021_TEMP_OVER temp1:1 |
|---|
| 311 | remote_temp SENSORS_ADM1021_REMOTE_TEMP temp2:3 |
|---|
| 312 | remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST temp2:2 |
|---|
| 313 | remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER temp2:1 |
|---|
| 314 | alarms SENSORS_ADM1021_ALARMS alarms:1 |
|---|
| 315 | die_code SENSORS_ADM1021_DIE_CODE die_code:1 |
|---|
| 316 | |
|---|
| 317 | |
|---|
| 318 | Chip 'mc1066' |
|---|
| 319 | |
|---|
| 320 | LABEL LABEL CLASS COMPUTE CLASS MODE MAGN |
|---|
| 321 | temp - - R- 0 |
|---|
| 322 | temp_low temp temp RW 0 |
|---|
| 323 | temp_over temp temp RW 0 |
|---|
| 324 | remote_temp - - R- 0 |
|---|
| 325 | remote_temp_low remote_temp remote_temp RW 0 |
|---|
| 326 | remote_temp_over remote_temp remote_temp RW 0 |
|---|
| 327 | alarms - - R- 0 |
|---|
| 328 | |
|---|
| 329 | LABEL FEATURE SYMBOL SYSCTL FILE:N |
|---|
| 330 | temp SENSORS_MAX1617_TEMP temp1:3 |
|---|
| 331 | temp_low SENSORS_MAX1617_TEMP_HYST temp1:2 |
|---|
| 332 | temp_over SENSORS_MAX1617_TEMP_OVER temp1:1 |
|---|
| 333 | remote_temp SENSORS_MAX1617_REMOTE_TEMP temp2:3 |
|---|
| 334 | remote_temp_low SENSORS_MAX1617_REMOTE_TEMP_HYST temp2:2 |
|---|
| 335 | remote_temp_over SENSORS_MAX1617_REMOTE_TEMP_OVER temp2:1 |
|---|
| 336 | alarms SENSORS_MAX1617_ALARMS alarms:1 |
|---|
| 337 | |
|---|
| 338 | |
|---|
| 339 | |
|---|
| 340 | |
|---|
| 341 | |
|---|
| 342 | Old Documentation (may be outdated) |
|---|
| 343 | ----------------------------------- |
|---|
| 344 | |
|---|
| 345 | This file documents the adm1021 directories for the Analog Devices ADM1021 |
|---|
| 346 | and MAX1617 temperature sensor chip. Note that this last chip should be |
|---|
| 347 | fully compatible; it is not yet well-tested, though. |
|---|
| 348 | |
|---|
| 349 | There will be one directory created for each detected ADM1021 chip. As |
|---|
| 350 | ADM1021 chips can only be on a SMBus, they will be called adm1021-i2c-?-??, with |
|---|
| 351 | the first question mark being the number of the i2c bus (see /proc/bus/i2c |
|---|
| 352 | for a list of them, if i2c-proc is loaded), and the SMBus (I2C) address |
|---|
| 353 | of the chip at the end. An ADM1021 is uniquely characterised with these |
|---|
| 354 | two numbers. Likewise, for each MAX1617 chip, a directory max1617-i2c-?-?? |
|---|
| 355 | will be created. /proc/sys/dev/sensors/chips contains the SYSCTL values for |
|---|
| 356 | all chip directories. |
|---|
| 357 | |
|---|
| 358 | Within each ADM1021 or MAX1617 directory, you can find the following files: |
|---|
| 359 | * die_code (ADM1021_SYSCTL_DIE_CODE) |
|---|
| 360 | Silicon die (mask) revision code. This driver was written using a sample |
|---|
| 361 | device of die code 3. Normally this kind of information isn't reported |
|---|
| 362 | in its own proc file, but for a device this simple I didn't think it |
|---|
| 363 | would hurt. |
|---|
| 364 | * status (ADM1021_SYSCTL_STATUS) |
|---|
| 365 | This is an intergral number composed of 8-bits, which indicate the |
|---|
| 366 | different alarms and conversion status's of the chip. Here is what |
|---|
| 367 | each bit indicates: |
|---|
| 368 | 7 BUSY 1 When ADC Converting. |
|---|
| 369 | 6 LHIGH# 1 When Local High Temp Limit Tripped. |
|---|
| 370 | 5 LLOW# 1 When Local Low Temp Limit Tripped. |
|---|
| 371 | 4 RHIGH# 1 When Remote High Temp Limit Tripped. |
|---|
| 372 | 3 RLOW# 1 When Remote Low Temp Limit Tripped. |
|---|
| 373 | 2 OPEN# 1 When Remote Sensor Open-Circuit. (i.e., no connected remote |
|---|
| 374 | sensor) |
|---|
| 375 | 1-0 Reserved. |
|---|
| 376 | Note: # - These flags stay high until the status register is read or they |
|---|
| 377 | are reset by POR. |
|---|
| 378 | * temp1 (ADM1021_SYSCTL_TEMP) |
|---|
| 379 | A list of three numbers. The first number is the Overtemperature Shutdown |
|---|
| 380 | value, the second number is Low limit value, and the third number is the |
|---|
| 381 | current temperature. The first two values can be modified. Each value can |
|---|
| 382 | be set and read to full-degree accuracy. All values are in degrees Celsius. |
|---|
| 383 | An alarm is issued (usually to a connected ADM9240) when the temperature |
|---|
| 384 | gets higher then the Overtemperature Shutdown value; it stays on until |
|---|
| 385 | the temperature falls back below the Overtemperature Shutdown value. |
|---|
| 386 | NOTE: This is different than the way most remote temperature sensors work |
|---|
| 387 | (e.g. the LM75), they usually use the lower limit to clear the alarm set |
|---|
| 388 | from initially going above the Overtemperature limit. Instead, the |
|---|
| 389 | ADM1021 acts much the way that voltage limits work on, say, the LM78 or |
|---|
| 390 | ADM9240. A disadvantage to this is that the alarm doesn't have a |
|---|
| 391 | hysteresis (like a shmidt-trigger or thermostat) type of function for |
|---|
| 392 | doing things like controlling over-heat fans and such. Instead, the |
|---|
| 393 | lower limit can be used to signal an alarm if (goodness forbid!) the |
|---|
| 394 | computer gets too cold. |
|---|
| 395 | If accessed through sysctl, this is a list of longs, each being the |
|---|
| 396 | temperature times 10. |
|---|
| 397 | * temp2 (ADM1021_SYSCTL_REMOTE_TEMP) |
|---|
| 398 | Works exactly the same way as 'temp1', but uses an external temperature |
|---|
| 399 | probe for the sensing. The temperature probe is of a silicon diode type |
|---|
| 400 | and not of a thermal-resistive type. A probe can easily be made from a |
|---|
| 401 | common transister (see the ADM1021 for qualification specs) by shorting |
|---|
| 402 | the base to the collector. From the docs: "Transistors such as 2N3904, |
|---|
| 403 | 2N3906 or equivalents in SOT-23 package are suitable to use." |
|---|
| 404 | |
|---|
| 405 | The data for each chip is updated each 1.5 seconds, but only if it is |
|---|
| 406 | actually read. And, any alarms triggered between reads which always be |
|---|
| 407 | present in the next read just after the alarm was triggered (regardless if |
|---|
| 408 | the alarm situation has been resolved or not). |
|---|
| 409 | |
|---|
| 410 | This driver was written and is maintained by Philip Edelbrock |
|---|
| 411 | <phil@netroedge.com>. Please send corrections/comments to him. For |
|---|
| 412 | further technical information on this chip, please get the Acrobat PDF |
|---|
| 413 | documentation available from www.analog.com. We'd also like to thank |
|---|
| 414 | Analog Devices for helping us with correspondance and free samples to make |
|---|
| 415 | this driver (and other Analog Devices drivers) possible. |
|---|