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

Linux 6.18.37 · Hardware Monitoring

Kernel driver w83627ehf

W83627EHF 계열의 다양한 센서와 Thermal Cruise·Smart Fan 모드, 칩별 레지스터 차이를 설명합니다.

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

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

1. 요약·해설

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

요약·해설

w83627ehf.rst:1-248

W83627EHF 계열은 온도·팬·전압·VID를 감시하고 여러 자동 팬 모드를 제공하며 EHF와 DHG의 레지스터 의미가 일부 다릅니다.

문서 개요
항목
SourceDocumentation/hwmon/w83627ehf.rst
분량248 source lines
지원 변형9
팬 제어수동·자동

원문 분량과 핵심 기능을 요약합니다.

동작 흐름
Super-I/O 변형 판별센서 원천 구성PWM 모드 선택Thermal Cruise 조정칩별 레지스터 접근

장치 초기화부터 측정·상태 제공까지의 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver w83627ehf
2 =======================
3
4 Supported chips:
5
6 * Winbond W83627EHF/EHG (ISA access ONLY)
7
8 Prefix: 'w83627ehf'
9
10 Addresses scanned: ISA address retrieved from Super I/O registers
11
12 Datasheet: not available
13
14 * Winbond W83627DHG
15
16 Prefix: 'w83627dhg'
17
18 Addresses scanned: ISA address retrieved from Super I/O registers
19
20 Datasheet: not available
21
22 * Winbond W83627DHG-P
23
24 Prefix: 'w83627dhg'
25
26 Addresses scanned: ISA address retrieved from Super I/O registers
27
28 Datasheet: not available
29
30 * Winbond W83627UHG
31
32 Prefix: 'w83627uhg'
33
34 Addresses scanned: ISA address retrieved from Super I/O registers
35
36 Datasheet: available from www.nuvoton.com
37
38 * Winbond W83667HG
39
40 Prefix: 'w83667hg'
41
42 Addresses scanned: ISA address retrieved from Super I/O registers
43
44 Datasheet: not available
45
46 * Winbond W83667HG-B
47
48 Prefix: 'w83667hg'
49
50 Addresses scanned: ISA address retrieved from Super I/O registers
51
52 Datasheet: Available from Nuvoton upon request
53
54 * Nuvoton NCT6775F/W83667HG-I
55
56 Prefix: 'nct6775'
57
58 Addresses scanned: ISA address retrieved from Super I/O registers
59
60 Datasheet: Available from Nuvoton upon request
61
62 * Nuvoton NCT6776F
63
64 Prefix: 'nct6776'
65
66 Addresses scanned: ISA address retrieved from Super I/O registers
67
68 Datasheet: Available from Nuvoton upon request
69
70
71 Authors:
72
73 - Jean Delvare <[email protected]>
74 - Yuan Mu (Winbond)
75 - Rudolf Marek <[email protected]>
76 - David Hubbard <[email protected]>
77 - Gong Jun <[email protected]>
78
79 Description
80 -----------
81
82 This driver implements support for the Winbond W83627EHF, W83627EHG,
83 W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B, W83667HG-I
84 (NCT6775F), and NCT6776F super I/O chips. We will refer to them collectively
85 as Winbond chips.
86
87 The chips implement 3 to 4 temperature sensors (9 for NCT6775F and NCT6776F),
88 2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID
89 (except for 627UHG), alarms with beep warnings (control unimplemented),
90 and some automatic fan regulation strategies (plus manual fan control mode).
91
92 The temperature sensor sources on W82677HG-B, NCT6775F, and NCT6776F are
93 configurable. temp4 and higher attributes are only reported if its temperature
94 source differs from the temperature sources of the already reported temperature
95 sensors. The configured source for each of the temperature sensors is provided
96 in tempX_label.
97
98 Temperatures are measured in degrees Celsius and measurement resolution is 1
99 degC for temp1 and 0.5 degC for temp2 and temp3. For temp4 and higher,
100 resolution is 1 degC for W83667HG-B and 0.0 degC for NCT6775F and NCT6776F.
101 An alarm is triggered when the temperature gets higher than high limit;
102 it stays on until the temperature falls below the hysteresis value.
103 Alarms are only supported for temp1, temp2, and temp3.
104
105 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
106 triggered if the rotation speed has dropped below a programmable limit. Fan
107 readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or
108 128) to give the readings more range or accuracy. The driver sets the most
109 suitable fan divisor itself. Some fans might not be present because they
110 share pins with other functions.
111
112 Voltage sensors (also known as IN sensors) report their values in millivolts.
113 An alarm is triggered if the voltage has crossed a programmable minimum
114 or maximum limit.
115
116 The driver supports automatic fan control mode known as Thermal Cruise.
117 In this mode, the chip attempts to keep the measured temperature in a
118 predefined temperature range. If the temperature goes out of range, fan
119 is driven slower/faster to reach the predefined range again.
120
121 The mode works for fan1-fan4. Mapping of temperatures to pwm outputs is as
122 follows::
123
124 temp1 -> pwm1
125 temp2 -> pwm2
126 temp3 -> pwm3 (not on 627UHG)
127 prog -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not
128 supported by the driver)
129
130 /sys files
131 ----------
132
133 name
134 this is a standard hwmon device entry, it contains the name of
135 the device (see the prefix in the list of supported devices at
136 the top of this file)
137
138 pwm[1-4]
139 this file stores PWM duty cycle or DC value (fan speed) in range:
140
141 0 (stop) to 255 (full)
142
143 pwm[1-4]_enable
144 this file controls mode of fan/temperature control:
145
146 * 1 Manual mode, write to pwm file any value 0-255 (full speed)
147 * 2 "Thermal Cruise" mode
148 * 3 "Fan Speed Cruise" mode
149 * 4 "Smart Fan III" mode
150 * 5 "Smart Fan IV" mode
151
152 SmartFan III mode is not supported on NCT6776F.
153
154 SmartFan IV mode is configurable only if it was configured at system
155 startup, and is only supported for W83677HG-B, NCT6775F, and NCT6776F.
156 SmartFan IV operational parameters can not be configured at this time,
157 and the various pwm attributes are not used in SmartFan IV mode.
158 The attributes can be written to, which is useful if you plan to
159 configure the system for a different pwm mode. However, the information
160 returned when reading pwm attributes is unrelated to SmartFan IV
161 operation.
162
163 pwm[1-4]_mode
164 controls if output is PWM or DC level
165
166 * 0 DC output (0 - 12v)
167 * 1 PWM output
168
169 Thermal Cruise mode
170 -------------------
171
172 If the temperature is in the range defined by:
173
174 pwm[1-4]_target
175 set target temperature, unit millidegree Celsius
176 (range 0 - 127000)
177 pwm[1-4]_tolerance
178 tolerance, unit millidegree Celsius (range 0 - 15000)
179
180 there are no changes to fan speed. Once the temperature leaves the interval,
181 fan speed increases (temp is higher) or decreases if lower than desired.
182 There are defined steps and times, but not exported by the driver yet.
183
184 pwm[1-4]_min_output
185 minimum fan speed (range 1 - 255), when the temperature
186 is below defined range.
187 pwm[1-4]_stop_time
188 how many milliseconds [ms] must elapse to switch
189 corresponding fan off. (when the temperature was below
190 defined range).
191 pwm[1-4]_start_output
192 minimum fan speed (range 1 - 255) when spinning up
193 pwm[1-4]_step_output
194 rate of fan speed change (1 - 255)
195 pwm[1-4]_stop_output
196 minimum fan speed (range 1 - 255) when spinning down
197 pwm[1-4]_max_output
198 maximum fan speed (range 1 - 255), when the temperature
199 is above defined range.
200
201 Note: last six functions are influenced by other control bits, not yet exported
202 by the driver, so a change might not have any effect.
203
204 Implementation Details
205 ----------------------
206
207 Future driver development should bear in mind that the following registers have
208 different functions on the 627EHF and the 627DHG. Some registers also have
209 different power-on default values, but BIOS should already be loading
210 appropriate defaults. Note that bank selection must be performed as is currently
211 done in the driver for all register addresses.
212
213 ========================= =====================================================
214 Register(s) Meaning
215 ========================= =====================================================
216 0x49 only on DHG, selects temperature source for AUX fan,
217 CPU fan0
218 0x4a not completely documented for the EHF and the DHG
219 documentation assigns different behavior to bits 7
220 and 6, including extending the temperature input
221 selection to SmartFan I, not just SmartFan III.
222 Testing on the EHF will reveal whether they are
223 compatible or not.
224 0x58 Chip ID: 0xa1=EHF 0xc1=DHG
225 0x5e only on DHG, has bits to enable "current mode"
226 temperature detection and critical temperature
227 protection
228 0x45b only on EHF, bit 3, vin4 alarm (EHF supports 10
229 inputs, only 9 on DHG)
230 0x552 only on EHF, vin4
231 0x558 only on EHF, vin4 high limit
232 0x559 only on EHF, vin4 low limit
233 0x6b only on DHG, SYS fan critical temperature
234 0x6c only on DHG, CPU fan0 critical temperature
235 0x6d only on DHG, AUX fan critical temperature
236 0x6e only on DHG, CPU fan1 critical temperature
237 0x50-0x55 and 0x650-0x657 marked as:
238
239 - "Test Register" for the EHF
240 - "Reserved Register" for the DHG
241 ========================= =====================================================
242
243 The DHG also supports PECI, where the DHG queries Intel CPU temperatures, and
244 the ICH8 southbridge gets that data via PECI from the DHG, so that the
245 southbridge drives the fans. And the DHG supports SST, a one-wire serial bus.
246
247 The DHG-P has an additional automatic fan speed control mode named Smart Fan
248 (TM) III+. This mode is not yet supported by the driver.
249

