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

Linux 6.18.37 · Hardware Monitoring

Kernel driver asc7621

aSC7621의 PECI·remote diode thermal zone mapping, smoothing, 세 PWM output과 domain 설정입니다.

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

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

1. 요약·해설

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

요약·해설

asc7621.rst:1-326

네 thermal zone에 local·remote·PECI source를 유연하게 연결하고 filter와 PWM 정책으로 최대 네 fan을 제어합니다.

문서 개요
항목
SourceDocumentation/hwmon/asc7621.rst
분량326 source lines
Thermal zone4
Fan I/O3 PWM + 4 tachometer

원문 분량과 핵심 지원 범위입니다.

핵심 흐름
Atomic temperature sample 읽기Source를 zone에 mappingSmoothing과 critical limit 적용PWM·PECI domain 제어

장치를 구성하고 측정·제어하는 기본 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 =====================
2 Kernel driver asc7621
3 =====================
4
5 Supported chips:
6
7 Andigilog aSC7621 and aSC7621a
8
9 Prefix: 'asc7621'
10
11 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
12
13 Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf
14
15 Author:
16 George Joseph
17
18 Description provided by Dave Pivin @ Andigilog:
19
20 Andigilog has both the PECI and pre-PECI versions of the Heceta-6, as
21 Intel calls them. Heceta-6e has high frequency PWM and Heceta-6p has
22 added PECI and a 4th thermal zone. The Andigilog aSC7611 is the
23 Heceta-6e part and aSC7621 is the Heceta-6p part. They are both in
24 volume production, shipping to Intel and their subs.
25
26 We have enhanced both parts relative to the governing Intel
27 specification. First enhancement is temperature reading resolution. We
28 have used registers below 20h for vendor-specific functions in addition
29 to those in the Intel-specified vendor range.
30
31 Our conversion process produces a result that is reported as two bytes.
32 The fan speed control uses this finer value to produce a "step-less" fan
33 PWM output. These two bytes are "read-locked" to guarantee that once a
34 high or low byte is read, the other byte is locked-in until after the
35 next read of any register. So to get an atomic reading, read high or low
36 byte, then the very next read should be the opposite byte. Our data
37 sheet says 10-bits of resolution, although you may find the lower bits
38 are active, they are not necessarily reliable or useful externally. We
39 chose not to mask them.
40
41 We employ significant filtering that is user tunable as described in the
42 data sheet. Our temperature reports and fan PWM outputs are very smooth
43 when compared to the competition, in addition to the higher resolution
44 temperature reports. The smoother PWM output does not require user
45 intervention.
46
47 We offer GPIO features on the former VID pins. These are open-drain
48 outputs or inputs and may be used as general purpose I/O or as alarm
49 outputs that are based on temperature limits. These are in 19h and 1Ah.
50
51 We offer flexible mapping of temperature readings to thermal zones. Any
52 temperature may be mapped to any zone, which has a default assignment
53 that follows Intel's specs.
54
55 Since there is a fan to zone assignment that allows for the "hotter" of
56 a set of zones to control the PWM of an individual fan, but there is no
57 indication to the user, we have added an indicator that shows which zone
58 is currently controlling the PWM for a given fan. This is in register
59 00h.
60
61 Both remote diode temperature readings may be given an offset value such
62 that the reported reading as well as the temperature used to determine
63 PWM may be offset for system calibration purposes.
64
65 PECI Extended configuration allows for having more than two domains per
66 PECI address and also provides an enabling function for each PECI
67 address. One could use our flexible zone assignment to have a zone
68 assigned to up to 4 PECI addresses. This is not possible in the default
69 Intel configuration. This would be useful in multi-CPU systems with
70 individual fans on each that would benefit from individual fan control.
71 This is in register 0Eh.
72
73 The tachometer measurement system is flexible and able to adapt to many
74 fan types. We can also support pulse-stretched PWM so that 3-wire fans
75 may be used. These characteristics are in registers 04h to 07h.
76
77 Finally, we have added a tach disable function that turns off the tach
78 measurement system for individual tachs in order to save power. That is
79 in register 75h.
80
81 --------------------------------------------------------------------------
82
83 aSC7621 Product Description
84 ===========================
85
86 The aSC7621 has a two wire digital interface compatible with SMBus 2.0.
87 Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode
88 connected transistors as well as its own die. Support for Platform
89 Environmental Control Interface (PECI) is included.
90
91 Using temperature information from these four zones, an automatic fan speed
92 control algorithm is employed to minimize acoustic impact while achieving
93 recommended CPU temperature under varying operational loads.
94
95 To set fan speed, the aSC7621 has three independent pulse width modulation
96 (PWM) outputs that are controlled by one, or a combination of three,
97 temperature zones. Both high- and low-frequency PWM ranges are supported.
98
99 The aSC7621 also includes a digital filter that can be invoked to smooth
100 temperature readings for better control of fan speed and minimum acoustic
101 impact.
102
103 The aSC7621 has tachometer inputs to measure fan speed on up to four fans.
104 Limit and status registers for all measured values are included to alert
105 the system host that any measurements are outside of programmed limits
106 via status registers.
107
108 System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are
109 monitored efficiently with internal scaling resistors.
110
111 Features
112 --------
113
114 - Supports PECI interface and monitors internal and remote thermal diodes
115 - 2-wire, SMBus 2.0 compliant, serial interface
116 - 10-bit ADC
117 - Monitors VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard/processor supplies
118 - Programmable autonomous fan control based on temperature readings
119 - Noise filtering of temperature reading for fan speed control
120 - 0.25C digital temperature sensor resolution
121 - 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan
122 tachometer inputs
123 - Enhanced measured temperature to Temperature Zone assignment.
124 - Provides high and low PWM frequency ranges
125 - 3 GPIO pins for custom use
126 - 24-Lead QSOP package
127
128 Configuration Notes
129 ===================
130
131 Except where noted below, the sysfs entries created by this driver follow
132 the standards defined in "sysfs-interface".
133
134 temp1_source
135 = ===============================================
136 0 (default) peci_legacy = 0, Remote 1 Temperature
137 peci_legacy = 1, PECI Processor Temperature 0
138 1 Remote 1 Temperature
139 2 Remote 2 Temperature
140 3 Internal Temperature
141 4 PECI Processor Temperature 0
142 5 PECI Processor Temperature 1
143 6 PECI Processor Temperature 2
144 7 PECI Processor Temperature 3
145 = ===============================================
146
147 temp2_source
148 = ===============================================
149 0 (default) Internal Temperature
150 1 Remote 1 Temperature
151 2 Remote 2 Temperature
152 3 Internal Temperature
153 4 PECI Processor Temperature 0
154 5 PECI Processor Temperature 1
155 6 PECI Processor Temperature 2
156 7 PECI Processor Temperature 3
157 = ===============================================
158
159 temp3_source
160 = ===============================================
161 0 (default) Remote 2 Temperature
162 1 Remote 1 Temperature
163 2 Remote 2 Temperature
164 3 Internal Temperature
165 4 PECI Processor Temperature 0
166 5 PECI Processor Temperature 1
167 6 PECI Processor Temperature 2
168 7 PECI Processor Temperature 3
169 = ===============================================
170
171 temp4_source
172 = ===============================================
173 0 (default) peci_legacy = 0, PECI Processor Temperature 0
174 peci_legacy = 1, Remote 1 Temperature
175 1 Remote 1 Temperature
176 2 Remote 2 Temperature
177 3 Internal Temperature
178 4 PECI Processor Temperature 0
179 5 PECI Processor Temperature 1
180 6 PECI Processor Temperature 2
181 7 PECI Processor Temperature 3
182 = ===============================================
183
184 temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
185 Smooths spikes in temp readings caused by noise.
186 Valid values in milliseconds are:
187
188 * 35000
189 * 17600
190 * 11800
191 * 7000
192 * 4400
193 * 3000
194 * 1600
195 * 800
196
197 temp[1-4]_crit
198 When the corresponding zone temperature reaches this value,
199 ALL pwm outputs will got to 100%.
200
201 temp[5-8]_input / temp[5-8]_enable
202 The aSC7621 can also read temperatures provided by the processor
203 via the PECI bus. Usually these are "core" temps and are relative
204 to the point where the automatic thermal control circuit starts
205 throttling. This means that these are usually negative numbers.
206
207 pwm[1-3]_enable
208 =============== ========================================================
209 0 Fan off.
210 1 Fan on manual control.
211 2 Fan on automatic control and will run at the minimum pwm
212 if the temperature for the zone is below the minimum.
213 3 Fan on automatic control but will be off if the
214 temperature for the zone is below the minimum.
215 4-254 Ignored.
216 255 Fan on full.
217 =============== ========================================================
218
219 pwm[1-3]_auto_channels
220 Bitmap as described in sysctl-interface with the following
221 exceptions...
222
223 Only the following combination of zones (and their corresponding masks)
224 are valid:
225
226 * 1
227 * 2
228 * 3
229 * 2,3
230 * 1,2,3
231 * 4
232 * 1,2,3,4
233
234 * Special values:
235
236 == ======================
237 0 Disabled.
238 16 Fan on manual control.
239 31 Fan on full.
240 == ======================
241
242
243 pwm[1-3]_invert
244 When set, inverts the meaning of pwm[1-3].
245 i.e. when pwm = 0, the fan will be on full and
246 when pwm = 255 the fan will be off.
247
248 pwm[1-3]_freq
249 PWM frequency in Hz
250 Valid values in Hz are:
251
252 * 10
253 * 15
254 * 23
255 * 30 (default)
256 * 38
257 * 47
258 * 62
259 * 94
260 * 23000
261 * 24000
262 * 25000
263 * 26000
264 * 27000
265 * 28000
266 * 29000
267 * 30000
268
269 Setting any other value will be ignored.
270
271 peci_enable
272 Enables or disables PECI
273
274 peci_avg
275 Input filter average time.
276
277 * 0 0 Sec. (no Smoothing) (default)
278 * 1 0.25 Sec.
279 * 2 0.5 Sec.
280 * 3 1.0 Sec.
281 * 4 2.0 Sec.
282 * 5 4.0 Sec.
283 * 6 8.0 Sec.
284 * 7 0.0 Sec.
285
286 peci_legacy
287 = ============================================
288 0 Standard Mode (default)
289 Remote Diode 1 reading is associated with
290 Temperature Zone 1, PECI is associated with
291 Zone 4
292
293 1 Legacy Mode
294 PECI is associated with Temperature Zone 1,
295 Remote Diode 1 is associated with Zone 4
296 = ============================================
297
298 peci_diode
299 Diode filter
300
301 = ====================
302 0 0.25 Sec.
303 1 1.1 Sec.
304 2 2.4 Sec. (default)
305 3 3.4 Sec.
306 4 5.0 Sec.
307 5 6.8 Sec.
308 6 10.2 Sec.
309 7 16.4 Sec.
310 = ====================
311
312 peci_4domain
313 Four domain enable
314
315 = ===============================================
316 0 1 or 2 Domains for enabled processors (default)
317 1 3 or 4 Domains for enabled processors
318 = ===============================================
319
320 peci_domain
321 Domain
322
323 = ==================================================
324 0 Processor contains a single domain (0) (default)
325 1 Processor contains two domains (0,1)
326 = ==================================================
327

