← Documents Documentation/hwmon/lm90.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver lm90

MAX1617 계보의 다수 로컬·원격 온도 센서, SMBus Alert와 ADM1032 PEC 처리입니다.

Source pathDocumentation/hwmon/lm90.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

lm90.rst:1-684

LM90 계열 47종의 주소·접두사와 모델별 분해능·오프셋·복수 원격 채널을 구분하고, 공통 임계 히스테리시스·Alert·PEC 거래 제약을 처리합니다.

문서 개요
항목
SourceDocumentation/hwmon/lm90.rst
분량684 source lines
기본 채널로컬 1 + 원격 1
확장일부 칩 원격 2, PEC, 오프셋, 확장 범위

원문 분량과 핵심 인터페이스입니다.

LM90 계열 운용
제조사·주소·칩 유형 식별분해능·채널·제한 기능 게시update_interval에 따라 측정SMBus Alert 기록과 재활성선택적으로 ADM1032 PEC 사용

칩 식별부터 경보와 PEC 처리까지의 핵심 순서입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
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 - 0x2b, 0x4c - 0x4e
11
12 Datasheet: Publicly available at the National Semiconductor website
13
14 * National Semiconductor LM90
15
16 Prefix: 'lm90'
17
18 Addresses scanned: I2C 0x4c
19
20 Datasheet: Publicly available at the National Semiconductor website
21
22 http://www.national.com/pf/LM/LM90.html
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 National Semiconductor website
31
32 http://www.national.com/mpf/LM/LM89.html
33
34 * National Semiconductor LM99
35
36 Prefix: 'lm99'
37
38 Addresses scanned: I2C 0x4c and 0x4d
39
40 Datasheet: Publicly available at the National Semiconductor website
41
42 http://www.national.com/pf/LM/LM99.html
43
44 * National Semiconductor LM86
45
46 Prefix: 'lm86'
47
48 Addresses scanned: I2C 0x4c
49
50 Datasheet: Publicly available at the National Semiconductor website
51
52 http://www.national.com/mpf/LM/LM86.html
53
54 * Analog Devices ADM1020
55
56 Prefix: 'adm1020'
57
58 Addresses scanned: I2C 0x4c - 0x4e
59
60 Datasheet: Publicly available at the Analog Devices website
61
62 * Analog Devices ADM1021
63
64 Prefix: 'adm1021'
65
66 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
67
68 Datasheet: Publicly available at the Analog Devices website
69
70 * Analog Devices ADM1021A/ADM1023
71
72 Prefix: 'adm1023'
73
74 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
75
76 Datasheet: Publicly available at the Analog Devices website
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 Semiconductor website
85
86 https://www.onsemi.com/PowerSolutions/product.do?id=ADM1032
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 Semiconductor website
95
96 https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461
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 Semiconductor website
105
106 https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A
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 Semiconductor website
115
116 https://www.onsemi.com/PowerSolutions/product.do?id=ADT7481
117
118 * Analog Devices ADT7482
119
120 Prefix: 'adt7482'
121
122 Addresses scanned: I2C 0x4c
123
124 Datasheet: Publicly available at the ON Semiconductor website
125
126 https://www.onsemi.com/PowerSolutions/product.do?id=ADT7482
127
128 * Analog Devices ADT7483A
129
130 Prefix: 'adt7483a'
131
132 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
133
134 Datasheet: Publicly available at the ON Semiconductor website
135
136 https://www.onsemi.com/PowerSolutions/product.do?id=ADT7483A
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 Semiconductor website
145
146 https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
147
148 * ON Semiconductor NCT210
149
150 Prefix: 'adm1021'
151
152 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
153
154 Datasheet: Publicly available at the ON Semiconductor website
155
156 https://www.onsemi.com/PowerSolutions/product.do?id=NCT210
157
158 * ON Semiconductor NCT214
159
160 Prefix: 'nct214'
161
162 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
163
164 Datasheet: Publicly available at the ON Semiconductor website
165
166 https://www.onsemi.com/PowerSolutions/product.do?id=NCT214
167
168 * ON Semiconductor NCT218
169
170 Prefix: 'nct218'
171
172 Addresses scanned: I2C 0x4c - 0x4d
173
174 Datasheet: Publicly available at the ON Semiconductor website
175
176 https://www.onsemi.com/PowerSolutions/product.do?id=NCT218
177
178 * ON Semiconductor NCT72
179
180 Prefix: 'nct72'
181
182 Addresses scanned: I2C 0x4c - 0x4d
183
184 Datasheet: Publicly available at the ON Semiconductor website
185
186 https://www.onsemi.com/PowerSolutions/product.do?id=NCT72
187
188 * Maxim MAX1617
189
190 Prefix: 'max1617'
191
192 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
193
194 Datasheet: Publicly available at the Maxim website
195
196 * Maxim MAX1617A
197
198 Prefix: 'max1617a'
199
200 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
201
202 Datasheet: Publicly available at the Maxim website
203
204 * Maxim MAX6642
205
206 Prefix: 'max6642'
207
208 Addresses scanned: I2C 0x48-0x4f
209
210 Datasheet: Publicly available at the Maxim website
211
212 http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
213
214 * Maxim MAX6646
215
216 Prefix: 'max6646'
217
218 Addresses scanned: I2C 0x4d
219
220 Datasheet: Publicly available at the Maxim website
221
222 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
223
224 * Maxim MAX6647
225
226 Prefix: 'max6646'
227
228 Addresses scanned: I2C 0x4e
229
230 Datasheet: Publicly available at the Maxim website
231
232 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
233
234 * Maxim MAX6648
235
236 Prefix: 'max6648'
237
238 Addresses scanned: I2C 0x4c
239
240 Datasheet: Publicly available at the Maxim website
241
242 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
243
244 * Maxim MAX6649
245
246 Prefix: 'max6646'
247
248 Addresses scanned: I2C 0x4c
249
250 Datasheet: Publicly available at the Maxim website
251
252 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
253
254 * Maxim MAX6654
255
256 Prefix: 'max6654'
257
258 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
259
260 0x4c, 0x4d and 0x4e
261
262 Datasheet: Publicly available at the Maxim website
263
264 https://www.maximintegrated.com/en/products/sensors/MAX6654.html
265
266 * Maxim MAX6657
267
268 Prefix: 'max6657'
269
270 Addresses scanned: I2C 0x4c
271
272 Datasheet: Publicly available at the Maxim website
273
274 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
275
276 * Maxim MAX6658
277
278 Prefix: 'max6657'
279
280 Addresses scanned: I2C 0x4c
281
282 Datasheet: Publicly available at the Maxim website
283
284 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
285
286 * Maxim MAX6659
287
288 Prefix: 'max6659'
289
290 Addresses scanned: I2C 0x4c, 0x4d, 0x4e
291
292 Datasheet: Publicly available at the Maxim website
293
294 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
295
296 * Maxim MAX6680
297
298 Prefix: 'max6680'
299
300 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
301
302 0x4c, 0x4d and 0x4e
303
304 Datasheet: Publicly available at the Maxim website
305
306 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
307
308 * Maxim MAX6681
309
310 Prefix: 'max6680'
311
312 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
313
314 0x4c, 0x4d and 0x4e
315
316 Datasheet: Publicly available at the Maxim website
317
318 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
319
320 * Maxim MAX6692
321
322 Prefix: 'max6648'
323
324 Addresses scanned: I2C 0x4c
325
326 Datasheet: Publicly available at the Maxim website
327
328 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
329
330 * Maxim MAX6695
331
332 Prefix: 'max6695'
333
334 Addresses scanned: I2C 0x18
335
336 Datasheet: Publicly available at the Maxim website
337
338 http://www.maxim-ic.com/datasheet/index.mvp/id/4199
339
340 * Maxim MAX6696
341
342 Prefix: 'max6695'
343
344 Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
345
346 0x4c, 0x4d and 0x4e
347
348 Datasheet: Publicly available at the Maxim website
349
350 http://www.maxim-ic.com/datasheet/index.mvp/id/4199
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 requested from Nuvoton
367
368 * Nuvoton NCT7716
369
370 Prefix: 'nct7716'
371
372 Addresses scanned: I2C 0x48, 0x49
373
374 Datasheet: Not publicly available, can be requested from Nuvoton
375
376 * Nuvoton NCT7717
377
378 Prefix: 'nct7717'
379
380 Addresses scanned: I2C 0x48
381
382 Datasheet: Publicly available at Nuvoton website
383
384 https://www.nuvoton.com/resource-files/Nuvoton_NCT7717U_Datasheet_V111.pdf
385
386 * Nuvoton NCT7718
387
388 Prefix: 'nct7718'
389
390 Addresses scanned: I2C 0x4c
391
392 Datasheet: Publicly available at Nuvoton website
393
394 https://www.nuvoton.com/resource-files/Nuvoton_NCT7718W_Datasheet_V11.pdf
395
396 * Philips/NXP SA56004X
397
398 Prefix: 'sa56004'
399
400 Addresses scanned: I2C 0x48 through 0x4F
401
402 Datasheet: Publicly available at NXP website
403
404 http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf
405
406 * GMT G781
407
408 Prefix: 'g781'
409
410 Addresses scanned: I2C 0x4c, 0x4d
411
412 Datasheet: Not publicly available from GMT
413
414 * Texas Instruments TMP451
415
416 Prefix: 'tmp451'
417
418 Addresses scanned: I2C 0x4c
419
420 Datasheet: Publicly available at TI website
421
422 https://www.ti.com/litv/pdf/sbos686
423
424 * Texas Instruments TMP461
425
426 Prefix: 'tmp461'
427
428 Addresses scanned: I2C 0x48 through 0x4F
429
430 Datasheet: Publicly available at TI website
431
432 https://www.ti.com/lit/gpn/tmp461
433
434 * Philips NE1617, NE1617A
435
436 Prefix: 'max1617' (probably detected as a max1617)
437
438 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
439
440 Datasheets: Publicly available at the Philips website
441
442 * Philips NE1618
443
444 Prefix: 'ne1618'
445
446 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
447
448 Datasheets: Publicly available at the Philips website
449
450 * Genesys Logic GL523SM
451
452 Prefix: 'gl523sm'
453
454 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
455
456 Datasheet:
457
458 * TI THMC10
459
460 Prefix: 'thmc10'
461
462 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
463
464 Datasheet: Publicly available at the TI website
465
466 * Onsemi MC1066
467
468 Prefix: 'mc1066'
469
470 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
471
472 Datasheet: Publicly available at the Onsemi website
473
474 Author: Jean Delvare <jdelvare@suse.de>
475
476
477 Description
478 -----------
479
480 The LM90 is a digital temperature sensor. It senses its own temperature as
481 well as the temperature of up to one external diode. It is compatible
482 with many other devices, many of which are supported by this driver.
483
484 The family of chips supported by this driver is derived from MAX1617.
485 This chip as well as various compatible chips support a local and a remote
486 temperature sensor with 8 bit accuracy. Later chips provide improved accuracy
487 and other additional features such as hysteresis and temperature offset
488 registers.
489
490 Note that there is no easy way to differentiate between the MAX6657,
491 MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
492 supported by this driver if the chip is located at address 0x4d or 0x4e,
493 or if the chip type is explicitly selected as max6659.
494 The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
495 can't (and don't need to) be distinguished.
496
497 The different chipsets of the family are not strictly identical, although
498 very similar. For reference, here comes a non-exhaustive list of specific
499 features:
500
501 LM84:
502 * 8 bit sensor resolution
503
504 ADM1020, ADM1021, GL523SM, MAX1617, NE1617, NE1617A, THMC10:
505 * 8 bit sensor resolution
506 * Low temperature limits
507
508 NCT210, NE1618:
509 * 11 bit sensor resolution for remote temperature sensor
510 * Low temperature limits
511
512 ADM1021A, ADM1023:
513 * Temperature offset register for remote temperature sensor
514 * 11 bit resolution for remote temperature sensor
515 * Low temperature limits
516
517 LM90:
518 * 11 bit resolution for remote temperature sensor
519 * Temperature offset register for remote temperature sensor
520 * Low and critical temperature limits
521 * Configurable conversion rate
522 * Filter and alert configuration register at 0xBF.
523 * ALERT is triggered by temperatures over critical limits.
524
525 LM86 and LM89:
526 * Same as LM90
527 * Better external channel accuracy
528
529 LM99:
530 * Same as LM89
531 * External temperature shifted by 16 degrees down
532
533 ADM1032:
534 * Consecutive alert register at 0x22.
535 * Conversion averaging.
536 * Up to 64 conversions/s.
537 * ALERT is triggered by open remote sensor.
538 * SMBus PEC support for Write Byte and Receive Byte transactions.
539
540 ADT7461, ADT7461A, NCT1008:
541 * Extended temperature range (breaks compatibility)
542 * Lower resolution for remote temperature
543 * SMBus PEC support for Write Byte and Receive Byte transactions.
544 * 10 bit temperature resolution
545
546 ADT7481, ADT7482, ADT7483:
547 * Temperature offset register
548 * SMBus PEC support
549 * 10 bit temperature resolution for external sensors
550 * Two remote sensors
551 * Selectable address (ADT7483)
552
553 MAX6642:
554 * No critical limit register
555 * Conversion rate not configurable
556 * Better local resolution (10 bit)
557 * 10 bit external sensor resolution
558
559 MAX6646, MAX6647, MAX6649:
560 * Better local resolution
561 * Extended range unsigned external temperature
562
563 MAX6648, MAX6692:
564 * Better local resolution
565 * Unsigned temperature
566
567 MAX6654, MAX6690:
568 * Better local resolution
569 * Selectable address
570 * Remote sensor type selection
571 * Extended temperature range
572 * Extended resolution only available when conversion rate <= 1 Hz
573
574 MAX6657 and MAX6658:
575 * Better local resolution
576 * Remote sensor type selection
577
578 MAX6659:
579 * Better local resolution
580 * Selectable address
581 * Second critical temperature limit
582 * Remote sensor type selection
583
584 MAX6680 and MAX6681:
585 * Selectable address
586 * Remote sensor type selection
587
588 MAX6695 and MAX6696:
589 * Better local resolution
590 * Selectable address (max6696)
591 * Second critical temperature limit
592 * Two remote sensors
593
594 W83L771W/G
595 * The G variant is lead-free, otherwise similar to the W.
596 * Filter and alert configuration register at 0xBF
597 * Moving average (depending on conversion rate)
598
599 W83L771AWG/ASG
600 * Successor of the W83L771W/G, same features.
601 * The AWG and ASG variants only differ in package format.
602 * Diode ideality factor configuration (remote sensor) at 0xE3
603
604 NCT7716:
605 * 8 bit sensor resolution
606 * Selectable address
607 * Configurable conversion rate
608
609 NCT7717:
610 * 8 bit sensor resolution
611 * Configurable conversion rate
612
613 NCT7718:
614 * Temperature offset register for remote temperature sensor
615 * 11 bit resolution for remote temperature sensor
616 * Low temperature limits
617 * Configurable conversion rate
618
619 SA56004X:
620 * Better local resolution
621
622 All temperature values are given in degrees Celsius. Resolution
623 is 1.0 degree for the local temperature, 0.125 degree for the remote
624 temperature, except for the MAX6654, MAX6657, MAX6658 and MAX6659 which have
625 a resolution of 0.125 degree for both temperatures.
626
627 Each sensor has its own high and low limits, plus a critical limit.
628 Additionally, there is a relative hysteresis value common to both critical
629 values. To make life easier to user-space applications, two absolute values
630 are exported, one for each channel, but these values are of course linked.
631 Only the local hysteresis can be set from user-space, and the same delta
632 applies to the remote hysteresis.
633
634 The lm90 driver will not update its values more frequently than configured with
635 the update_interval attribute; reading them more often will do no harm, but will
636 return 'old' values.
637
638 SMBus Alert Support
639 -------------------
640
641 This driver has basic support for SMBus alert. When an alert is received,
642 the status register is read and the faulty temperature channel is logged.
643
644 The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
645 Semiconductor chips (NCT1008) do not implement the SMBus alert protocol
646 properly so additional care is needed: the ALERT output is disabled when
647 an alert is received, and is re-enabled only when the alarm is gone.
648 Otherwise the chip would block alerts from other chips in the bus as long
649 as the alarm is active.
650
651 PEC Support
652 -----------
653
654 The ADM1032 is the only chip of the family which supports PEC. It does
655 not support PEC on all transactions though, so some care must be taken.
656
657 When reading a register value, the PEC byte is computed and sent by the
658 ADM1032 chip. However, in the case of a combined transaction (SMBus Read
659 Byte), the ADM1032 computes the CRC value over only the second half of
660 the message rather than its entirety, because it thinks the first half
661 of the message belongs to a different transaction. As a result, the CRC
662 value differs from what the SMBus master expects, and all reads fail.
663
664 For this reason, the lm90 driver will enable PEC for the ADM1032 only if
665 the bus supports the SMBus Send Byte and Receive Byte transaction types.
666 These transactions will be used to read register values, instead of
667 SMBus Read Byte, and PEC will work properly.
668
669 Additionally, the ADM1032 doesn't support SMBus Send Byte with PEC.
670 Instead, it will try to write the PEC value to the register (because the
671 SMBus Send Byte transaction with PEC is similar to a Write Byte transaction
672 without PEC), which is not what we want. Thus, PEC is explicitly disabled
673 on SMBus Send Byte transactions in the lm90 driver.
674
675 PEC on byte data transactions represents a significant increase in bandwidth
676 usage (+33% for writes, +25% for reads) in normal conditions. With the need
677 to use two SMBus transaction for reads, this overhead jumps to +50%. Worse,
678 two transactions will typically mean twice as much delay waiting for
679 transaction completion, effectively doubling the register cache refresh time.
680 I guess reliability comes at a price, but it's quite expensive this time.
681
682 So, as not everyone might enjoy the slowdown, PEC is disabled by default and
683 can be enabled through sysfs. Just write 1 to the "pec" file and PEC will be
684 enabled. Write 0 to that file to disable PEC again.
685

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