3. 한국어 전문 번역

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

지원 칩과 접두사

1-78

이 드라이버는 ISA 접근 전용 Winbond W83627EHF/EHG, W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B와 Nuvoton NCT6775F/W83667HG-I, NCT6776F를 지원합니다.

접두사는 칩 계열에 따라 `w83627ehf`, `w83627dhg`, `w83627uhg`, `w83667hg`, `nct6775`, `nct6776`입니다. 모든 장치의 ISA 주소는 Super-I/O 레지스터에서 가져옵니다.

W83627UHG 데이터시트는 Nuvoton 웹사이트에서 구할 수 있고 W83667HG-B, NCT6775F, NCT6776F 자료는 요청하면 받을 수 있습니다. 나머지 칩의 데이터시트는 공개되지 않았습니다.

작성자는 Jean Delvare, Yuan Mu, Rudolf Marek, David Hubbard, Gong Jun입니다.

w83627ehf 지원 계열
접두사데이터시트
W83627EHF/EHG`w83627ehf`공개 안 됨
W83627DHG/DHG-P`w83627dhg`공개 안 됨
W83627UHG`w83627uhg`Nuvoton 웹사이트
W83667HG`w83667hg`공개 안 됨
W83667HG-B`w83667hg`요청 시 제공
NCT6775F/W83667HG-I`nct6775`요청 시 제공
NCT6776F`nct6776`요청 시 제공