3. 한국어 전문 번역

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

aSC7621 계열의 확장 기능

1-80

이 driver는 Andigilog `aSC7621`과 `aSC7621a`를 prefix `asc7621`으로 지원하며 I2C 주소 `0x2c`, `0x2d`, `0x2e`를 검색합니다. Datasheet URL이 제공되고 저자는 George Joseph입니다.

Intel 명칭 Heceta-6에는 PECI 이전 버전과 PECI 버전이 있습니다. Heceta-6e는 high-frequency PWM을, Heceta-6p는 PECI와 네 번째 thermal zone을 추가합니다. Andigilog aSC7611은 Heceta-6e, aSC7621은 Heceta-6p에 해당하며 두 제품 모두 양산되었습니다.

Andigilog는 Intel specification보다 temperature reading resolution을 높였고, Intel vendor range뿐 아니라 `20h` 아래 register도 vendor-specific 기능에 사용했습니다. 변환 결과는 두 byte로 보고되며 fan speed control은 이 세밀한 값을 사용해 step-less PWM output을 만듭니다.

두 byte는 read-lock됩니다. High 또는 low byte를 읽으면 반대 byte가 다음 register read까지 고정되므로 atomic reading을 얻으려면 한 byte를 읽은 직후 반대 byte를 읽어야 합니다. Datasheet는 10-bit resolution을 명시하지만 lower bit가 활성화되어 보여도 신뢰성이나 외부 유용성이 보장되지는 않습니다. Driver는 이를 mask하지 않습니다.