National·Analog Devices·ON 지원 칩

1-187

`lm90` 드라이버는 MAX1617 계보의 로컬·원격 다이오드 온도 센서를 폭넓게 지원합니다. National Semiconductor 계열은 LM84, LM90, 자동 감지하지 않는 LM89, LM99, LM86입니다. 주소는 LM84가 `0x18`~`0x1a`, `0x29`~`0x2b`, `0x4c`~`0x4e`, LM90·LM86이 `0x4c`, LM89·LM99가 `0x4c`와 `0x4d`입니다.

Analog Devices 계열은 ADM1020, ADM1021, ADM1021A/ADM1023, ADM1032, ADT7461, ADT7461A, ADT7481, ADT7482, ADT7483A입니다. ADM1020은 `0x4c`~`0x4e`, ADM1021 계열은 넓은 세 주소군, ADM1032·ADT7461 계열은 `0x4c`·`0x4d`, ADT7481은 `0x4b`·`0x4c`, ADT7482는 `0x4c`, ADT7483A는 넓은 아홉 주소를 사용합니다.

ON Semiconductor 계열은 NCT1008, ADM1021 접두사를 쓰는 NCT210, NCT214, NCT218, NCT72입니다. NCT1008은 `0x4c`·`0x4d`, NCT210·214는 넓은 세 주소군, NCT218·NCT72는 `0x4c`·`0x4d`에서 검색됩니다. 각 제품의 원문 데이터시트 링크를 그대로 보존합니다.