지원 칩, 접두사, 데이터시트 상태를 정리합니다.

Winbond/Nuvoton 장치 식별
Super-I/O 구성 레지스터 접근ISA hwmon 주소 확인칩 ID와 변형 판별대응 접두사 선택칩별 센서 기능 등록

Super-I/O 정보로 칩 변형과 접두사를 결정합니다.

Kernel driver w83627ehf
=======================

Supported chips:

  * Winbond W83627EHF/EHG (ISA access ONLY)

    Prefix: 'w83627ehf'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: not available

  * Winbond W83627DHG

    Prefix: 'w83627dhg'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: not available

  * Winbond W83627DHG-P

    Prefix: 'w83627dhg'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: not available

  * Winbond W83627UHG

    Prefix: 'w83627uhg'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: available from www.nuvoton.com

  * Winbond W83667HG

    Prefix: 'w83667hg'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: not available

  * Winbond W83667HG-B

    Prefix: 'w83667hg'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6775F/W83667HG-I

    Prefix: 'nct6775'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6776F

    Prefix: 'nct6776'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request


Authors:

        - Jean Delvare <[email protected]>
        - Yuan Mu (Winbond)
        - Rudolf Marek <[email protected]>
        - David Hubbard <[email protected]>
        - Gong Jun <[email protected]>