User-tunable filtering으로 temperature report와 fan PWM output이 부드럽고, smoother PWM은 userspace 개입이 필요 없습니다. 이전 VID pin은 open-drain GPIO input/output이나 temperature limit 기반 alarm output으로 사용할 수 있으며 register `19h`, `1Ah`에 있습니다.

어떤 temperature든 어떤 thermal zone에든 mapping할 수 있습니다. Fan이 여러 zone 중 더 뜨거운 zone을 따라가도록 할 수 있으며, register `00h`의 indicator가 현재 어느 zone이 fan PWM을 제어하는지 보여 줍니다. 두 remote diode reading에는 system calibration용 offset을 적용하며 보고값과 PWM 판단 온도 모두 보정됩니다.

PECI Extended configuration은 PECI address당 2개보다 많은 domain과 address별 enable을 지원합니다. Flexible zone assignment로 한 zone에 최대 4 PECI address를 연결할 수 있어 multi-CPU system의 개별 fan 제어에 유용하며 register `0Eh`에 있습니다.

Tachometer system은 여러 fan type에 맞출 수 있고 pulse-stretched PWM으로 3-wire fan도 지원합니다. 관련 특성은 register `04h`~`07h`에 있습니다. Register `75h`의 tach disable은 개별 tach measurement를 꺼 power를 절약합니다.