LM90 계열 1
제조사접두사·주소
NationalLM84lm84 · 0x18~1a, 0x29~2b, 0x4c~4e
NationalLM90 / LM86lm90 / lm86 · 0x4c
NationalLM89 / LM99lm89 / lm99 · 0x4c~0x4d
Analog DevicesADM1020/21/23/32모델별 접두사 · 0x18~0x4e 범위
Analog DevicesADT7461/61A/7481/82/83A모델별 선택 주소
ON SemiconductorNCT1008/210/214/218/72모델별 접두사 · 0x18~0x4e 범위

National·Analog Devices·ON 칩의 접두사와 대표 주소입니다.

초기 칩 식별
지원 I2C 주소 검색제조사와 칩 ID 읽기자동 감지 예외 LM89 확인원격 채널 수와 기능 비트 확인정확한 접두사로 등록

공통 레지스터 계열 안에서 제조사 ID와 주소를 함께 봅니다.

Kernel driver lm90
==================

Supported chips:

  * National Semiconductor LM84

    Prefix: 'lm84'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the National Semiconductor website

  * National Semiconductor LM90

    Prefix: 'lm90'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the National Semiconductor website

               http://www.national.com/pf/LM/LM90.html

  * National Semiconductor LM89

    Prefix: 'lm89' (no auto-detection)

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the National Semiconductor website

               http://www.national.com/mpf/LM/LM89.html

  * National Semiconductor LM99

    Prefix: 'lm99'

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the National Semiconductor website

               http://www.national.com/pf/LM/LM99.html

  * National Semiconductor LM86

    Prefix: 'lm86'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the National Semiconductor website

               http://www.national.com/mpf/LM/LM86.html

  * Analog Devices ADM1020

    Prefix: 'adm1020'

    Addresses scanned: I2C 0x4c - 0x4e

    Datasheet: Publicly available at the Analog Devices website

  * Analog Devices ADM1021

    Prefix: 'adm1021'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the Analog Devices website

  * Analog Devices ADM1021A/ADM1023

    Prefix: 'adm1023'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the Analog Devices website

  * Analog Devices ADM1032

    Prefix: 'adm1032'

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADM1032

  * Analog Devices ADT7461

    Prefix: 'adt7461'

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461

  * Analog Devices ADT7461A

    Prefix: 'adt7461a'

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A

  * Analog Devices ADT7481

    Prefix: 'adt7481'

    Addresses scanned: I2C 0x4b and 0x4c

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADT7481

  * Analog Devices ADT7482

    Prefix: 'adt7482'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADT7482

  * Analog Devices ADT7483A

    Prefix: 'adt7483a'

    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=ADT7483A

  * ON Semiconductor NCT1008

    Prefix: 'nct1008'

    Addresses scanned: I2C 0x4c and 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008

  * ON Semiconductor NCT210

    Prefix: 'adm1021'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=NCT210

  * ON Semiconductor NCT214

    Prefix: 'nct214'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=NCT214

  * ON Semiconductor NCT218

    Prefix: 'nct218'

    Addresses scanned: I2C 0x4c - 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=NCT218

  * ON Semiconductor NCT72

    Prefix: 'nct72'

    Addresses scanned: I2C 0x4c - 0x4d

    Datasheet: Publicly available at the ON Semiconductor website

               https://www.onsemi.com/PowerSolutions/product.do?id=NCT72