센서와 Thermal Cruise

79-129

문서에서는 지원되는 Winbond와 Nuvoton Super-I/O 칩을 통칭해 Winbond 칩이라고 부릅니다. 칩에 따라 온도 센서 3~4개, 팬 회전 센서 2~5개, 아날로그 전압 센서 8~10개, VID 하나를 제공합니다. W83627UHG에는 VID가 없습니다. 비프 경보는 있지만 제어는 구현되지 않았고 자동·수동 팬 제어 전략이 있습니다.

W83667HG-B, NCT6775F, NCT6776F의 온도 센서 원천은 구성할 수 있습니다. `temp4` 이상은 이미 보고한 온도 센서와 원천이 다를 때만 노출되며 `tempX_label`에 구성된 원천이 표시됩니다.

온도 해상도는 `temp1`이 1 °C, `temp2`와 `temp3`이 0.5 °C입니다. `temp4` 이상은 W83667HG-B에서 1 °C, NCT6775F와 NCT6776F에서 문서상 0.0 °C입니다. 온도가 상한을 넘으면 경보가 나고 히스테리시스 아래로 내려갈 때까지 유지됩니다. 경보는 `temp1`~`temp3`만 지원합니다.

팬 속도는 RPM이며 프로그램 가능한 최저 한계 아래에서 경보가 납니다. 분주기는 1, 2, 4, 8, 16, 32, 64, 128이고 드라이버가 가장 적절한 값을 자동 선택합니다. 일부 팬 핀은 다른 기능과 공유되어 존재하지 않을 수 있습니다. 전압은 mV로 보고되며 최소·최대 한계를 넘으면 경보가 납니다.

Thermal Cruise 자동 팬 제어는 측정 온도를 미리 정한 범위에 유지하려 합니다. 범위를 벗어나면 팬을 느리게 또는 빠르게 돌립니다. fan1~fan4에 적용되며 `temp1→pwm1`, `temp2→pwm2`, `temp3→pwm3`입니다. 627UHG에는 pwm3 매핑이 없습니다. 프로그래밍 입력은 pwm4에 대응하지만 667HG/HG-B에는 없고 드라이버도 이 설정을 지원하지 않습니다.

w83627ehf 센서와 PWM 매핑
영역수/범위조건·매핑
온도3~4개, NCT6775/6은 9개`temp4+`는 원천 중복 시 생략
2~5개핀 공유로 일부 미존재 가능
전압8~10개, mV최소·최대 경보
VID1개W83627UHG 제외
`temp1``pwm1`Thermal Cruise
`temp2``pwm2`Thermal Cruise
`temp3``pwm3`627UHG 제외
프로그램 입력`pwm4`667HG/HG-B 제외, 드라이버 미지원

센서 범위와 Thermal Cruise 온도-PWM 관계를 함께 정리합니다.

Thermal Cruise 제어
온도 원천과 PWM 출력 매핑목표 온도 범위 설정현재 온도 측정범위 위면 팬 가속, 아래면 감속범위 안에서 현재 속도 유지

측정 온도를 목표 범위로 되돌리기 위한 팬 제어입니다.

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

This driver implements support for the Winbond W83627EHF, W83627EHG,
W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B, W83667HG-I
(NCT6775F), and NCT6776F super I/O chips. We will refer to them collectively
as Winbond chips.

The chips implement 3 to 4 temperature sensors (9 for NCT6775F and NCT6776F),
2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID
(except for 627UHG), alarms with beep warnings (control unimplemented),
and some automatic fan regulation strategies (plus manual fan control mode).

The temperature sensor sources on W82677HG-B, NCT6775F, and NCT6776F are
configurable. temp4 and higher attributes are only reported if its temperature
source differs from the temperature sources of the already reported temperature
sensors. The configured source for each of the temperature sensors is provided
in tempX_label.

