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

Linux 6.18.37 · Hardware Monitoring

Kernel driver lm85

LM85 호환 하드웨어 모니터의 온도 구역, 팬 타코미터와 3채널 자동 PWM입니다.

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

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

1. 요약·해설

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

요약·해설

lm85.rst:1-286

온도 3개·전압 5개·팬 4개를 감시하고 온도 구역과 자동 PWM을 연결하며 칩별 ADC·주파수·핀 기능 차이를 적용합니다.

문서 개요
항목
SourceDocumentation/hwmon/lm85.rst
분량286 source lines
PWM3개
측정 캐시1초

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

동작 흐름
칩 변형 식별측정 채널 등록온도 구역 설정자동 PWM과 경보 감시

장치 감지부터 자동 제어까지의 핵심 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver lm85
2 ==================
3
4 Supported chips:
5
6 * National Semiconductor LM85 (B and C versions)
7
8 Prefix: 'lm85b' or 'lm85c'
9
10 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
11
12 Datasheet: http://www.national.com/pf/LM/LM85.html
13
14 * Texas Instruments LM96000
15
16 Prefix: 'lm9600'
17
18 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
19
20 Datasheet: https://www.ti.com/lit/ds/symlink/lm96000.pdf
21
22 * Analog Devices ADM1027
23
24 Prefix: 'adm1027'
25
26 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
27
28 Datasheet: https://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
29
30 * Analog Devices ADT7463
31
32 Prefix: 'adt7463'
33
34 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
35
36 Datasheet: https://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
37
38 * Analog Devices ADT7468
39
40 Prefix: 'adt7468'
41
42 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
43
44 Datasheet: https://www.onsemi.com/PowerSolutions/product.do?id=ADT7468
45
46 * SMSC EMC6D100, SMSC EMC6D101
47
48 Prefix: 'emc6d100'
49
50 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
51
52 Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf
53
54 * SMSC EMC6D102
55
56 Prefix: 'emc6d102'
57
58 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
59
60 Datasheet: http://www.smsc.com/main/catalog/emc6d102.html
61
62 * SMSC EMC6D103
63
64 Prefix: 'emc6d103'
65
66 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
67
68 Datasheet: http://www.smsc.com/main/catalog/emc6d103.html
69
70 * SMSC EMC6D103S
71
72 Prefix: 'emc6d103s'
73
74 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
75
76 Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html
77
78 Authors:
79 - Philip Pokorny <[email protected]>,
80 - Frodo Looijaard <[email protected]>,
81 - Richard Barrington <[email protected]>,
82 - Margit Schubert-While <[email protected]>,
83 - Justin Thiessen <[email protected]>
84
85 Description
86 -----------
87
88 This driver implements support for the National Semiconductor LM85 and
89 compatible chips including the Analog Devices ADM1027, ADT7463, ADT7468 and
90 SMSC EMC6D10x chips family.
91
92 The LM85 uses the 2-wire interface compatible with the SMBUS 2.0
93 specification. Using an analog to digital converter it measures three (3)
94 temperatures and five (5) voltages. It has four (4) 16-bit counters for
95 measuring fan speed. Five (5) digital inputs are provided for sampling the
96 VID signals from the processor to the VRM. Lastly, there are three (3) PWM
97 outputs that can be used to control fan speed.
98
99 The voltage inputs have internal scaling resistors so that the following
100 voltage can be measured without external resistors:
101
102 2.5V, 3.3V, 5V, 12V, and CPU core voltage (2.25V)
103
104 The temperatures measured are one internal diode, and two remote diodes.
105 Remote 1 is generally the CPU temperature. These inputs are designed to
106 measure a thermal diode like the one in a Pentium 4 processor in a socket
107 423 or socket 478 package. They can also measure temperature using a
108 transistor like the 2N3904.
109
110 A sophisticated control system for the PWM outputs is designed into the
111 LM85 that allows fan speed to be adjusted automatically based on any of the
112 three temperature sensors. Each PWM output is individually adjustable and
113 programmable. Once configured, the LM85 will adjust the PWM outputs in
114 response to the measured temperatures without further host intervention.
115 This feature can also be disabled for manual control of the PWM's.
116
117 Each of the measured inputs (voltage, temperature, fan speed) has
118 corresponding high/low limit values. The LM85 will signal an ALARM if any
119 measured value exceeds either limit.
120
121 The LM85 samples all inputs continuously. The lm85 driver will not read
122 the registers more often than once a second. Further, configuration data is
123 only read once each 5 minutes. There is twice as much config data as
124 measurements, so this would seem to be a worthwhile optimization.
125
126 Special Features
127 ----------------
128
129 The LM85 has four fan speed monitoring modes. The ADM1027 has only two.
130 Both have special circuitry to compensate for PWM interactions with the
131 TACH signal from the fans. The ADM1027 can be configured to measure the
132 speed of a two wire fan, but the input conditioning circuitry is different
133 for 3-wire and 2-wire mode. For this reason, the 2-wire fan modes are not
134 exposed to user control. The BIOS should initialize them to the correct
135 mode. If you've designed your own ADM1027, you'll have to modify the
136 init_client function and add an insmod parameter to set this up.
137
138 To smooth the response of fans to changes in temperature, the LM85 has an
139 optional filter for smoothing temperatures. The ADM1027 has the same
140 config option but uses it to rate limit the changes to fan speed instead.
141
142 The ADM1027, ADT7463 and ADT7468 have a 10-bit ADC and can therefore
143 measure temperatures with 0.25 degC resolution. They also provide an offset
144 to the temperature readings that is automatically applied during
145 measurement. This offset can be used to zero out any errors due to traces
146 and placement. The documentation says that the offset is in 0.25 degC
147 steps, but in initial testing of the ADM1027 it was 1.00 degC steps. Analog
148 Devices has confirmed this "bug". The ADT7463 is reported to work as
149 described in the documentation. The current lm85 driver does not show the
150 offset register.
151
152 The ADT7468 has a high-frequency PWM mode, where all PWM outputs are
153 driven by a 22.5 kHz clock. This is a global mode, not per-PWM output,
154 which means that setting any PWM frequency above 11.3 kHz will switch
155 all 3 PWM outputs to a 22.5 kHz frequency. Conversely, setting any PWM
156 frequency below 11.3 kHz will switch all 3 PWM outputs to a frequency
157 between 10 and 100 Hz, which can then be tuned separately.
158
159 See the vendor datasheets for more information. There is application note
160 from National (AN-1260) with some additional information about the LM85.
161 The Analog Devices datasheet is very detailed and describes a procedure for
162 determining an optimal configuration for the automatic PWM control.
163
164 The SMSC EMC6D100 & EMC6D101 monitor external voltages, temperatures, and
165 fan speeds. They use this monitoring capability to alert the system to out
166 of limit conditions and can automatically control the speeds of multiple
167 fans in a PC or embedded system. The EMC6D101, available in a 24-pin SSOP
168 package, and the EMC6D100, available in a 28-pin SSOP package, are designed
169 to be register compatible. The EMC6D100 offers all the features of the
170 EMC6D101 plus additional voltage monitoring and system control features.
171 Unfortunately it is not possible to distinguish between the package
172 versions on register level so these additional voltage inputs may read
173 zero. EMC6D102 and EMC6D103 feature additional ADC bits thus extending precision
174 of voltage and temperature channels.
175
176 SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl
177 and temp#_auto_temp_off.
178
179 The LM96000 supports additional high frequency PWM modes (22.5 kHz, 24 kHz,
180 25.7 kHz, 27.7 kHz and 30 kHz), which can be configured on a per-PWM basis.
181
182 Hardware Configurations
183 -----------------------
184
185 The LM85 can be jumpered for 3 different SMBus addresses. There are
186 no other hardware configuration options for the LM85.
187
188 The lm85 driver detects both LM85B and LM85C revisions of the chip. See the
189 datasheet for a complete description of the differences. Other than
190 identifying the chip, the driver behaves no differently with regard to
191 these two chips. The LM85B is recommended for new designs.
192
193 The ADM1027, ADT7463 and ADT7468 chips have an optional SMBALERT output
194 that can be used to signal the chipset in case a limit is exceeded or the
195 temperature sensors fail. Individual sensor interrupts can be masked so
196 they won't trigger SMBALERT. The SMBALERT output if configured replaces one
197 of the other functions (PWM2 or IN0). This functionality is not implemented
198 in current driver.
199
200 The ADT7463 and ADT7468 also have an optional THERM output/input which can
201 be connected to the processor PROC_HOT output. If available, the autofan
202 control dynamic Tmin feature can be enabled to keep the system temperature
203 within spec (just?!) with the least possible fan noise.
204
205 Configuration Notes
206 -------------------
207
208 Besides standard interfaces driver adds following:
209
210 * Temperatures and Zones
211
212 Each temperature sensor is associated with a Zone. There are three
213 sensors and therefore three zones (# 1, 2 and 3). Each zone has the following
214 temperature configuration points:
215
216 * temp#_auto_temp_off
217 - temperature below which fans should be off or spinning very low.
218 * temp#_auto_temp_min
219 - temperature over which fans start to spin.
220 * temp#_auto_temp_max
221 - temperature when fans spin at full speed.
222 * temp#_auto_temp_crit
223 - temperature when all fans will run full speed.
224
225 PWM Control
226 ^^^^^^^^^^^
227
228 There are three PWM outputs. The LM85 datasheet suggests that the
229 pwm3 output control both fan3 and fan4. Each PWM can be individually
230 configured and assigned to a zone for its control value. Each PWM can be
231 configured individually according to the following options.
232
233 * pwm#_auto_pwm_min
234 - this specifies the PWM value for temp#_auto_temp_off
235 temperature. (PWM value from 0 to 255)
236
237 * pwm#_auto_pwm_minctl
238 - this flags selects for temp#_auto_temp_off temperature
239 the behaviour of fans. Write 1 to let fans spinning at
240 pwm#_auto_pwm_min or write 0 to let them off.
241
242 .. note::
243
244 It has been reported that there is a bug in the LM85 that causes
245 the flag to be associated with the zones not the PWMs. This
246 contradicts all the published documentation. Setting pwm#_min_ctl
247 in this case actually affects all PWMs controlled by zone '#'.
248
249 PWM Controlling Zone selection
250 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
251
252 * pwm#_auto_channels
253 - controls zone that is associated with PWM
254
255 Configuration choices:
256
257 ========== =============================================
258 Value Meaning
259 ========== =============================================
260 1 Controlled by Zone 1
261 2 Controlled by Zone 2
262 3 Controlled by Zone 3
263 23 Controlled by higher temp of Zone 2 or 3
264 123 Controlled by highest temp of Zone 1, 2 or 3
265 0 PWM always 0% (off)
266 -1 PWM always 100% (full on)
267 -2 Manual control (write to 'pwm#' to set)
268 ========== =============================================
269
270 The National LM85's have two vendor specific configuration
271 features. Tach. mode and Spinup Control. For more details on these,
272 see the LM85 datasheet or Application Note AN-1260. These features
273 are not currently supported by the lm85 driver.
274
275 The Analog Devices ADM1027 has several vendor specific enhancements.
276 The number of pulses-per-rev of the fans can be set, Tach monitoring
277 can be optimized for PWM operation, and an offset can be applied to
278 the temperatures to compensate for systemic errors in the
279 measurements. These features are not currently supported by the lm85
280 driver.
281
282 In addition to the ADM1027 features, the ADT7463 and ADT7468 also have
283 Tmin control and THERM asserted counts. Automatic Tmin control acts to
284 adjust the Tmin value to maintain the measured temperature sensor at a
285 specified temperature. There isn't much documentation on this feature in
286 the ADT7463 data sheet. This is not supported by current driver.
287

3. 한국어 전문 번역

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

LM85 및 호환 칩 지원 목록

1-84

드라이버는 National Semiconductor LM85B·LM85C, TI LM96000, Analog Devices ADM1027·ADT7463·ADT7468, SMSC EMC6D100·EMC6D101·EMC6D102·EMC6D103·EMC6D103S를 지원합니다.

모든 칩은 I2C 주소 `0x2c`, `0x2d`, `0x2e`에서 검색됩니다. 접두사는 `lm85b` 또는 `lm85c`, `lm9600`, `adm1027`, `adt7463`, `adt7468`, `emc6d100`, `emc6d102`, `emc6d103`, `emc6d103s`이며 원문 데이터시트 링크를 보존합니다.

작성자는 Philip Pokorny, Frodo Looijaard, Richard Barrington, Margit Schubert-While, Justin Thiessen입니다.

LM85 호환 계열
제조사접두사
National SemiconductorLM85B, LM85Clm85b, lm85c
Texas InstrumentsLM96000lm9600
Analog DevicesADM1027, ADT7463, ADT7468모델명 소문자
SMSCEMC6D100/101emc6d100
SMSCEMC6D102/103/103S모델별 접두사

지원 칩과 드라이버 접두사를 제조사별로 정리합니다.

LM85 계열 탐색
I2C 0x2c~0x2e 검색칩 제조사와 ID 확인정확한 접두사 선택lm85 호환 드라이버 결합모델별 기능 집합 게시

공통 주소에서 제조사와 변형을 구분합니다.

Kernel driver lm85
==================

Supported chips:

  * National Semiconductor LM85 (B and C versions)

    Prefix: 'lm85b' or 'lm85c'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: http://www.national.com/pf/LM/LM85.html

  * Texas Instruments LM96000

    Prefix: 'lm9600'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: https://www.ti.com/lit/ds/symlink/lm96000.pdf

  * Analog Devices ADM1027

    Prefix: 'adm1027'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

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

  * Analog Devices ADT7463

    Prefix: 'adt7463'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

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

  * Analog Devices ADT7468

    Prefix: 'adt7468'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

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

  * SMSC EMC6D100, SMSC EMC6D101

    Prefix: 'emc6d100'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf

  * SMSC EMC6D102

    Prefix: 'emc6d102'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: http://www.smsc.com/main/catalog/emc6d102.html

  * SMSC EMC6D103

    Prefix: 'emc6d103'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: http://www.smsc.com/main/catalog/emc6d103.html

  * SMSC EMC6D103S

    Prefix: 'emc6d103s'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html

Authors:
       - Philip Pokorny <[email protected]>,
       - Frodo Looijaard <[email protected]>,
       - Richard Barrington <[email protected]>,
       - Margit Schubert-While <[email protected]>,
       - Justin Thiessen <[email protected]>

전압·온도·팬·VID·PWM 기본 기능

85-125

LM85와 ADM1027·ADT7463·ADT7468·EMC6D10x 호환품은 SMBus 2.0 호환 2선 인터페이스를 사용합니다. ADC로 온도 3개와 전압 5개를 측정하고, 팬 속도용 16비트 카운터 4개, 프로세서에서 VRM으로 가는 VID 신호용 디지털 입력 5개, 팬 제어용 PWM 출력 3개를 제공합니다.

내부 스케일 저항으로 외부 저항 없이 2.5 V, 3.3 V, 5 V, 12 V와 CPU 코어 전압 2.25 V를 측정할 수 있습니다. 온도 채널은 내부 다이오드 1개와 원격 다이오드 2개이며 원격 1은 일반적으로 CPU 온도입니다. 원격 입력은 소켓 423·478 Pentium 4의 열 다이오드나 2N3904 같은 트랜지스터를 측정할 수 있습니다.

세 PWM 출력은 세 온도 센서 중 어느 것이든 기준으로 삼아 자동 조절할 수 있습니다. 각 출력은 독립적으로 구성되며 설정 뒤에는 호스트 개입 없이 측정 온도에 반응합니다. 자동 기능을 끄고 수동 PWM으로 제어할 수도 있습니다.

전압·온도·팬 입력마다 상한과 하한이 있고 어느 값이든 제한을 벗어나면 ALARM이 발생합니다. 칩은 연속 측정하지만 드라이버는 레지스터를 1초보다 자주 읽지 않고, 측정 데이터의 약 두 배인 구성 데이터는 최적화를 위해 5분마다 한 번 읽습니다.

LM85 기본 채널
기능수량·범위
온도3개: 내부 1, 원격 2
전압5개: 2.5·3.3·5·12·2.25 V 스케일
팬 타코미터16비트 카운터 4개
VID디지털 입력 5개
PWM자동 또는 수동 출력 3개
갱신측정 1초, 구성 5분

측정·입력·출력 채널과 캐시 주기입니다.

자동 팬 제어 기본 경로
세 온도와 다섯 전압 연속 측정팬 타코미터와 VID 샘플링상한·하한 경보 비교온도 구역에 따라 PWM 자동 계산1초 측정·5분 구성 캐시 적용

온도 측정에서 PWM 조절과 경보까지 연결됩니다.

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

This driver implements support for the National Semiconductor LM85 and
compatible chips including the Analog Devices ADM1027, ADT7463, ADT7468 and
SMSC EMC6D10x chips family.

The LM85 uses the 2-wire interface compatible with the SMBUS 2.0
specification. Using an analog to digital converter it measures three (3)
temperatures and five (5) voltages. It has four (4) 16-bit counters for
measuring fan speed. Five (5) digital inputs are provided for sampling the
VID signals from the processor to the VRM. Lastly, there are three (3) PWM
outputs that can be used to control fan speed.

The voltage inputs have internal scaling resistors so that the following
voltage can be measured without external resistors:

  2.5V, 3.3V, 5V, 12V, and CPU core voltage (2.25V)

The temperatures measured are one internal diode, and two remote diodes.
Remote 1 is generally the CPU temperature. These inputs are designed to
measure a thermal diode like the one in a Pentium 4 processor in a socket
423 or socket 478 package. They can also measure temperature using a
transistor like the 2N3904.

A sophisticated control system for the PWM outputs is designed into the
LM85 that allows fan speed to be adjusted automatically based on any of the
three temperature sensors. Each PWM output is individually adjustable and
programmable. Once configured, the LM85 will adjust the PWM outputs in
response to the measured temperatures without further host intervention.
This feature can also be disabled for manual control of the PWM's.

Each of the measured inputs (voltage, temperature, fan speed) has
corresponding high/low limit values. The LM85 will signal an ALARM if any
measured value exceeds either limit.

The LM85 samples all inputs continuously. The lm85 driver will not read
the registers more often than once a second. Further, configuration data is
only read once each 5 minutes. There is twice as much config data as
measurements, so this would seem to be a worthwhile optimization.

팬 모드·ADC 정밀도·고주파 PWM·SMSC 차이

126-181

LM85에는 팬 속도 감시 모드가 네 개, ADM1027에는 두 개가 있습니다. 두 칩 모두 PWM이 팬 TACH 신호에 미치는 영향을 보상합니다. ADM1027은 2선 팬 속도도 측정할 수 있지만 3선 모드와 입력 회로가 달라 2선 모드를 사용자 제어로 노출하지 않습니다. BIOS가 올바르게 초기화해야 하며 자체 설계라면 `init_client`와 모듈 매개변수 수정이 필요합니다.

LM85의 선택적 온도 필터는 온도 변화에 대한 팬 반응을 부드럽게 합니다. ADM1027의 같은 구성 비트는 팬 속도 변화율을 제한하는 데 사용됩니다.

ADM1027·ADT7463·ADT7468은 10비트 ADC로 0.25 C 분해능 온도를 측정하고 배선·배치 오차를 보정하는 오프셋을 자동 적용합니다. 문서는 0.25 C 단계를 명시하지만 ADM1027 초기 시험에서는 1.00 C 단계였고 제조사가 버그를 확인했습니다. ADT7463은 문서대로 동작한다고 보고됐으며 현재 드라이버는 오프셋 레지스터를 표시하지 않습니다.

ADT7468 고주파 PWM은 전역 모드입니다. 어느 출력이든 11.3 kHz보다 높게 설정하면 세 출력 모두 22.5 kHz가 되고, 어느 출력이든 11.3 kHz 아래로 설정하면 세 출력 모두 10~100 Hz 범위로 바뀐 뒤 각각 조절할 수 있습니다.

SMSC EMC6D100·101은 전압·온도·팬을 감시하고 자동 팬 제어를 수행합니다. 28핀 EMC6D100은 24핀 EMC6D101 기능에 전압 감시와 시스템 제어가 더 있지만 레지스터만으로 패키지를 구별할 수 없어 추가 전압 입력이 0으로 읽힐 수 있습니다. EMC6D102·103은 ADC 비트를 늘려 정밀도를 높였고, EMC6D103S는 `pwm#_auto_pwm_minctl`과 `temp#_auto_temp_off`를 지원하지 않습니다.

LM96000은 PWM별로 22.5·24·25.7·27.7·30 kHz 고주파 모드를 지원합니다.

LM85 계열 특수 기능
특수 기능드라이버 제약
LM85팬 모드 4개, 온도 평활 필터일부 제조사 기능 미지원
ADM1027팬 모드 2개, 10비트 ADC, 변화율 제한2선 팬 모드·오프셋 미노출
ADT74630.25 C ADC와 오프셋오프셋 미노출
ADT7468전역 22.5 kHz PWM11.3 kHz 경계가 세 출력에 공통
EMC6D100/101패키지별 추가 입력레지스터로 구별 불가
LM96000PWM별 22.5~30 kHz출력별 설정 가능

칩별 ADC·팬·PWM 차이를 비교합니다.

모델별 기능 적용
칩 변형 식별팬 입력 회로와 ADC 폭 선택오프셋·필터 지원 여부 확인전역 또는 출력별 PWM 주파수 적용미지원 속성 숨김

공통 코어 뒤에 각 변형의 기능과 제약을 적용합니다.

Special Features
----------------

The LM85 has four fan speed monitoring modes. The ADM1027 has only two.
Both have special circuitry to compensate for PWM interactions with the
TACH signal from the fans. The ADM1027 can be configured to measure the
speed of a two wire fan, but the input conditioning circuitry is different
for 3-wire and 2-wire mode. For this reason, the 2-wire fan modes are not
exposed to user control. The BIOS should initialize them to the correct
mode. If you've designed your own ADM1027, you'll have to modify the
init_client function and add an insmod parameter to set this up.

To smooth the response of fans to changes in temperature, the LM85 has an
optional filter for smoothing temperatures. The ADM1027 has the same
config option but uses it to rate limit the changes to fan speed instead.

The ADM1027, ADT7463 and ADT7468 have a 10-bit ADC and can therefore
measure temperatures with 0.25 degC resolution. They also provide an offset
to the temperature readings that is automatically applied during
measurement. This offset can be used to zero out any errors due to traces
and placement. The documentation says that the offset is in 0.25 degC
steps, but in initial testing of the ADM1027 it was 1.00 degC steps. Analog
Devices has confirmed this "bug". The ADT7463 is reported to work as
described in the documentation. The current lm85 driver does not show the
offset register.

The ADT7468 has a high-frequency PWM mode, where all PWM outputs are
driven by a 22.5 kHz clock. This is a global mode, not per-PWM output,
which means that setting any PWM frequency above 11.3 kHz will switch
all 3 PWM outputs to a 22.5 kHz frequency. Conversely, setting any PWM
frequency below 11.3 kHz will switch all 3 PWM outputs to a frequency
between 10 and 100 Hz, which can then be tuned separately.

See the vendor datasheets for more information. There is application note
from National (AN-1260) with some additional information about the LM85.
The Analog Devices datasheet is very detailed and describes a procedure for
determining an optimal configuration for the automatic PWM control.

The SMSC EMC6D100 & EMC6D101 monitor external voltages, temperatures, and
fan speeds. They use this monitoring capability to alert the system to out
of limit conditions and can automatically control the speeds of multiple
fans in a PC or embedded system. The EMC6D101, available in a 24-pin SSOP
package, and the EMC6D100, available in a 28-pin SSOP package, are designed
to be register compatible. The EMC6D100 offers all the features of the
EMC6D101 plus additional voltage monitoring and system control features.
Unfortunately it is not possible to distinguish between the package
versions on register level so these additional voltage inputs may read
zero. EMC6D102 and EMC6D103 feature additional ADC bits thus extending precision
of voltage and temperature channels.

SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl
and temp#_auto_temp_off.

The LM96000 supports additional high frequency PWM modes (22.5 kHz, 24 kHz,
25.7 kHz, 27.7 kHz and 30 kHz), which can be configured on a per-PWM basis.

SMBus 주소·SMBALERT·THERM 하드웨어 구성

182-204

LM85는 점퍼로 세 SMBus 주소 중 하나를 고를 수 있으며 그 밖의 하드웨어 구성 선택지는 없습니다. 드라이버는 LM85B와 LM85C 리비전을 모두 감지하지만 식별 외에는 두 칩을 다르게 다루지 않습니다. 새 설계에는 LM85B가 권장됩니다.

ADM1027·ADT7463·ADT7468의 선택적 SMBALERT 출력은 제한 초과나 온도 센서 고장을 칩셋에 알릴 수 있고 개별 센서 인터럽트를 마스킹할 수 있습니다. SMBALERT를 사용하면 PWM2 또는 IN0 기능 하나를 대신하지만 현재 드라이버는 이 기능을 구현하지 않습니다.

ADT7463·ADT7468은 프로세서 `PROC_HOT`에 연결할 수 있는 선택적 THERM 입출력도 제공합니다. 사용할 수 있으면 자동 팬 제어의 동적 Tmin 기능으로 규정 온도를 가능한 낮은 팬 소음으로 유지할 수 있습니다.

LM85 하드웨어 출력
기능동작현재 지원
SMBus 주소점퍼로 3개 중 선택지원
LM85B/C 리비전감지하나 동일 동작지원
SMBALERT제한·센서 고장 출력, PWM2 또는 IN0 대체미구현
THERM / PROC_HOT동적 Tmin 연동관련 자동 기능 제한

보드 설계에서 선택하는 주소와 신호 기능입니다.

보드 구성 확인
SMBus 주소 점퍼 확인LM85B·LM85C 리비전 식별SMBALERT 핀 다중화 확인THERM·PROC_HOT 연결 확인드라이버 지원 채널만 게시

핀 다중화가 hwmon 채널에 미치는 영향을 확인합니다.

Hardware Configurations
-----------------------

The LM85 can be jumpered for 3 different SMBus addresses. There are
no other hardware configuration options for the LM85.

The lm85 driver detects both LM85B and LM85C revisions of the chip. See the
datasheet for a complete description of the differences. Other than
identifying the chip, the driver behaves no differently with regard to
these two chips. The LM85B is recommended for new designs.

The ADM1027, ADT7463 and ADT7468 chips have an optional SMBALERT output
that can be used to signal the chipset in case a limit is exceeded or the
temperature sensors fail. Individual sensor interrupts can be masked so
they won't trigger SMBALERT. The SMBALERT output if configured replaces one
of the other functions (PWM2 or IN0). This functionality is not implemented
in current driver.

The ADT7463 and ADT7468 also have an optional THERM output/input which can
be connected to the processor PROC_HOT output. If available, the autofan
control dynamic Tmin feature can be enabled to keep the system temperature
within spec (just?!) with the least possible fan noise.

온도 구역과 자동 PWM 구성

205-286

표준 인터페이스 외에 드라이버는 온도와 구역, 자동 PWM 설정을 추가합니다. 온도 센서 세 개는 구역 1·2·3에 각각 연결됩니다. 각 구역에는 팬을 끄거나 매우 느리게 돌리는 온도 `temp#_auto_temp_off`, 팬이 돌기 시작하는 `temp#_auto_temp_min`, 최고 속도가 되는 `temp#_auto_temp_max`, 모든 팬을 최고 속도로 돌리는 `temp#_auto_temp_crit`가 있습니다.

PWM 출력은 세 개이고 데이터시트는 `pwm3`이 fan3과 fan4를 함께 제어한다고 설명합니다. 각 PWM은 독립 설정하고 제어 구역에 할당합니다. `pwm#_auto_pwm_min`은 off 온도에서 사용할 0~255 PWM 값이며, `pwm#_auto_pwm_minctl`은 1이면 그 최소 PWM으로 계속 돌고 0이면 팬을 끕니다.

LM85에는 `pwm#_min_ctl` 플래그가 PWM이 아니라 구역과 연결되는 버그가 보고되었습니다. 문서와 모순되며 이 경우 구역 번호의 플래그를 바꾸면 그 구역이 제어하는 모든 PWM에 영향을 줍니다.

`pwm#_auto_channels`는 PWM과 연결할 온도 구역을 선택합니다. 값 1·2·3은 해당 구역, 23은 구역 2와 3 중 더 높은 온도, 123은 세 구역 중 최고 온도를 사용합니다. 0은 항상 0%로 끄기, -1은 항상 100%, -2는 `pwm#`에 직접 쓰는 수동 제어입니다.

LM85의 제조사 고유 타코미터 모드와 Spinup Control은 현재 지원하지 않습니다. ADM1027의 회전당 펄스 설정·PWM 최적화 타코 감시·온도 오프셋도 미지원입니다. ADT7463·ADT7468의 Tmin 제어와 THERM 주장 횟수, 측정 온도를 목표에 맞추는 자동 Tmin 제어 역시 현재 드라이버가 지원하지 않습니다.

pwm#_auto_channels 값
의미
1 / 2 / 3구역 1 / 2 / 3이 제어
23구역 2·3 중 높은 온도
123세 구역 중 최고 온도
0항상 0%, 끔
-1항상 100%, 완전 가동
-2pwm# 직접 쓰기 수동 제어

PWM을 제어할 온도 구역 또는 고정 모드를 선택합니다.

LM85 자동 PWM 계산
센서 1·2·3을 구역에 연결off·min·max·crit 온도 설정PWM 최소값과 정지 정책 선택pwm#_auto_channels로 제어 구역 선택최고 온도와 모드에 따라 PWM 출력

구역 온도와 설정점을 PWM 출력으로 변환합니다.

Configuration Notes
-------------------

Besides standard interfaces driver adds following:

* Temperatures and Zones

Each temperature sensor is associated with a Zone. There are three
sensors and therefore three zones (# 1, 2 and 3). Each zone has the following
temperature configuration points:

* temp#_auto_temp_off
        - temperature below which fans should be off or spinning very low.
* temp#_auto_temp_min
        - temperature over which fans start to spin.
* temp#_auto_temp_max
        - temperature when fans spin at full speed.
* temp#_auto_temp_crit
        - temperature when all fans will run full speed.

PWM Control
^^^^^^^^^^^

There are three PWM outputs. The LM85 datasheet suggests that the
pwm3 output control both fan3 and fan4. Each PWM can be individually
configured and assigned to a zone for its control value. Each PWM can be
configured individually according to the following options.

* pwm#_auto_pwm_min
        - this specifies the PWM value for temp#_auto_temp_off
          temperature. (PWM value from 0 to 255)

* pwm#_auto_pwm_minctl
        - this flags selects for temp#_auto_temp_off temperature
          the behaviour of fans. Write 1 to let fans spinning at
          pwm#_auto_pwm_min or write 0 to let them off.

.. note::

        It has been reported that there is a bug in the LM85 that causes
        the flag to be associated with the zones not the PWMs. This
        contradicts all the published documentation. Setting pwm#_min_ctl
        in this case actually affects all PWMs controlled by zone '#'.

PWM Controlling Zone selection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* pwm#_auto_channels
        - controls zone that is associated with PWM

Configuration choices:

========== =============================================
Value      Meaning
========== =============================================
      1    Controlled by Zone 1
      2    Controlled by Zone 2
      3    Controlled by Zone 3
     23    Controlled by higher temp of Zone 2 or 3
    123    Controlled by highest temp of Zone 1, 2 or 3
      0    PWM always 0%  (off)
     -1    PWM always 100%  (full on)
     -2    Manual control (write to 'pwm#' to set)
========== =============================================

The National LM85's have two vendor specific configuration
features. Tach. mode and Spinup Control. For more details on these,
see the LM85 datasheet or Application Note AN-1260. These features
are not currently supported by the lm85 driver.

The Analog Devices ADM1027 has several vendor specific enhancements.
The number of pulses-per-rev of the fans can be set, Tach monitoring
can be optimized for PWM operation, and an offset can be applied to
the temperatures to compensate for systemic errors in the
measurements. These features are not currently supported by the lm85
driver.

In addition to the ADM1027 features, the ADT7463 and ADT7468 also have
Tmin control and THERM asserted counts. Automatic Tmin control acts to
adjust the Tmin value to maintain the measured temperature sensor at a
specified temperature. There isn't much documentation on this feature in
the ADT7463 data sheet. This is not supported by current driver.