aSC7621 vendor 확장
기능Register/동작
Fine temperatureRead-locked 2-byte, nominal 10 bit
GPIO/alarm19h, 1Ah의 former VID pins
Active zone indicator00h
Extended PECI0Eh, 최대 4 address/domain mapping
Fan adaptation04h~07h, pulse-stretched PWM
Tach disable75h, 개별 측정 power 절약

Intel Heceta-6 규격 위에 추가된 기능입니다.

Atomic temperature 읽기
High 또는 low byte 먼저 읽기반대 byte가 lock됨바로 다음 read로 반대 byte 읽기두 byte를 하나의 sample로 결합Offset과 filtering을 거쳐 PWM에 사용

Read-lock 규칙을 지켜 두 byte를 하나의 sample로 가져옵니다.

=====================
Kernel driver asc7621
=====================

Supported chips:

    Andigilog aSC7621 and aSC7621a

    Prefix: 'asc7621'

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

    Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf

Author:
                George Joseph

Description provided by Dave Pivin @ Andigilog:

Andigilog has both the PECI and pre-PECI versions of the Heceta-6, as
Intel calls them. Heceta-6e has high frequency PWM and Heceta-6p has
added PECI and a 4th thermal zone. The Andigilog aSC7611 is the
Heceta-6e part and aSC7621 is the Heceta-6p part. They are both in
volume production, shipping to Intel and their subs.

We have enhanced both parts relative to the governing Intel
specification. First enhancement is temperature reading resolution. We
have used registers below 20h for vendor-specific functions in addition
to those in the Intel-specified vendor range.

Our conversion process produces a result that is reported as two bytes.
The fan speed control uses this finer value to produce a "step-less" fan
PWM output. These two bytes are "read-locked" to guarantee that once a
high or low byte is read, the other byte is locked-in until after the
next read of any register. So to get an atomic reading, read high or low
byte, then the very next read should be the opposite byte. Our data
sheet says 10-bits of resolution, although you may find the lower bits
are active, they are not necessarily reliable or useful externally. We
chose not to mask them.

We employ significant filtering that is user tunable as described in the
data sheet. Our temperature reports and fan PWM outputs are very smooth
when compared to the competition, in addition to the higher resolution
temperature reports. The smoother PWM output does not require user
intervention.

We offer GPIO features on the former VID pins. These are open-drain
outputs or inputs and may be used as general purpose I/O or as alarm
outputs that are based on temperature limits. These are in 19h and 1Ah.

We offer flexible mapping of temperature readings to thermal zones. Any
temperature may be mapped to any zone, which has a default assignment
that follows Intel's specs.

Since there is a fan to zone assignment that allows for the "hotter" of
a set of zones to control the PWM of an individual fan, but there is no
indication to the user, we have added an indicator that shows which zone
is currently controlling the PWM for a given fan. This is in register
00h.