Maxim MAX1617·MAX66xx 지원 칩

188-351

Maxim 계열은 MAX1617·MAX1617A를 넓은 주소군에서 지원합니다. MAX6642는 `0x48`~`0x4f`, MAX6646은 `0x4d`, MAX6647은 `0x4e`, MAX6648은 `0x4c`, MAX6649는 `0x4c`이며 MAX6647·6649는 `max6646` 접두사를 공유합니다.

MAX6654는 `0x18`, `0x19`, `0x1a`, `0x29`, `0x2a`, `0x2b`, `0x4c`, `0x4d`, `0x4e`를 지원합니다. MAX6657·6658은 `max6657` 접두사와 주소 `0x4c`, MAX6659는 `0x4c`~`0x4e`를 사용합니다.

MAX6680·6681은 같은 `max6680` 접두사와 넓은 아홉 주소를 사용합니다. MAX6692는 `max6648` 접두사와 `0x4c`, MAX6695는 `max6695`와 `0x18`, MAX6696은 같은 접두사로 넓은 아홉 주소를 지원합니다.

원문은 각 Maxim 제품의 데이터시트 또는 제품 페이지 링크를 제공하며, 핀 배치만 다른 제품과 접두사를 공유하는 제품을 구분합니다.

LM90 계열 2
접두사주소
MAX1617 / 1617Amax1617 / max1617a0x18~1a, 0x29~2b, 0x4c~4e
MAX6642max66420x48~0x4f
MAX6646 / 6647 / 6649max6646각각 0x4d / 0x4e / 0x4c
MAX6648 / 6692max66480x4c
MAX6654max6654넓은 아홉 주소
MAX6657 / 6658 / 6659max6657 / max66590x4c 또는 0x4c~0x4e
MAX6680 / 6681max6680넓은 아홉 주소
MAX6695 / 6696max66950x18 또는 넓은 아홉 주소

