1 Kernel driver lm90 2 ================== 3 4 Supported chips: 5 6 * National Semiconductor LM84 7 8 Prefix: 'lm84' 9 10 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 11 12 Datasheet: Publicly available at the Natio 13 14 * National Semiconductor LM90 15 16 Prefix: 'lm90' 17 18 Addresses scanned: I2C 0x4c 19 20 Datasheet: Publicly available at the Natio 21 22 http://www.national.com/pf/LM/L 23 24 * National Semiconductor LM89 25 26 Prefix: 'lm89' (no auto-detection) 27 28 Addresses scanned: I2C 0x4c and 0x4d 29 30 Datasheet: Publicly available at the Natio 31 32 http://www.national.com/mpf/LM/ 33 34 * National Semiconductor LM99 35 36 Prefix: 'lm99' 37 38 Addresses scanned: I2C 0x4c and 0x4d 39 40 Datasheet: Publicly available at the Natio 41 42 http://www.national.com/pf/LM/L 43 44 * National Semiconductor LM86 45 46 Prefix: 'lm86' 47 48 Addresses scanned: I2C 0x4c 49 50 Datasheet: Publicly available at the Natio 51 52 http://www.national.com/mpf/LM/ 53 54 * Analog Devices ADM1020 55 56 Prefix: 'adm1020' 57 58 Addresses scanned: I2C 0x4c - 0x4e 59 60 Datasheet: Publicly available at the Analo 61 62 * Analog Devices ADM1021 63 64 Prefix: 'adm1021' 65 66 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 67 68 Datasheet: Publicly available at the Analo 69 70 * Analog Devices ADM1021A/ADM1023 71 72 Prefix: 'adm1023' 73 74 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 75 76 Datasheet: Publicly available at the Analo 77 78 * Analog Devices ADM1032 79 80 Prefix: 'adm1032' 81 82 Addresses scanned: I2C 0x4c and 0x4d 83 84 Datasheet: Publicly available at the ON Se 85 86 https://www.onsemi.com/PowerSol 87 88 * Analog Devices ADT7461 89 90 Prefix: 'adt7461' 91 92 Addresses scanned: I2C 0x4c and 0x4d 93 94 Datasheet: Publicly available at the ON Se 95 96 https://www.onsemi.com/PowerSol 97 98 * Analog Devices ADT7461A 99 100 Prefix: 'adt7461a' 101 102 Addresses scanned: I2C 0x4c and 0x4d 103 104 Datasheet: Publicly available at the ON Se 105 106 https://www.onsemi.com/PowerSol 107 108 * Analog Devices ADT7481 109 110 Prefix: 'adt7481' 111 112 Addresses scanned: I2C 0x4b and 0x4c 113 114 Datasheet: Publicly available at the ON Se 115 116 https://www.onsemi.com/PowerSol 117 118 * Analog Devices ADT7482 119 120 Prefix: 'adt7482' 121 122 Addresses scanned: I2C 0x4c 123 124 Datasheet: Publicly available at the ON Se 125 126 https://www.onsemi.com/PowerSol 127 128 * Analog Devices ADT7483A 129 130 Prefix: 'adt7483a' 131 132 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0 133 134 Datasheet: Publicly available at the ON Se 135 136 https://www.onsemi.com/PowerSol 137 138 * ON Semiconductor NCT1008 139 140 Prefix: 'nct1008' 141 142 Addresses scanned: I2C 0x4c and 0x4d 143 144 Datasheet: Publicly available at the ON Se 145 146 https://www.onsemi.com/PowerSol 147 148 * ON Semiconductor NCT210 149 150 Prefix: 'adm1021' 151 152 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 153 154 Datasheet: Publicly available at the ON Se 155 156 https://www.onsemi.com/PowerSol 157 158 * ON Semiconductor NCT214 159 160 Prefix: 'nct214' 161 162 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 163 164 Datasheet: Publicly available at the ON Se 165 166 https://www.onsemi.com/PowerSol 167 168 * ON Semiconductor NCT218 169 170 Prefix: 'nct218' 171 172 Addresses scanned: I2C 0x4c - 0x4d 173 174 Datasheet: Publicly available at the ON Se 175 176 https://www.onsemi.com/PowerSol 177 178 * ON Semiconductor NCT72 179 180 Prefix: 'nct72' 181 182 Addresses scanned: I2C 0x4c - 0x4d 183 184 Datasheet: Publicly available at the ON Se 185 186 https://www.onsemi.com/PowerSol 187 188 * Maxim MAX1617 189 190 Prefix: 'max1617' 191 192 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 193 194 Datasheet: Publicly available at the Maxim 195 196 * Maxim MAX1617A 197 198 Prefix: 'max1617a' 199 200 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 201 202 Datasheet: Publicly available at the Maxim 203 204 * Maxim MAX6642 205 206 Prefix: 'max6642' 207 208 Addresses scanned: I2C 0x48-0x4f 209 210 Datasheet: Publicly available at the Maxim 211 212 http://datasheets.maxim-ic.com/ 213 214 * Maxim MAX6646 215 216 Prefix: 'max6646' 217 218 Addresses scanned: I2C 0x4d 219 220 Datasheet: Publicly available at the Maxim 221 222 http://www.maxim-ic.com/quick_v 223 224 * Maxim MAX6647 225 226 Prefix: 'max6646' 227 228 Addresses scanned: I2C 0x4e 229 230 Datasheet: Publicly available at the Maxim 231 232 http://www.maxim-ic.com/quick_v 233 234 * Maxim MAX6648 235 236 Prefix: 'max6648' 237 238 Addresses scanned: I2C 0x4c 239 240 Datasheet: Publicly available at the Maxim 241 242 http://www.maxim-ic.com/quick_v 243 244 * Maxim MAX6649 245 246 Prefix: 'max6646' 247 248 Addresses scanned: I2C 0x4c 249 250 Datasheet: Publicly available at the Maxim 251 252 http://www.maxim-ic.com/quick_v 253 254 * Maxim MAX6654 255 256 Prefix: 'max6654' 257 258 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0 259 260 0x4c, 0x4d and 0x4e 261 262 Datasheet: Publicly available at the Maxim 263 264 https://www.maximintegrated.com 265 266 * Maxim MAX6657 267 268 Prefix: 'max6657' 269 270 Addresses scanned: I2C 0x4c 271 272 Datasheet: Publicly available at the Maxim 273 274 http://www.maxim-ic.com/quick_v 275 276 * Maxim MAX6658 277 278 Prefix: 'max6657' 279 280 Addresses scanned: I2C 0x4c 281 282 Datasheet: Publicly available at the Maxim 283 284 http://www.maxim-ic.com/quick_v 285 286 * Maxim MAX6659 287 288 Prefix: 'max6659' 289 290 Addresses scanned: I2C 0x4c, 0x4d, 0x4e 291 292 Datasheet: Publicly available at the Maxim 293 294 http://www.maxim-ic.com/quick_v 295 296 * Maxim MAX6680 297 298 Prefix: 'max6680' 299 300 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0 301 302 0x4c, 0x4d and 0x4e 303 304 Datasheet: Publicly available at the Maxim 305 306 http://www.maxim-ic.com/quick_v 307 308 * Maxim MAX6681 309 310 Prefix: 'max6680' 311 312 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0 313 314 0x4c, 0x4d and 0x4e 315 316 Datasheet: Publicly available at the Maxim 317 318 http://www.maxim-ic.com/quick_v 319 320 * Maxim MAX6692 321 322 Prefix: 'max6648' 323 324 Addresses scanned: I2C 0x4c 325 326 Datasheet: Publicly available at the Maxim 327 328 http://www.maxim-ic.com/quick_v 329 330 * Maxim MAX6695 331 332 Prefix: 'max6695' 333 334 Addresses scanned: I2C 0x18 335 336 Datasheet: Publicly available at the Maxim 337 338 http://www.maxim-ic.com/datashe 339 340 * Maxim MAX6696 341 342 Prefix: 'max6695' 343 344 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0 345 346 0x4c, 0x4d and 0x4e 347 348 Datasheet: Publicly available at the Maxim 349 350 http://www.maxim-ic.com/datashe 351 352 * Winbond/Nuvoton W83L771W/G 353 354 Prefix: 'w83l771' 355 356 Addresses scanned: I2C 0x4c 357 358 Datasheet: No longer available 359 360 * Winbond/Nuvoton W83L771AWG/ASG 361 362 Prefix: 'w83l771' 363 364 Addresses scanned: I2C 0x4c 365 366 Datasheet: Not publicly available, can be 367 368 * Philips/NXP SA56004X 369 370 Prefix: 'sa56004' 371 372 Addresses scanned: I2C 0x48 through 0x4F 373 374 Datasheet: Publicly available at NXP websi 375 376 http://ics.nxp.com/products/int 377 378 * GMT G781 379 380 Prefix: 'g781' 381 382 Addresses scanned: I2C 0x4c, 0x4d 383 384 Datasheet: Not publicly available from GMT 385 386 * Texas Instruments TMP451 387 388 Prefix: 'tmp451' 389 390 Addresses scanned: I2C 0x4c 391 392 Datasheet: Publicly available at TI websit 393 394 https://www.ti.com/litv/pdf/sbo 395 396 * Texas Instruments TMP461 397 398 Prefix: 'tmp461' 399 400 Addresses scanned: I2C 0x48 through 0x4F 401 402 Datasheet: Publicly available at TI websit 403 404 https://www.ti.com/lit/gpn/tmp4 405 406 * Philips NE1617, NE1617A 407 408 Prefix: 'max1617' (probably detected as a 409 410 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 411 412 Datasheets: Publicly available at the Phil 413 414 * Philips NE1618 415 416 Prefix: 'ne1618' 417 418 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 419 420 Datasheets: Publicly available at the Phil 421 422 * Genesys Logic GL523SM 423 424 Prefix: 'gl523sm' 425 426 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 427 428 Datasheet: 429 430 * TI THMC10 431 432 Prefix: 'thmc10' 433 434 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 435 436 Datasheet: Publicly available at the TI we 437 438 * Onsemi MC1066 439 440 Prefix: 'mc1066' 441 442 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 443 444 Datasheet: Publicly available at the Onsem 445 446 Author: Jean Delvare <jdelvare@suse.de> 447 448 449 Description 450 ----------- 451 452 The LM90 is a digital temperature sensor. It s 453 well as the temperature of up to one external 454 with many other devices, many of which are sup 455 456 The family of chips supported by this driver i 457 This chip as well as various compatible chips 458 temperature sensor with 8 bit accuracy. Later 459 and other additional features such as hysteres 460 registers. 461 462 Note that there is no easy way to differentiat 463 MAX6658 and MAX6659 variants. The extra featur 464 supported by this driver if the chip is locate 465 or if the chip type is explicitly selected as 466 The MAX6680 and MAX6681 only differ in their p 467 can't (and don't need to) be distinguished. 468 469 The different chipsets of the family are not s 470 very similar. For reference, here comes a non- 471 features: 472 473 LM84: 474 * 8 bit sensor resolution 475 476 ADM1020, ADM1021, GL523SM, MAX1617, NE1617, NE 477 * 8 bit sensor resolution 478 * Low temperature limits 479 480 NCT210, NE1618: 481 * 11 bit sensor resolution for remote temper 482 * Low temperature limits 483 484 ADM1021A, ADM1023: 485 * Temperature offset register for remote tem 486 * 11 bit resolution for remote temperature s 487 * Low temperature limits 488 489 LM90: 490 * 11 bit resolution for remote temperature s 491 * Temperature offset register for remote tem 492 * Low and critical temperature limits 493 * Configurable conversion rate 494 * Filter and alert configuration register at 495 * ALERT is triggered by temperatures over cr 496 497 LM86 and LM89: 498 * Same as LM90 499 * Better external channel accuracy 500 501 LM99: 502 * Same as LM89 503 * External temperature shifted by 16 degrees 504 505 ADM1032: 506 * Consecutive alert register at 0x22. 507 * Conversion averaging. 508 * Up to 64 conversions/s. 509 * ALERT is triggered by open remote sensor. 510 * SMBus PEC support for Write Byte and Recei 511 512 ADT7461, ADT7461A, NCT1008: 513 * Extended temperature range (breaks compati 514 * Lower resolution for remote temperature 515 * SMBus PEC support for Write Byte and Recei 516 * 10 bit temperature resolution 517 518 ADT7481, ADT7482, ADT7483: 519 * Temperature offset register 520 * SMBus PEC support 521 * 10 bit temperature resolution for external 522 * Two remote sensors 523 * Selectable address (ADT7483) 524 525 MAX6642: 526 * No critical limit register 527 * Conversion rate not configurable 528 * Better local resolution (10 bit) 529 * 10 bit external sensor resolution 530 531 MAX6646, MAX6647, MAX6649: 532 * Better local resolution 533 * Extended range unsigned external temperatu 534 535 MAX6648, MAX6692: 536 * Better local resolution 537 * Unsigned temperature 538 539 MAX6654, MAX6690: 540 * Better local resolution 541 * Selectable address 542 * Remote sensor type selection 543 * Extended temperature range 544 * Extended resolution only available when co 545 546 MAX6657 and MAX6658: 547 * Better local resolution 548 * Remote sensor type selection 549 550 MAX6659: 551 * Better local resolution 552 * Selectable address 553 * Second critical temperature limit 554 * Remote sensor type selection 555 556 MAX6680 and MAX6681: 557 * Selectable address 558 * Remote sensor type selection 559 560 MAX6695 and MAX6696: 561 * Better local resolution 562 * Selectable address (max6696) 563 * Second critical temperature limit 564 * Two remote sensors 565 566 W83L771W/G 567 * The G variant is lead-free, otherwise simi 568 * Filter and alert configuration register at 569 * Moving average (depending on conversion ra 570 571 W83L771AWG/ASG 572 * Successor of the W83L771W/G, same features 573 * The AWG and ASG variants only differ in pa 574 * Diode ideality factor configuration (remot 575 576 SA56004X: 577 * Better local resolution 578 579 All temperature values are given in degrees Ce 580 is 1.0 degree for the local temperature, 0.125 581 temperature, except for the MAX6654, MAX6657, 582 a resolution of 0.125 degree for both temperat 583 584 Each sensor has its own high and low limits, p 585 Additionally, there is a relative hysteresis v 586 values. To make life easier to user-space appl 587 are exported, one for each channel, but these 588 Only the local hysteresis can be set from user 589 applies to the remote hysteresis. 590 591 The lm90 driver will not update its values mor 592 the update_interval attribute; reading them mo 593 return 'old' values. 594 595 SMBus Alert Support 596 ------------------- 597 598 This driver has basic support for SMBus alert. 599 the status register is read and the faulty tem 600 601 The Analog Devices chips (ADM1032, ADT7461 and 602 Semiconductor chips (NCT1008) do not implement 603 properly so additional care is needed: the ALE 604 an alert is received, and is re-enabled only w 605 Otherwise the chip would block alerts from oth 606 as the alarm is active. 607 608 PEC Support 609 ----------- 610 611 The ADM1032 is the only chip of the family whi 612 not support PEC on all transactions though, so 613 614 When reading a register value, the PEC byte is 615 ADM1032 chip. However, in the case of a combin 616 Byte), the ADM1032 computes the CRC value over 617 the message rather than its entirety, because 618 of the message belongs to a different transact 619 value differs from what the SMBus master expec 620 621 For this reason, the lm90 driver will enable P 622 the bus supports the SMBus Send Byte and Recei 623 These transactions will be used to read regist 624 SMBus Read Byte, and PEC will work properly. 625 626 Additionally, the ADM1032 doesn't support SMBu 627 Instead, it will try to write the PEC value to 628 SMBus Send Byte transaction with PEC is simila 629 without PEC), which is not what we want. Thus, 630 on SMBus Send Byte transactions in the lm90 dr 631 632 PEC on byte data transactions represents a sig 633 usage (+33% for writes, +25% for reads) in nor 634 to use two SMBus transaction for reads, this o 635 two transactions will typically mean twice as 636 transaction completion, effectively doubling t 637 I guess reliability comes at a price, but it's 638 639 So, as not everyone might enjoy the slowdown, 640 can be enabled through sysfs. Just write 1 to 641 enabled. Write 0 to that file to disable PEC a
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.