Both remote diode temperature readings may be given an offset value such
that the reported reading as well as the temperature used to determine
PWM may be offset for system calibration purposes.

PECI Extended configuration allows for having more than two domains per
PECI address and also provides an enabling function for each PECI
address. One could use our flexible zone assignment to have a zone
assigned to up to 4 PECI addresses. This is not possible in the default
Intel configuration. This would be useful in multi-CPU systems with
individual fans on each that would benefit from individual fan control.
This is in register 0Eh.

The tachometer measurement system is flexible and able to adapt to many
fan types. We can also support pulse-stretched PWM so that 3-wire fans
may be used. These characteristics are in registers 04h to 07h.

Finally, we have added a tach disable function that turns off the tach
measurement system for individual tachs in order to save power. That is
in register 75h.

제품 측정 자원과 자동 fan 제어

81-127

aSC7621은 SMBus 2.0과 호환되는 2선 digital interface와 10-bit ADC를 갖습니다. Remote diode transistor 2개의 temperature와 자체 die temperature를 측정하고 PECI를 지원합니다.

네 thermal zone의 temperature information을 이용하는 automatic fan speed control algorithm은 다양한 load에서 권장 CPU temperature를 유지하면서 acoustic impact를 줄입니다.

독립 PWM output 3개는 하나 또는 세 temperature zone의 조합으로 제어할 수 있고 high·low frequency range를 모두 지원합니다. Digital filter는 temperature reading을 smoothing하여 fan speed를 더 안정적으로 제어합니다.

Tachometer input은 fan 최대 4개의 speed를 측정합니다. 모든 측정값에는 limit와 status register가 있어 programmed limit를 벗어나면 host에 알립니다. Internal scaling resistor로 VCCP, 2.5V, 3.3V, 5.0V, 12V motherboard power를 감시합니다.

주요 기능은 PECI와 internal/remote thermal diode, SMBus 2.0, 10-bit ADC, autonomous fan control, temperature noise filtering, 0.25C resolution, 2/3/4-wire fan용 PWM 3개와 tachometer 4개, 향상된 zone assignment, high/low PWM frequency, GPIO 3개, 24-lead QSOP package입니다.

aSC7621 제품 자원
자원수량/범위
Thermal zone4
ADC10 bit, 0.25C resolution
VoltageVCCP, 2.5V, 3.3V, 5.0V, 12V
PWM output3, high/low frequency
Tachometer최대 4 fan
GPIO3
Package24-lead QSOP

Temperature·voltage·fan I/O를 정리합니다.

Autonomous fan control
Remote diode·die·PECI temperature 측정Digital filter로 noise smoothingTemperature를 thermal zone에 mappingFan별 controlling zone 선택PWM 3개와 tachometer feedback 운용

여러 zone을 조합해 fan별 PWM을 계산합니다.

--------------------------------------------------------------------------

aSC7621 Product Description
===========================

The aSC7621 has a two wire digital interface compatible with SMBus 2.0.
Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode
connected transistors as well as its own die. Support for Platform
Environmental Control Interface (PECI) is included.

Using temperature information from these four zones, an automatic fan speed
control algorithm is employed to minimize acoustic impact while achieving
recommended CPU temperature under varying operational loads.

To set fan speed, the aSC7621 has three independent pulse width modulation
(PWM) outputs that are controlled by one, or a combination of three,
temperature zones. Both high- and low-frequency PWM ranges are supported.

The aSC7621 also includes a digital filter that can be invoked to smooth
temperature readings for better control of fan speed and minimum acoustic
impact.

The aSC7621 has tachometer inputs to measure fan speed on up to four fans.
Limit and status registers for all measured values are included to alert
the system host that any measurements are outside of programmed limits
via status registers.

System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are
monitored efficiently with internal scaling resistors.

Features
--------

- Supports PECI interface and monitors internal and remote thermal diodes
- 2-wire, SMBus 2.0 compliant, serial interface
- 10-bit ADC
- Monitors VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard/processor supplies
- Programmable autonomous fan control based on temperature readings
- Noise filtering of temperature reading for fan speed control
- 0.25C digital temperature sensor resolution
- 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan
  tachometer inputs