Maxim 칩의 공유 접두사와 주소 선택을 정리합니다.

Maxim 변형 선택
주소와 제조사 ID 확인공유 접두사 제품군 판정MAX6657·58·59 추가 기능 확인필요하면 max6659 명시 선택원격 채널과 임계 속성 게시

주소만으로 구분하기 어려운 변형은 명시적 유형을 사용합니다.

  * Maxim MAX1617

    Prefix: 'max1617'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the Maxim website

  * Maxim MAX1617A

    Prefix: 'max1617a'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the Maxim website

  * Maxim MAX6642

    Prefix: 'max6642'

    Addresses scanned: I2C 0x48-0x4f

    Datasheet: Publicly available at the Maxim website

               http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf

  * Maxim MAX6646

    Prefix: 'max6646'

    Addresses scanned: I2C 0x4d

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497

  * Maxim MAX6647

    Prefix: 'max6646'

    Addresses scanned: I2C 0x4e

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497

  * Maxim MAX6648

    Prefix: 'max6648'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500

  * Maxim MAX6649

    Prefix: 'max6646'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497

  * Maxim MAX6654

    Prefix: 'max6654'

    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,

                           0x4c, 0x4d and 0x4e

    Datasheet: Publicly available at the Maxim website

               https://www.maximintegrated.com/en/products/sensors/MAX6654.html

  * Maxim MAX6657

    Prefix: 'max6657'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578

  * Maxim MAX6658

    Prefix: 'max6657'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578

  * Maxim MAX6659

    Prefix: 'max6659'

    Addresses scanned: I2C 0x4c, 0x4d, 0x4e

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578

  * Maxim MAX6680

    Prefix: 'max6680'

    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,

                           0x4c, 0x4d and 0x4e

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370

  * Maxim MAX6681

    Prefix: 'max6680'

    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,

                           0x4c, 0x4d and 0x4e

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370

  * Maxim MAX6692

    Prefix: 'max6648'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500

  * Maxim MAX6695

    Prefix: 'max6695'

    Addresses scanned: I2C 0x18

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/datasheet/index.mvp/id/4199

  * Maxim MAX6696

    Prefix: 'max6695'

    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,

                           0x4c, 0x4d and 0x4e

    Datasheet: Publicly available at the Maxim website

               http://www.maxim-ic.com/datasheet/index.mvp/id/4199

Nuvoton·NXP·TI·Philips 등 지원 칩

352-476

Winbond/Nuvoton 계열은 W83L771W/G와 후속 W83L771AWG/ASG를 `w83l771`, NCT7716·7717·7718을 각각 모델 접두사로 지원합니다. W83L771은 `0x4c`, NCT7716은 `0x48`·`0x49`, NCT7717은 `0x48`, NCT7718은 `0x4c`입니다. 일부 데이터시트는 공개되지 않았거나 Nuvoton에 요청해야 합니다.

Philips/NXP SA56004X는 `sa56004`와 `0x48`~`0x4f`, GMT G781은 `g781`과 `0x4c`·`0x4d`를 사용합니다. TI TMP451은 `tmp451`과 `0x4c`, TMP461은 `tmp461`과 `0x48`~`0x4f`입니다.

Philips NE1617·NE1617A는 대체로 `max1617`로 감지되고, NE1618은 `ne1618`입니다. Genesys Logic GL523SM은 `gl523sm`, TI THMC10은 `thmc10`, Onsemi MC1066은 `mc1066`이며 모두 넓은 세 주소군에서 검색됩니다. GL523SM 항목은 원문에서 데이터시트 주소가 비어 있습니다.

작성자는 Jean Delvare입니다.

LM90 계열 3
제조사접두사·주소
Winbond/NuvotonW83L771 계열w83l771 · 0x4c
NuvotonNCT7716/17/18모델별 · 0x48/49 또는 0x4c
NXPSA56004Xsa56004 · 0x48~0x4f
GMTG781g781 · 0x4c~0x4d
TITMP451 / TMP461tmp451 / tmp461
PhilipsNE1617/A / NE1618max1617 / ne1618
Genesys·TI·OnsemiGL523SM / THMC10 / MC1066넓은 세 주소군

기타 제조사 칩과 주소 범위를 정리합니다.

기타 호환품 등록
칩 표면 표기와 보드 정보 확인공개 또는 요청형 데이터시트 확인NE1617 계열의 max1617 별칭 적용모델별 주소 범위 검색정확한 기능 집합 선택

공개 자료 여부와 감지 별칭을 함께 확인합니다.

  * Winbond/Nuvoton W83L771W/G

    Prefix: 'w83l771'

    Addresses scanned: I2C 0x4c

    Datasheet: No longer available

  * Winbond/Nuvoton W83L771AWG/ASG

    Prefix: 'w83l771'

    Addresses scanned: I2C 0x4c

    Datasheet: Not publicly available, can be requested from Nuvoton

  * Nuvoton NCT7716

    Prefix: 'nct7716'

    Addresses scanned: I2C 0x48, 0x49

    Datasheet: Not publicly available, can be requested from Nuvoton

  * Nuvoton NCT7717

    Prefix: 'nct7717'

    Addresses scanned: I2C 0x48

    Datasheet: Publicly available at Nuvoton website

               https://www.nuvoton.com/resource-files/Nuvoton_NCT7717U_Datasheet_V111.pdf

  * Nuvoton NCT7718

    Prefix: 'nct7718'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at Nuvoton website

               https://www.nuvoton.com/resource-files/Nuvoton_NCT7718W_Datasheet_V11.pdf

  * Philips/NXP SA56004X

    Prefix: 'sa56004'

    Addresses scanned: I2C 0x48 through 0x4F

    Datasheet: Publicly available at NXP website

               http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf

  * GMT G781

    Prefix: 'g781'

    Addresses scanned: I2C 0x4c, 0x4d

    Datasheet: Not publicly available from GMT

  * Texas Instruments TMP451

    Prefix: 'tmp451'

    Addresses scanned: I2C 0x4c

    Datasheet: Publicly available at TI website

               https://www.ti.com/litv/pdf/sbos686

  * Texas Instruments TMP461

    Prefix: 'tmp461'

    Addresses scanned: I2C 0x48 through 0x4F

    Datasheet: Publicly available at TI website

               https://www.ti.com/lit/gpn/tmp461

  * Philips NE1617, NE1617A

    Prefix: 'max1617' (probably detected as a max1617)

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheets: Publicly available at the Philips website

  * Philips NE1618

    Prefix: 'ne1618'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheets: Publicly available at the Philips website

  * Genesys Logic GL523SM

    Prefix: 'gl523sm'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet:

  * TI THMC10

    Prefix: 'thmc10'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the TI website

  * Onsemi MC1066

    Prefix: 'mc1066'

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the Onsemi website