Temperatures are measured in degrees Celsius and measurement resolution is 1
degC for temp1 and 0.5 degC for temp2 and temp3. For temp4 and higher,
resolution is 1 degC for W83667HG-B and 0.0 degC for NCT6775F and NCT6776F.
An alarm is triggered when the temperature gets higher than high limit;
it stays on until the temperature falls below the hysteresis value.
Alarms are only supported for temp1, temp2, and temp3.

Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or
128) to give the readings more range or accuracy. The driver sets the most
suitable fan divisor itself. Some fans might not be present because they
share pins with other functions.

Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
or maximum limit.

The driver supports automatic fan control mode known as Thermal Cruise.
In this mode, the chip attempts to keep the measured temperature in a
predefined temperature range. If the temperature goes out of range, fan
is driven slower/faster to reach the predefined range again.

The mode works for fan1-fan4. Mapping of temperatures to pwm outputs is as
follows::

  temp1 -> pwm1
  temp2 -> pwm2
  temp3 -> pwm3 (not on 627UHG)
  prog  -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not
                 supported by the driver)

PWM sysfs 모드

130-168

표준 hwmon `name` 파일에는 문서 앞부분의 접두사에 해당하는 장치 이름이 들어 있습니다. `pwm[1-4]`는 PWM 듀티 또는 DC 팬 속도를 0(정지)부터 255(최대)까지 저장합니다.

`pwm[1-4]_enable`은 팬·온도 제어 모드를 선택합니다. 값 1은 `pwm` 파일에 0~255를 쓰는 수동 모드, 2는 Thermal Cruise, 3은 Fan Speed Cruise, 4는 Smart Fan III, 5는 Smart Fan IV입니다.

NCT6776F는 Smart Fan III를 지원하지 않습니다. Smart Fan IV는 시스템 시작 때 이미 구성된 경우에만 선택할 수 있고 W83667HG-B, NCT6775F, NCT6776F에서만 지원됩니다.

현재 Smart Fan IV의 동작 매개변수는 구성할 수 없고 여러 pwm 속성도 이 모드에서 사용되지 않습니다. 다른 모드로 바꾸기 위한 값을 미리 쓰는 것은 가능하지만 pwm 속성을 읽어 돌려받는 정보는 Smart Fan IV 동작과 관계없습니다.

`pwm[1-4]_mode`는 출력 전기 방식을 선택합니다. 0은 0~12 V DC 출력, 1은 PWM 출력입니다.

w83627ehf PWM 모드
속성/값모드제약
`pwm*_enable=1`수동`pwm`에 0~255 기록
`pwm*_enable=2`Thermal Cruise온도 목표 범위
`pwm*_enable=3`Fan Speed Cruise팬 속도 목표
`pwm*_enable=4`Smart Fan IIINCT6776F 미지원
`pwm*_enable=5`Smart Fan IV특정 3계열, 부팅 시 구성 필요
`pwm*_mode=0/1`DC/PWM 출력DC는 0~12 V

enable 값과 출력 방식의 의미를 구분합니다.

PWM 모드 선택
칩 변형과 부팅 구성을 확인`pwm*_mode`로 DC 또는 PWM 선택`pwm*_enable`로 제어 전략 선택지원되는 속성에 듀티·목표값 기록팬 출력과 읽기값 확인

사용하려는 제어 방식과 칩 지원 여부를 확인합니다.

/sys files
----------

name
        this is a standard hwmon device entry, it contains the name of
        the device (see the prefix in the list of supported devices at
        the top of this file)

pwm[1-4]
        this file stores PWM duty cycle or DC value (fan speed) in range:

           0 (stop) to 255 (full)

pwm[1-4]_enable
        this file controls mode of fan/temperature control:

        * 1 Manual mode, write to pwm file any value 0-255 (full speed)
        * 2 "Thermal Cruise" mode
        * 3 "Fan Speed Cruise" mode
        * 4 "Smart Fan III" mode
        * 5 "Smart Fan IV" mode

        SmartFan III mode is not supported on NCT6776F.

        SmartFan IV mode is configurable only if it was configured at system
        startup, and is only supported for W83677HG-B, NCT6775F, and NCT6776F.
        SmartFan IV operational parameters can not be configured at this time,
        and the various pwm attributes are not used in SmartFan IV mode.
        The attributes can be written to, which is useful if you plan to
        configure the system for a different pwm mode. However, the information
        returned when reading pwm attributes is unrelated to SmartFan IV
        operation.