- Enhanced measured temperature to Temperature Zone assignment.
- Provides high and low PWM frequency ranges
- 3 GPIO pins for custom use
- 24-Lead QSOP package

Temperature zone source mapping

128-182

아래 항목을 제외한 sysfs entry는 `sysfs-interface` 표준을 따릅니다. `temp1_source` 값 0은 기본값으로, `peci_legacy=0`이면 Remote 1 Temperature, `peci_legacy=1`이면 PECI Processor Temperature 0입니다. 값 1~7은 각각 Remote 1, Remote 2, Internal, PECI Processor Temperature 0·1·2·3입니다.

`temp2_source` 기본값 0은 Internal Temperature입니다. 값 1~7은 Remote 1, Remote 2, Internal, PECI Processor Temperature 0·1·2·3에 대응합니다.

`temp3_source` 기본값 0은 Remote 2 Temperature입니다. 값 1~7은 동일하게 Remote 1, Remote 2, Internal, PECI Processor Temperature 0·1·2·3을 선택합니다.

`temp4_source` 값 0은 기본값이며 `peci_legacy=0`이면 PECI Processor Temperature 0, `peci_legacy=1`이면 Remote 1 Temperature입니다. 값 1~7은 Remote 1, Remote 2, Internal, PECI Processor Temperature 0·1·2·3입니다.

Temperature source 값
Source
1Remote 1 Temperature
2Remote 2 Temperature
3Internal Temperature
4PECI Processor Temperature 0
5PECI Processor Temperature 1
6PECI Processor Temperature 2
7PECI Processor Temperature 3
0Zone별 default, peci_legacy에 따라 일부 변경

네 zone에서 공통으로 사용할 수 있는 명시적 source 값입니다.

Thermal zone mapping
PECI legacy mode 확인Zone 1~4의 source 값 읽기0이면 zone별 default 적용1~7이면 지정 sensor 선택선택 temperature를 fan control에 전달

각 zone의 source selector를 독립적으로 설정합니다.

Configuration Notes
===================

Except where noted below, the sysfs entries created by this driver follow
the standards defined in "sysfs-interface".

temp1_source
        =        ===============================================
        0         (default) peci_legacy = 0, Remote 1 Temperature
                peci_legacy = 1, PECI Processor Temperature 0
        1         Remote 1 Temperature
        2         Remote 2 Temperature
        3         Internal Temperature
        4         PECI Processor Temperature 0
        5         PECI Processor Temperature 1
        6         PECI Processor Temperature 2
        7        PECI Processor Temperature 3
        =        ===============================================

temp2_source
        =        ===============================================
        0         (default) Internal Temperature
        1         Remote 1 Temperature
        2         Remote 2 Temperature
        3         Internal Temperature
        4         PECI Processor Temperature 0
        5         PECI Processor Temperature 1
        6         PECI Processor Temperature 2
        7         PECI Processor Temperature 3
        =        ===============================================

temp3_source
        =        ===============================================
        0         (default) Remote 2 Temperature
        1         Remote 1 Temperature
        2         Remote 2 Temperature
        3         Internal Temperature
        4         PECI Processor Temperature 0
        5         PECI Processor Temperature 1
        6         PECI Processor Temperature 2
        7         PECI Processor Temperature 3
        =        ===============================================

temp4_source
        =        ===============================================
        0         (default) peci_legacy = 0, PECI Processor Temperature 0
                peci_legacy = 1, Remote 1 Temperature
        1         Remote 1 Temperature
        2         Remote 2 Temperature
        3         Internal Temperature
        4         PECI Processor Temperature 0
        5         PECI Processor Temperature 1
        6         PECI Processor Temperature 2
        7         PECI Processor Temperature 3
        =        ===============================================

Smoothing, critical temperature, PWM mode

183-240

`temp[1-4]_smoothing_enable`과 `temp[1-4]_smoothing_time`은 noise로 생기는 temperature spike를 완화합니다. 유효한 millisecond 값은 `35000`, `17600`, `11800`, `7000`, `4400`, `3000`, `1600`, `800`입니다.

각 `temp[1-4]_crit`에 대응하는 zone temperature가 도달하면 모든 PWM output이 100%로 전환됩니다.