Author: Jean Delvare <jdelvare@suse.de>

MAX1617 계보와 변형 식별 제약

477-500

LM90은 자체 온도와 외부 다이오드 하나의 온도를 측정하는 디지털 센서이며, 이 드라이버는 많은 호환 장치를 함께 지원합니다.

지원 계열은 MAX1617에서 파생되었습니다. 초기 칩과 호환품은 로컬·원격 온도를 8비트 정확도로 제공하고, 후속 칩은 정밀도 향상과 히스테리시스·온도 오프셋 같은 기능을 추가했습니다.

MAX6657·MAX6658·MAX6659는 쉽게 구별할 방법이 없습니다. MAX6659의 추가 기능은 주소가 `0x4d` 또는 `0x4e`이거나 칩 유형을 `max6659`로 명시했을 때만 지원됩니다. MAX6680과 MAX6681은 핀 배치만 달라 소프트웨어가 구별할 수도, 구별할 필요도 없습니다.

계보와 식별
항목내용
계보MAX1617 파생 로컬+원격 센서
초기 정밀도로컬·원격 8비트
후속 확장향상된 정밀도, 히스테리시스, 오프셋
MAX6659 기능0x4d·0x4e 또는 명시 선택 때 활성
MAX6680/6681핀 배치만 달라 구별 불필요

기본 구조와 자동 감지 한계를 요약합니다.

기능 집합 판정
MAX1617 호환 레지스터 확인제조사·주소·ID 조합구별 가능한 변형 선택모호하면 공통 기능만 활성명시적 유형으로 확장 기능 허용

감지 정보가 부족하면 보수적으로 공통 기능만 사용합니다.

Description
-----------

The LM90 is a digital temperature sensor. It senses its own temperature as
well as the temperature of up to one external diode. It is compatible
with many other devices, many of which are supported by this driver.

The family of chips supported by this driver is derived from MAX1617.
This chip as well as various compatible chips support a local and a remote
temperature sensor with 8 bit accuracy. Later chips provide improved accuracy
and other additional features such as hysteresis and temperature offset
registers.

Note that there is no easy way to differentiate between the MAX6657,
MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
supported by this driver if the chip is located at address 0x4d or 0x4e,
or if the chip type is explicitly selected as max6659.
The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
can't (and don't need to) be distinguished.

The different chipsets of the family are not strictly identical, although
very similar. For reference, here comes a non-exhaustive list of specific
features:

모델별 분해능·오프셋·채널·변환 기능

501-621

LM84는 8비트 센서 분해능입니다. ADM1020·ADM1021·GL523SM·MAX1617·NE1617·NE1617A·THMC10은 8비트 분해능과 저온 제한을 제공합니다. NCT210·NE1618은 원격 센서 11비트 분해능과 저온 제한을, ADM1021A·ADM1023은 여기에 원격 온도 오프셋을 더합니다.

LM90은 원격 11비트, 원격 오프셋, 저온·임계 제한, 설정 가능한 변환률, `0xBF` 필터·Alert 구성 레지스터를 제공하며 임계 온도 초과로 ALERT가 발생합니다. LM86·LM89는 외부 채널 정확도가 더 높고, LM99는 LM89와 같지만 외부 온도가 16도 아래로 이동합니다.

ADM1032는 `0x22` 연속 경보 레지스터, 변환 평균, 초당 최대 64회 변환, 원격 센서 개방 ALERT, Write Byte·Receive Byte용 SMBus PEC를 제공합니다. ADT7461·ADT7461A·NCT1008은 호환성을 깨는 확장 온도 범위, 낮아진 원격 정밀도, PEC, 10비트 온도를 제공합니다.

ADT7481·ADT7482·ADT7483은 오프셋, PEC, 외부 센서 10비트, 원격 센서 두 개를 제공하고 ADT7483은 주소를 선택할 수 있습니다. MAX6642는 임계 레지스터와 변환률 설정이 없지만 로컬·외부가 10비트입니다. MAX6646·6647·6649는 로컬 정밀도가 높고 부호 없는 확장 원격 범위를, MAX6648·6692는 향상된 로컬과 부호 없는 온도를 제공합니다.

MAX6654·MAX6690은 향상된 로컬, 선택 주소, 원격 센서 유형, 확장 범위를 제공하며 1 Hz 이하 변환률에서만 확장 정밀도를 쓸 수 있습니다. MAX6657·6658은 향상된 로컬과 원격 센서 유형을, MAX6659는 여기에 선택 주소와 두 번째 임계 제한을 더합니다. MAX6680·6681은 선택 주소와 원격 센서 유형을 제공합니다. MAX6695·6696은 향상된 로컬, 두 번째 임계 제한, 원격 센서 두 개를 제공하며 MAX6696은 주소 선택도 가능합니다.

W83L771W/G의 G는 무연 변형이며 `0xBF` 구성과 변환률에 따른 이동 평균을 지원합니다. 후속 AWG/ASG는 패키지만 다르고 원격 다이오드 이상 계수 구성을 `0xE3`에서 제공합니다. NCT7716은 8비트·선택 주소·변환률 설정, NCT7717은 8비트·변환률 설정, NCT7718은 원격 오프셋·11비트·저온 제한·변환률 설정을 지원합니다. SA56004X는 로컬 정밀도가 더 좋습니다.