pwm[1-4]_mode
        controls if output is PWM or DC level

        * 0 DC output (0 - 12v)
        * 1 PWM output

Thermal Cruise 매개변수

169-203

Thermal Cruise에서 `pwm[1-4]_target`은 목표 온도를 밀리섭씨 0~127000 범위로 설정하고 `pwm[1-4]_tolerance`는 허용 오차를 밀리섭씨 0~15000 범위로 설정합니다.

온도가 목표±허용 오차 범위 안에 있으면 팬 속도를 바꾸지 않습니다. 범위를 벗어나면 높은 경우 가속하고 낮은 경우 감속합니다. 단계와 시간 설정도 정의되어 있지만 드라이버는 아직 이를 내보내지 않습니다.

`pwm*_min_output`은 온도가 범위 아래일 때의 최소 팬 속도 1~255, `pwm*_stop_time`은 팬을 끄기 전 기다리는 밀리초입니다. `pwm*_start_output`은 회전을 시작할 때의 최소 속도, `pwm*_step_output`은 속도 변화율, `pwm*_stop_output`은 감속 중 최소 속도, `pwm*_max_output`은 범위 위에서의 최대 속도이며 출력 값은 각각 1~255입니다.

마지막 여섯 기능은 아직 드라이버가 노출하지 않는 다른 제어 비트의 영향을 받으므로 값을 바꿔도 효과가 없을 수 있습니다.

Thermal Cruise 속성
속성단위·범위역할
`pwm*_target`0~127000 m°C목표 온도
`pwm*_tolerance`0~15000 m°C허용 오차
`pwm*_min_output`1~255온도가 범위 아래일 때 최소 출력
`pwm*_stop_time`ms팬 정지 전 지연
`pwm*_start_output`1~255회전 시작 최소 출력
`pwm*_step_output`1~255속도 변화율
`pwm*_stop_output`1~255감속 중 최소 출력
`pwm*_max_output`1~255범위 위 최대 출력

목표 범위와 팬 출력 조정 속성을 정리합니다.

목표 범위 기반 속도 조절
목표와 tolerance로 허용 구간 계산현재 온도를 구간과 비교구간 안이면 팬 속도 유지위면 단계적으로 증가, 아래면 감소정지·시작·최소·최대 출력 제한 적용

온도 위치에 따라 출력을 유지·증가·감소합니다.

Thermal Cruise mode
-------------------

If the temperature is in the range defined by:

pwm[1-4]_target
                   set target temperature, unit millidegree Celsius
                   (range 0 - 127000)
pwm[1-4]_tolerance
                   tolerance, unit millidegree Celsius (range 0 - 15000)

there are no changes to fan speed. Once the temperature leaves the interval,
fan speed increases (temp is higher) or decreases if lower than desired.
There are defined steps and times, but not exported by the driver yet.

pwm[1-4]_min_output
                   minimum fan speed (range 1 - 255), when the temperature
                   is below defined range.
pwm[1-4]_stop_time
                   how many milliseconds [ms] must elapse to switch
                   corresponding fan off. (when the temperature was below
                   defined range).
pwm[1-4]_start_output
                   minimum fan speed (range 1 - 255) when spinning up
pwm[1-4]_step_output
                   rate of fan speed change (1 - 255)
pwm[1-4]_stop_output
                   minimum fan speed (range 1 - 255) when spinning down
pwm[1-4]_max_output
                   maximum fan speed (range 1 - 255), when the temperature
                   is above defined range.

Note: last six functions are influenced by other control bits, not yet exported
      by the driver, so a change might not have any effect.

칩별 레지스터 차이

204-248

향후 드라이버 개발에서는 627EHF와 627DHG에서 일부 레지스터의 기능과 전원 인가 기본값이 다름을 고려해야 합니다. BIOS가 적절한 기본값을 적재해야 하며 모든 레지스터 주소는 현재 드라이버처럼 뱅크를 선택한 뒤 접근해야 합니다.