`temp[5-8]_input`과 `temp[5-8]_enable`은 processor가 PECI bus로 제공하는 temperature를 다룹니다. 보통 core temperature이며 automatic thermal control circuit의 throttling 시작점에 상대적인 값이므로 대개 음수입니다.

`pwm[1-3]_enable` 값 0은 fan off, 1은 manual control, 2는 automatic control이며 zone temperature가 minimum 아래면 minimum PWM으로 동작합니다. 값 3도 automatic control이지만 minimum 아래에서는 fan을 끕니다. 4~254는 무시되고 255는 fan full입니다.

`pwm[1-3]_auto_channels`는 예외가 있는 bitmap입니다. 유효한 zone 조합은 `1`, `2`, `3`, `2,3`, `1,2,3`, `4`, `1,2,3,4`입니다. Special value 0은 disabled, 16은 manual control, 31은 fan full입니다.

aSC7621 PWM enable
동작
0Fan off
1Manual control
2Automatic, minimum 아래에서 minimum PWM
3Automatic, minimum 아래에서 fan off
4~254무시
255Fan full
auto_channels 0/16/31Disabled/manual/full

자동 제어의 minimum 이하 동작과 특수값입니다.

Critical과 automatic PWM
Temperature source 읽기선택한 smoothing time 적용temp_crit 도달 여부 검사도달하면 모든 PWM 100%아니면 auto_channels와 enable mode로 출력

Smoothing 후 zone 온도로 일반 제어 또는 긴급 100% 출력을 결정합니다.


temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
        Smooths spikes in temp readings caused by noise.
        Valid values in milliseconds are:

        * 35000
        * 17600
        * 11800
        *  7000
        *  4400
        *  3000
        *  1600
        *   800

temp[1-4]_crit
        When the corresponding zone temperature reaches this value,
        ALL pwm outputs will got to 100%.

temp[5-8]_input / temp[5-8]_enable
        The aSC7621 can also read temperatures provided by the processor
        via the PECI bus.  Usually these are "core" temps and are relative
        to the point where the automatic thermal control circuit starts
        throttling.  This means that these are usually negative numbers.

pwm[1-3]_enable
        =============== ========================================================
        0                Fan off.
        1                Fan on manual control.
        2                Fan on automatic control and will run at the minimum pwm
                        if the temperature for the zone is below the minimum.
        3                Fan on automatic control but will be off if the
                        temperature for the zone is below the minimum.
        4-254                Ignored.
        255                Fan on full.
        =============== ========================================================

pwm[1-3]_auto_channels
        Bitmap as described in sysctl-interface with the following
        exceptions...

        Only the following combination of zones (and their corresponding masks)
        are valid:

        * 1
        * 2
        * 3
        * 2,3
        * 1,2,3
        * 4
        * 1,2,3,4

        * Special values:

          ==                ======================
          0                Disabled.
          16                Fan on manual control.
          31                Fan on full.
          ==                ======================

PWM 반전과 지원 주파수

241-270

`pwm[1-3]_invert`를 설정하면 PWM 의미가 반전됩니다. 즉 PWM 0에서 fan이 full로 동작하고 PWM 255에서 fan이 꺼집니다.

`pwm[1-3]_freq`는 Hz 단위 PWM frequency입니다. Low-frequency 값은 `10`, `15`, `23`, 기본값 `30`, `38`, `47`, `62`, `94` Hz입니다.

High-frequency 값은 `23000`, `24000`, `25000`, `26000`, `27000`, `28000`, `29000`, `30000` Hz입니다. 이 목록에 없는 값을 설정하면 무시됩니다.

지원 PWM 주파수
범위Hz
Low10, 15, 23, 30(default), 38, 47, 62, 94
High23000, 24000, 25000, 26000
High27000, 28000, 29000, 30000
그 외무시

Low와 high frequency range의 유효값입니다.

PWM polarity·frequency 적용
2/3/4-wire fan 특성 확인필요하면 pwm_invert 설정지원 frequency 목록에서 값 선택유효값이면 register에 적용Tachometer로 fan speed 확인

Fan hardware에 맞는 polarity와 지원 frequency를 선택합니다.



pwm[1-3]_invert
        When set, inverts the meaning of pwm[1-3].
        i.e.  when pwm = 0, the fan will be on full and
        when pwm = 255 the fan will be off.