모델 기능군
기능군대표 칩
8비트 + 저온 제한ADM1020/21, MAX1617, NE1617, THMC10
원격 11비트 + 오프셋ADM1021A/23, LM90, NCT7718
원격 센서 2개ADT7481/82/83, MAX6695/96
PECADM1032, ADT7461/61A, NCT1008, ADT748x
확장 온도 범위ADT7461 계열, MAX6654/6690
두 번째 임계 제한MAX6659, MAX6695/96
필터·이동 평균LM90, W83L771 계열
변환률 설정LM90, NCT7716/17/18 등

긴 기능 목록을 핵심 능력별로 묶습니다.

칩 기능 노출
로컬·원격 분해능 확인저온·고온·임계 제한 존재 확인오프셋·센서 유형·채널 수 확인변환률·필터·PEC 능력 확인지원되는 속성만 생성

모델별 능력을 공통 hwmon 속성에 매핑합니다.

LM84:
  * 8 bit sensor resolution

ADM1020, ADM1021, GL523SM, MAX1617, NE1617, NE1617A, THMC10:
  * 8 bit sensor resolution
  * Low temperature limits

NCT210, NE1618:
  * 11 bit sensor resolution for remote temperature sensor
  * Low temperature limits

ADM1021A, ADM1023:
  * Temperature offset register for remote temperature sensor
  * 11 bit resolution for remote temperature sensor
  * Low temperature limits

LM90:
  * 11 bit resolution for remote temperature sensor
  * Temperature offset register for remote temperature sensor
  * Low and critical temperature limits
  * Configurable conversion rate
  * Filter and alert configuration register at 0xBF.
  * ALERT is triggered by temperatures over critical limits.

LM86 and LM89:
  * Same as LM90
  * Better external channel accuracy

LM99:
  * Same as LM89
  * External temperature shifted by 16 degrees down

ADM1032:
  * Consecutive alert register at 0x22.
  * Conversion averaging.
  * Up to 64 conversions/s.
  * ALERT is triggered by open remote sensor.
  * SMBus PEC support for Write Byte and Receive Byte transactions.

ADT7461, ADT7461A, NCT1008:
  * Extended temperature range (breaks compatibility)
  * Lower resolution for remote temperature
  * SMBus PEC support for Write Byte and Receive Byte transactions.
  * 10 bit temperature resolution

ADT7481, ADT7482, ADT7483:
  * Temperature offset register
  * SMBus PEC support
  * 10 bit temperature resolution for external sensors
  * Two remote sensors
  * Selectable address (ADT7483)

MAX6642:
  * No critical limit register
  * Conversion rate not configurable
  * Better local resolution (10 bit)
  * 10 bit external sensor resolution

MAX6646, MAX6647, MAX6649:
  * Better local resolution
  * Extended range unsigned external temperature

MAX6648, MAX6692:
  * Better local resolution
  * Unsigned temperature

MAX6654, MAX6690:
  * Better local resolution
  * Selectable address
  * Remote sensor type selection
  * Extended temperature range
  * Extended resolution only available when conversion rate <= 1 Hz

MAX6657 and MAX6658:
  * Better local resolution
  * Remote sensor type selection

MAX6659:
  * Better local resolution
  * Selectable address
  * Second critical temperature limit
  * Remote sensor type selection

MAX6680 and MAX6681:
  * Selectable address
  * Remote sensor type selection

MAX6695 and MAX6696:
  * Better local resolution
  * Selectable address (max6696)
  * Second critical temperature limit
  * Two remote sensors

W83L771W/G
  * The G variant is lead-free, otherwise similar to the W.
  * Filter and alert configuration register at 0xBF
  * Moving average (depending on conversion rate)

W83L771AWG/ASG
  * Successor of the W83L771W/G, same features.
  * The AWG and ASG variants only differ in package format.
  * Diode ideality factor configuration (remote sensor) at 0xE3

NCT7716:
  * 8 bit sensor resolution
  * Selectable address
  * Configurable conversion rate

NCT7717:
  * 8 bit sensor resolution
  * Configurable conversion rate

NCT7718:
  * Temperature offset register for remote temperature sensor
  * 11 bit resolution for remote temperature sensor
  * Low temperature limits
  * Configurable conversion rate

SA56004X:
  * Better local resolution

공통 온도·임계 히스테리시스·갱신 주기

622-637

모든 온도 값은 섭씨입니다. 기본적으로 로컬 온도 분해능은 1.0 C, 원격 온도는 0.125 C입니다. MAX6654·MAX6657·MAX6658·MAX6659는 두 온도 모두 0.125 C 분해능입니다.

각 센서에는 개별 고온·저온 제한과 임계 제한이 있습니다. 두 임계값에는 공통 상대 히스테리시스 하나가 적용됩니다. 사용자 공간 편의를 위해 채널별 절대 히스테리시스 값 두 개를 내보내지만 서로 연결되어 있습니다. 로컬 히스테리시스만 설정할 수 있고 같은 차이가 원격 히스테리시스에도 적용됩니다.

드라이버는 `update_interval`에 설정된 주기보다 자주 값을 갱신하지 않습니다. 더 자주 읽어도 문제는 없지만 이전 값이 반환됩니다.

공통 온도 동작
항목내용
기본 로컬 분해능1.0 C
기본 원격 분해능0.125 C
MAX6654/57/58/59로컬·원격 모두 0.125 C
제한채널별 고온·저온·임계
히스테리시스두 임계값에 공통 상대 차이
갱신update_interval 단계

분해능과 연결된 임계 히스테리시스 구조입니다.

임계 히스테리시스 적용
채널별 임계값 설정로컬 절대 히스테리시스 설정상대 차이 계산원격 히스테리시스 자동 연동update_interval에 맞춰 상태 갱신

로컬에 쓴 상대 차이가 원격에도 연결됩니다.

All temperature values are given in degrees Celsius. Resolution
is 1.0 degree for the local temperature, 0.125 degree for the remote
temperature, except for the MAX6654, MAX6657, MAX6658 and MAX6659 which have
a resolution of 0.125 degree for both temperatures.