`0x49`는 DHG에만 있고 AUX fan과 CPU fan0의 온도 원천을 선택합니다. `0x4a`는 EHF 문서가 불완전하며 DHG에서는 비트 7·6의 동작과 SmartFan I까지 확장되는 온도 입력 선택이 다르게 정의됩니다. 실제 호환성은 EHF 시험이 필요합니다.

`0x58`의 칩 ID는 EHF가 `0xa1`, DHG가 `0xc1`입니다. `0x5e`는 DHG 전용으로 current mode 온도 감지와 임계 온도 보호를 활성화합니다. `0x45b`의 비트 3과 `0x552`, `0x558`, `0x559`는 EHF의 열 번째 전압 입력 vin4와 경보·상한·하한에 해당합니다.

`0x6b`~`0x6e`는 DHG의 SYS fan, CPU fan0, AUX fan, CPU fan1 임계 온도입니다. `0x50`~`0x55`, `0x650`~`0x657`은 EHF에서는 Test Register, DHG에서는 Reserved Register로 표시됩니다.

DHG는 Intel CPU 온도를 조회하고 ICH8 사우스브리지가 PECI로 이를 받아 팬을 구동하는 PECI와, 1선 직렬 버스 SST도 지원합니다. DHG-P에는 Smart Fan III+ 자동 팬 제어 모드가 추가되지만 드라이버는 아직 지원하지 않습니다.

627EHF·627DHG 레지스터 차이
레지스터의미
`0x49`DHGAUX fan·CPU fan0 온도 원천
`0x4a`EHF/DHG 상이온도 입력·SmartFan 선택
`0x58`둘 다칩 ID: EHF `0xa1`, DHG `0xc1`
`0x5e`DHGcurrent mode 온도·임계 보호
`0x45b`, `0x552`, `0x558`, `0x559`EHFvin4 경보·값·상한·하한
`0x6b`~`0x6e`DHG팬별 임계 온도
`0x50`~`0x55`, `0x650`~`0x657`EHF/DHGTest / Reserved

원문의 구현 레지스터 표를 기능별로 보존했습니다.

레지스터 접근 안전 절차
`0x58` 칩 ID로 EHF/DHG 판별대상 주소의 칩별 의미 확인필요한 레지스터 뱅크 선택BIOS 기본값을 존중해 읽기·수정PECI·SST·미지원 팬 모드 구분

칩 변형별 의미를 확인하고 올바른 뱅크에서 접근합니다.

Implementation Details
----------------------

Future driver development should bear in mind that the following registers have
different functions on the 627EHF and the 627DHG. Some registers also have
different power-on default values, but BIOS should already be loading
appropriate defaults. Note that bank selection must be performed as is currently
done in the driver for all register addresses.

========================= =====================================================
Register(s)                  Meaning
========================= =====================================================
0x49                      only on DHG, selects temperature source for AUX fan,
                          CPU fan0
0x4a                      not completely documented for the EHF and the DHG
                          documentation assigns different behavior to bits 7
                          and 6, including extending the temperature input
                          selection to SmartFan I, not just SmartFan III.
                          Testing on the EHF will reveal whether they are
                          compatible or not.
0x58                      Chip ID: 0xa1=EHF 0xc1=DHG
0x5e                      only on DHG, has bits to enable "current mode"
                          temperature detection and critical temperature
                          protection
0x45b                     only on EHF, bit 3, vin4 alarm (EHF supports 10
                          inputs, only 9 on DHG)
0x552                     only on EHF, vin4
0x558                     only on EHF, vin4 high limit
0x559                     only on EHF, vin4 low limit
0x6b                      only on DHG, SYS fan critical temperature
0x6c                      only on DHG, CPU fan0 critical temperature
0x6d                      only on DHG, AUX fan critical temperature
0x6e                      only on DHG, CPU fan1 critical temperature
0x50-0x55 and 0x650-0x657 marked as:

                            - "Test Register" for the EHF
                            - "Reserved Register" for the DHG
========================= =====================================================

The DHG also supports PECI, where the DHG queries Intel CPU temperatures, and
the ICH8 southbridge gets that data via PECI from the DHG, so that the
southbridge drives the fans. And the DHG supports SST, a one-wire serial bus.

The DHG-P has an additional automatic fan speed control mode named Smart Fan
(TM) III+. This mode is not yet supported by the driver.