pwm[1-3]_freq
        PWM frequency in Hz
        Valid values in Hz are:

        * 10
        * 15
        * 23
        * 30  (default)
        * 38
        * 47
        * 62
        * 94
        * 23000
        * 24000
        * 25000
        * 26000
        * 27000
        * 28000
        * 29000
        * 30000

        Setting any other value will be ignored.

PECI enable과 filter 설정

271-310

`peci_enable`은 PECI를 enable 또는 disable합니다. `peci_avg`는 input filter average time입니다. 값 0은 0초로 smoothing이 없는 기본값, 1은 0.25초, 2는 0.5초, 3은 1.0초, 4는 2.0초, 5는 4.0초, 6은 8.0초, 7은 0.0초입니다.

`peci_legacy=0`은 기본 Standard Mode입니다. Remote Diode 1은 Temperature Zone 1, PECI는 Zone 4에 연결됩니다. `peci_legacy=1`은 Legacy Mode로 PECI를 Zone 1, Remote Diode 1을 Zone 4에 연결합니다.

`peci_diode`는 diode filter입니다. 값 0~7은 각각 `0.25`, `1.1`, 기본값 `2.4`, `3.4`, `5.0`, `6.8`, `10.2`, `16.4`초입니다.

PECI filtering
Selectorpeci_avgpeci_diode
00 sec, default0.25 sec
10.25 sec1.1 sec
20.5 sec2.4 sec, default
31.0 sec3.4 sec
42.0 sec5.0 sec
54.0 sec6.8 sec
68.0 sec10.2 sec
70.0 sec16.4 sec

Average와 diode filter의 selector 값을 시간으로 변환합니다.

PECI mode 구성
peci_enable로 bus 활성화Standard 또는 legacy zone mapping 선택peci_avg로 input average 설정peci_diode로 diode filter 설정Filtered temperature를 zone에 공급

PECI source mapping과 두 filter를 함께 설정합니다.

peci_enable
        Enables or disables PECI

peci_avg
        Input filter average time.

        * 0         0 Sec. (no Smoothing) (default)
        * 1         0.25 Sec.
        * 2         0.5 Sec.
        * 3         1.0 Sec.
        * 4         2.0 Sec.
        * 5         4.0 Sec.
        * 6         8.0 Sec.
        * 7         0.0 Sec.

peci_legacy
        =        ============================================
        0        Standard Mode (default)
                Remote Diode 1 reading is associated with
                Temperature Zone 1, PECI is associated with
                Zone 4

        1        Legacy Mode
                PECI is associated with Temperature Zone 1,
                Remote Diode 1 is associated with Zone 4
        =        ============================================

peci_diode
        Diode filter

        =        ====================
        0        0.25 Sec.
        1         1.1 Sec.
        2         2.4 Sec.  (default)
        3         3.4 Sec.
        4         5.0 Sec.
        5         6.8 Sec.
        6         10.2 Sec.
        7         16.4 Sec.
        =        ====================

PECI domain 수

311-326

`peci_4domain`은 four-domain support를 enable합니다. 값 0은 기본값으로 enabled processor마다 1개 또는 2개 domain을 사용하고, 값 1은 3개 또는 4개 domain을 사용합니다.

`peci_domain`은 processor의 domain 구성을 지정합니다. 값 0은 기본값이며 processor가 단일 domain 0을 포함한다는 뜻입니다. 값 1은 processor가 domain 0과 1 두 개를 포함한다는 뜻입니다.

PECI domain selector
Attribute값 0값 1
peci_4domainProcessor당 1~2 domainProcessor당 3~4 domain
peci_domainSingle domain 0Two domains 0,1

확장 domain과 processor별 기본 domain 수를 구분합니다.

Domain topology 선택
Processor domain topology 확인1~2개면 peci_4domain=03~4개면 peci_4domain=1단일/이중 기본 domain을 peci_domain으로 지정Zone source에서 각 PECI temperature 사용

Processor의 PECI domain 수에 맞춰 확장 모드를 구성합니다.


peci_4domain
        Four domain enable

        =        ===============================================
        0         1 or 2 Domains for enabled processors (default)
        1         3 or 4 Domains for enabled processors
        =        ===============================================

peci_domain
        Domain

        =        ==================================================
        0         Processor contains a single domain (0)          (default)
        1         Processor contains two domains (0,1)
        =        ==================================================