Each sensor has its own high and low limits, plus a critical limit.
Additionally, there is a relative hysteresis value common to both critical
values. To make life easier to user-space applications, two absolute values
are exported, one for each channel, but these values are of course linked.
Only the local hysteresis can be set from user-space, and the same delta
applies to the remote hysteresis.

The lm90 driver will not update its values more frequently than configured with
the update_interval attribute; reading them more often will do no harm, but will
return 'old' values.

SMBus Alert 수신과 비표준 칩 처리

638-650

드라이버는 기본적인 SMBus Alert를 지원합니다. Alert를 받으면 상태 레지스터를 읽고 문제가 발생한 온도 채널을 로그에 기록합니다.

Analog Devices ADM1032·ADT7461·ADT7461A와 ON Semiconductor NCT1008은 SMBus Alert 프로토콜을 올바르게 구현하지 않습니다. Alert를 받으면 ALERT 출력을 비활성화하고 경보 원인이 사라진 뒤에만 다시 활성화해야 합니다.

이 처리가 없으면 경보가 활성인 동안 해당 칩이 버스를 점유해 다른 칩의 Alert 전달을 막을 수 있습니다.

SMBus Alert 처리
경로동작
공통상태 레지스터 읽기, 고장 채널 기록
ADM1032/ADT7461/61A/NCT1008수신 즉시 ALERT 출력 비활성
재활성 조건경보 원인이 사라진 뒤
보정 목적다른 버스 장치의 Alert 차단 방지

표준 경로와 비표준 칩 보정 경로를 비교합니다.

Alert 수명주기
SMBus Alert 수신상태 레지스터 읽기고장 온도 채널 기록해당 칩 ALERT 출력 비활성경보 해제 뒤 재활성

비표준 칩에서는 출력 재활성화 시점을 통제합니다.

SMBus Alert Support
-------------------

This driver has basic support for SMBus alert. When an alert is received,
the status register is read and the faulty temperature channel is logged.

The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
Semiconductor chips (NCT1008) do not implement the SMBus alert protocol
properly so additional care is needed: the ALERT output is disabled when
an alert is received, and is re-enabled only when the alarm is gone.
Otherwise the chip would block alerts from other chips in the bus as long
as the alarm is active.

ADM1032 PEC 거래 제약과 성능 비용

651-684

이 계열에서 PEC를 지원하는 칩은 ADM1032뿐이며 모든 거래에서 지원하는 것은 아니므로 주의해야 합니다.

레지스터를 읽을 때 ADM1032는 PEC 바이트를 계산해 보냅니다. 그러나 결합 거래인 SMBus Read Byte에서는 메시지 전체가 아니라 두 번째 절반만 CRC 계산에 포함합니다. 첫 절반을 별도 거래로 인식하기 때문에 SMBus 마스터가 기대하는 CRC와 달라져 모든 읽기가 실패합니다.

따라서 버스가 SMBus Send Byte와 Receive Byte 거래를 모두 지원할 때만 ADM1032 PEC를 켭니다. 레지스터 읽기에는 Read Byte 대신 이 두 거래를 사용해야 PEC가 정상 동작합니다.

ADM1032는 PEC가 붙은 SMBus Send Byte도 지원하지 않습니다. PEC 값을 레지스터에 쓸 데이터로 오인하므로 드라이버는 Send Byte 거래에서 PEC를 명시적으로 끕니다.

바이트 데이터 PEC는 정상 조건에서도 쓰기 대역폭을 33%, 읽기를 25% 늘립니다. 읽기에 두 SMBus 거래가 필요하면 오버헤드는 50%가 되고 거래 완료 대기 또한 대체로 두 배가 되어 레지스터 캐시 갱신 시간이 사실상 배가됩니다.

이 성능 저하 때문에 PEC는 기본적으로 꺼져 있습니다. sysfs의 `pec` 파일에 1을 쓰면 활성화하고 0을 쓰면 다시 비활성화합니다.

ADM1032 PEC
항목동작·비용
Read Byte전체가 아닌 후반부 CRC로 실패
Receive ByteSend Byte와 조합해 읽기 가능
Send Byte거래 자체에서는 PEC 명시적 비활성
대역폭쓰기 +33%, 읽기 +25%, 두 거래 읽기 +50%
지연캐시 갱신 시간이 사실상 두 배
sysfs pec1 활성, 0 비활성, 기본 0

거래 유형별 지원과 비용입니다.

PEC 레지스터 읽기
Send Byte·Receive Byte 지원 확인pec=1로 기능 활성PEC 없이 Send Byte로 레지스터 선택PEC 포함 Receive Byte로 값 읽기CRC 검증과 성능 비용 반영

버스 능력을 확인하고 두 거래로 안전하게 읽습니다.

PEC Support
-----------

The ADM1032 is the only chip of the family which supports PEC. It does
not support PEC on all transactions though, so some care must be taken.

When reading a register value, the PEC byte is computed and sent by the
ADM1032 chip. However, in the case of a combined transaction (SMBus Read
Byte), the ADM1032 computes the CRC value over only the second half of
the message rather than its entirety, because it thinks the first half
of the message belongs to a different transaction. As a result, the CRC
value differs from what the SMBus master expects, and all reads fail.

For this reason, the lm90 driver will enable PEC for the ADM1032 only if
the bus supports the SMBus Send Byte and Receive Byte transaction types.
These transactions will be used to read register values, instead of
SMBus Read Byte, and PEC will work properly.

Additionally, the ADM1032 doesn't support SMBus Send Byte with PEC.
Instead, it will try to write the PEC value to the register (because the
SMBus Send Byte transaction with PEC is similar to a Write Byte transaction
without PEC), which is not what we want. Thus, PEC is explicitly disabled
on SMBus Send Byte transactions in the lm90 driver.

PEC on byte data transactions represents a significant increase in bandwidth
usage (+33% for writes, +25% for reads) in normal conditions. With the need
to use two SMBus transaction for reads, this overhead jumps to +50%. Worse,
two transactions will typically mean twice as much delay waiting for
transaction completion, effectively doubling the register cache refresh time.
I guess reliability comes at a price, but it's quite expensive this time.

So, as not everyone might enjoy the slowdown, PEC is disabled by default and
can be enabled through sysfs. Just write 1 to the "pec" file and PEC will be
enabled. Write 0 to that file to disable PEC again.