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

Linux 6.18.37 · Hardware Monitoring

Kernel driver f71805f

Fintek F7180x의 전압 scaling, fan·온도 감시와 세 fan control mode입니다.

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

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

1. 요약·해설

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

요약·해설

f71805f.rst:1-181

Super I/O에서 찾은 Fintek chip의 board별 전압 배선과 PWM·DC fan 제어를 다룹니다.

문서 개요
항목
SourceDocumentation/hwmon/f71805f.rst
분량181 source lines
Voltage ADC8-bit, 8 mV LSB
Fan modemanual·temperature·speed

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

핵심 흐름
Super I/O 식별Board voltage scalingFan·온도 감시PWM·DC mode 선택

장치 동작의 기본 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver f71805f
2 =====================
3
4 Supported chips:
5
6 * Fintek F71805F/FG
7
8 Prefix: 'f71805f'
9
10 Addresses scanned: none, address read from Super I/O config space
11
12 Datasheet: Available from the Fintek website
13
14 * Fintek F71806F/FG
15
16 Prefix: 'f71872f'
17
18 Addresses scanned: none, address read from Super I/O config space
19
20 Datasheet: Available from the Fintek website
21
22 * Fintek F71872F/FG
23
24 Prefix: 'f71872f'
25
26 Addresses scanned: none, address read from Super I/O config space
27
28 Datasheet: Available from the Fintek website
29
30 Author: Jean Delvare <[email protected]>
31
32 Thanks to Denis Kieft from Barracuda Networks for the donation of a
33 test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and
34 for providing initial documentation.
35
36 Thanks to Kris Chen and Aaron Huang from Fintek for answering technical
37 questions and providing additional documentation.
38
39 Thanks to Chris Lin from Jetway for providing wiring schematics and
40 answering technical questions.
41
42
43 Description
44 -----------
45
46 The Fintek F71805F/FG Super I/O chip includes complete hardware monitoring
47 capabilities. It can monitor up to 9 voltages (counting its own power
48 source), 3 fans and 3 temperature sensors.
49
50 This chip also has fan controlling features, using either DC or PWM, in
51 three different modes (one manual, two automatic).
52
53 The Fintek F71872F/FG Super I/O chip is almost the same, with two
54 additional internal voltages monitored (VSB and battery). It also features
55 6 VID inputs. The VID inputs are not yet supported by this driver.
56
57 The Fintek F71806F/FG Super-I/O chip is essentially the same as the
58 F71872F/FG, and is undistinguishable therefrom.
59
60 The driver assumes that no more than one chip is present, which seems
61 reasonable.
62
63
64 Voltage Monitoring
65 ------------------
66
67 Voltages are sampled by an 8-bit ADC with a LSB of 8 mV. The supported
68 range is thus from 0 to 2.040 V. Voltage values outside of this range
69 need external resistors. An exception is in0, which is used to monitor
70 the chip's own power source (+3.3V), and is divided internally by a
71 factor 2. For the F71872F/FG, in9 (VSB) and in10 (battery) are also
72 divided internally by a factor 2.
73
74 The two LSB of the voltage limit registers are not used (always 0), so
75 you can only set the limits in steps of 32 mV (before scaling).
76
77 The wirings and resistor values suggested by Fintek are as follow:
78
79 ======= ======= =========== ==== ======= ============ ==============
80 in pin expected
81 name use R1 R2 divider raw val.
82 ======= ======= =========== ==== ======= ============ ==============
83 in0 VCC VCC3.3V int. int. 2.00 1.65 V
84 in1 VIN1 VTT1.2V 10K - 1.00 1.20 V
85 in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V [1]_
86 in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V [2]_
87 in4 VIN4 VCC5V 200K 47K 5.25 0.95 V
88 in5 VIN5 +12V 200K 20K 11.00 1.05 V
89 in6 VIN6 VCC1.5V 10K - 1.00 1.50 V
90 in7 VIN7 VCORE 10K - 1.00 ~1.40 V [1]_
91 in8 VIN8 VSB5V 200K 47K 1.00 0.95 V
92 in10 VSB VSB3.3V int. int. 2.00 1.65 V [3]_
93 in9 VBAT VBATTERY int. int. 2.00 1.50 V [3]_
94 ======= ======= =========== ==== ======= ============ ==============
95
96 .. [1] Depends on your hardware setup.
97 .. [2] Obviously not correct, swapping R1 and R2 would make more sense.
98 .. [3] F71872F/FG only.
99
100 These values can be used as hints at best, as motherboard manufacturers
101 are free to use a completely different setup. As a matter of fact, the
102 Jetway K8M8MS uses a significantly different setup. You will have to
103 find out documentation about your own motherboard, and edit sensors.conf
104 accordingly.
105
106 Each voltage measured has associated low and high limits, each of which
107 triggers an alarm when crossed.
108
109
110 Fan Monitoring
111 --------------
112
113 Fan rotation speeds are reported as 12-bit values from a gated clock
114 signal. Speeds down to 366 RPM can be measured. There is no theoretical
115 high limit, but values over 6000 RPM seem to cause problem. The effective
116 resolution is much lower than you would expect, the step between different
117 register values being 10 rather than 1.
118
119 The chip assumes 2 pulse-per-revolution fans.
120
121 An alarm is triggered if the rotation speed drops below a programmable
122 limit or is too low to be measured.
123
124
125 Temperature Monitoring
126 ----------------------
127
128 Temperatures are reported in degrees Celsius. Each temperature measured
129 has a high limit, those crossing triggers an alarm. There is an associated
130 hysteresis value, below which the temperature has to drop before the
131 alarm is cleared.
132
133 All temperature channels are external, there is no embedded temperature
134 sensor. Each channel can be used for connecting either a thermal diode
135 or a thermistor. The driver reports the currently selected mode, but
136 doesn't allow changing it. In theory, the BIOS should have configured
137 everything properly.
138
139
140 Fan Control
141 -----------
142
143 Both PWM (pulse-width modulation) and DC fan speed control methods are
144 supported. The right one to use depends on external circuitry on the
145 motherboard, so the driver assumes that the BIOS set the method
146 properly. The driver will report the method, but won't let you change
147 it.
148
149 When the PWM method is used, you can select the operating frequency,
150 from 187.5 kHz (default) to 31 Hz. The best frequency depends on the
151 fan model. As a rule of thumb, lower frequencies seem to give better
152 control, but may generate annoying high-pitch noise. So a frequency just
153 above the audible range, such as 25 kHz, may be a good choice; if this
154 doesn't give you good linear control, try reducing it. Fintek recommends
155 not going below 1 kHz, as the fan tachometers get confused by lower
156 frequencies as well.
157
158 When the DC method is used, Fintek recommends not going below 5 V, which
159 corresponds to a pwm value of 106 for the driver. The driver doesn't
160 enforce this limit though.
161
162 Three different fan control modes are supported; the mode number is written
163 to the pwm<n>_enable file.
164
165 * 1: Manual mode
166 You ask for a specific PWM duty cycle or DC voltage by writing to the
167 pwm<n> file.
168
169 * 2: Temperature mode
170 You define 3 temperature/fan speed trip points using the
171 pwm<n>_auto_point<m>_temp and _fan files. These define a staircase
172 relationship between temperature and fan speed with two additional points
173 interpolated between the values that you define. When the temperature
174 is below auto_point1_temp the fan is switched off.
175
176 * 3: Fan speed mode
177 You ask for a specific fan speed by writing to the fan<n>_target file.
178
179 Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
180 fan2 and pwm3 to fan3. Temperature mode also requires that temp1 corresponds
181 to pwm1 and fan1, etc.
182

3. 한국어 전문 번역

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

F71805F·F71806F·F71872F 지원

1-42

이 드라이버는 Fintek F71805F/FG를 prefix `f71805f`로, F71806F/FG와 F71872F/FG를 prefix `f71872f`로 지원합니다. 주소를 scan하지 않고 Super I/O configuration space에서 읽습니다. Datasheet는 Fintek website에서 제공됩니다.

저자는 Jean Delvare입니다. Denis Kieft와 Barracuda Networks는 CPU와 RAM을 갖춘 custom Jetway K8M8MS test system과 초기 문서를 제공했고, Fintek의 Kris Chen·Aaron Huang은 기술 질문과 추가 문서에 답했습니다. Jetway의 Chris Lin은 배선 schematic과 기술 답변을 제공했습니다.

Fintek 지원표
ChipPrefix주소
F71805F/FGf71805fSuper I/O config space에서 읽음
F71806F/FGf71872fSuper I/O config space에서 읽음
F71872F/FGf71872fSuper I/O config space에서 읽음

Super I/O configuration에서 식별하는 세 계열입니다.

Fintek 장치 식별
Super I/O config space 진입Chip ID·주소 읽기F71805F 또는 F71872F prefix 선택Hwmon resource 등록

일반 bus scan 대신 Super I/O configuration을 사용합니다.

Kernel driver f71805f
=====================

Supported chips:

  * Fintek F71805F/FG

    Prefix: 'f71805f'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71806F/FG

    Prefix: 'f71872f'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71872F/FG

    Prefix: 'f71872f'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

Author: Jean Delvare <[email protected]>

Thanks to Denis Kieft from Barracuda Networks for the donation of a
test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and
for providing initial documentation.

Thanks to Kris Chen and Aaron Huang from Fintek for answering technical
questions and providing additional documentation.

Thanks to Chris Lin from Jetway for providing wiring schematics and
answering technical questions.

감시 채널과 fan 제어 능력

43-63

Fintek F71805F/FG Super I/O chip은 자체 전원을 포함해 최대 9개 전압, fan 3개, 온도 sensor 3개를 감시하는 완전한 hardware monitoring 기능을 제공합니다. Fan은 DC 또는 PWM 방식과 수동 1개·자동 2개의 세 mode로 제어할 수 있습니다.

F71872F/FG는 거의 같은 chip이지만 VSB와 battery의 내부 전압 2개를 추가로 감시하고 VID input 6개를 제공합니다. VID input은 아직 이 드라이버에서 지원하지 않습니다. F71806F/FG는 본질적으로 F71872F/FG와 같아 구별할 수 없습니다.

드라이버는 chip이 하나보다 많이 존재하지 않는다고 가정합니다.

F7180x 기능 비교
기능F71805F/FGF71806F/FG·F71872F/FG
기본 전압최대 9개최대 9개
추가 전압-VSB·battery
Fan3개3개
Temperature3개3개
VID input-6개, driver 미지원

계열별 monitoring 차이입니다.

Monitoring 초기화
Chip variant 식별Voltage channel 구성Fan·temperature 등록DC·PWM mode 읽기VID는 제외

단일 chip 가정 아래 각 sensor 그룹을 등록합니다.

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

The Fintek F71805F/FG Super I/O chip includes complete hardware monitoring
capabilities. It can monitor up to 9 voltages (counting its own power
source), 3 fans and 3 temperature sensors.

This chip also has fan controlling features, using either DC or PWM, in
three different modes (one manual, two automatic).

The Fintek F71872F/FG Super I/O chip is almost the same, with two
additional internal voltages monitored (VSB and battery). It also features
6 VID inputs. The VID inputs are not yet supported by this driver.

The Fintek F71806F/FG Super-I/O chip is essentially the same as the
F71872F/FG, and is undistinguishable therefrom.

The driver assumes that no more than one chip is present, which seems
reasonable.

8-bit ADC와 전압 배선

64-109

전압은 LSB가 8 mV인 8-bit ADC로 sample하므로 지원 범위는 0~2.040 V입니다. 이 범위를 벗어나는 전압에는 외부 resistor가 필요합니다. `in0`은 chip 자체의 +3.3V 전원을 감시하며 내부에서 2로 나눕니다. F71872F/FG의 `in9` VSB와 `in10` battery도 내부에서 2로 나눕니다.

전압 limit register의 하위 2 bit는 사용하지 않고 항상 0이므로 scaling 전 limit는 32 mV step으로만 설정할 수 있습니다.

Fintek가 제안한 배선은 아래 표와 같습니다. `in2`와 `in7`의 예상 raw 값은 hardware setup에 따라 달라지고, `in3` 값은 명백히 맞지 않아 R1과 R2를 바꾸는 편이 합리적입니다. `in9`와 `in10`은 F71872F/FG에만 있습니다.

이 값들은 힌트일 뿐입니다. Motherboard 제조사는 완전히 다른 배선을 사용할 수 있고 실제 Jetway K8M8MS도 크게 다릅니다. 자신의 motherboard 문서를 확인해 `sensors.conf`를 알맞게 편집해야 합니다. 각 측정 전압에는 low·high limit가 있으며 임계값을 넘으면 각각 alarm을 발생시킵니다.

Fintek 권장 전압 배선
입력Pin용도R1R2Divider예상 raw
in0VCCVCC3.3Vinternalinternal2.001.65 V
in1VIN1VTT1.2V10K-1.001.20 V
in2VIN2VRAM100K100K2.00~1.25 V [1]
in3VIN3VCHIPSET47K100K1.472.24 V [2]
in4VIN4VCC5V200K47K5.250.95 V
in5VIN5+12V200K20K11.001.05 V
in6VIN6VCC1.5V10K-1.001.50 V
in7VIN7VCORE10K-1.00~1.40 V [1]
in8VIN8VSB5V200K47K1.000.95 V
in10VSBVSB3.3Vinternalinternal2.001.65 V [3]
in9VBATVBATTERYinternalinternal2.001.50 V [3]

원문의 ASCII 표를 동일한 열 구조로 다시 그렸습니다.

전압 scaling
8 mV LSB로 raw sample내부·외부 divider 적용sensors.conf board scaling 적용Low·high limit 비교Crossing 시 alarm

Board 배선에 맞춰 raw ADC를 실제 전압으로 해석합니다.

Voltage Monitoring
------------------

Voltages are sampled by an 8-bit ADC with a LSB of 8 mV. The supported
range is thus from 0 to 2.040 V. Voltage values outside of this range
need external resistors. An exception is in0, which is used to monitor
the chip's own power source (+3.3V), and is divided internally by a
factor 2. For the F71872F/FG, in9 (VSB) and in10 (battery) are also
divided internally by a factor 2.

The two LSB of the voltage limit registers are not used (always 0), so
you can only set the limits in steps of 32 mV (before scaling).

The wirings and resistor values suggested by Fintek are as follow:

======= ======= =========== ==== ======= ============ ==============
in      pin                                           expected
        name    use           R1      R2     divider  raw val.
======= ======= =========== ==== ======= ============ ==============
in0     VCC     VCC3.3V     int.    int.        2.00    1.65 V
in1     VIN1    VTT1.2V      10K       -        1.00    1.20 V
in2     VIN2    VRAM        100K    100K        2.00   ~1.25 V [1]_
in3     VIN3    VCHIPSET     47K    100K        1.47    2.24 V [2]_
in4     VIN4    VCC5V       200K     47K        5.25    0.95 V
in5     VIN5    +12V        200K     20K       11.00    1.05 V
in6     VIN6    VCC1.5V      10K       -        1.00    1.50 V
in7     VIN7    VCORE        10K       -        1.00   ~1.40 V [1]_
in8     VIN8    VSB5V       200K     47K        1.00    0.95 V
in10    VSB     VSB3.3V     int.    int.        2.00    1.65 V [3]_
in9     VBAT    VBATTERY    int.    int.        2.00    1.50 V [3]_
======= ======= =========== ==== ======= ============ ==============

.. [1] Depends on your hardware setup.
.. [2] Obviously not correct, swapping R1 and R2 would make more sense.
.. [3] F71872F/FG only.

These values can be used as hints at best, as motherboard manufacturers
are free to use a completely different setup. As a matter of fact, the
Jetway K8M8MS uses a significantly different setup. You will have to
find out documentation about your own motherboard, and edit sensors.conf
accordingly.

Each voltage measured has associated low and high limits, each of which
triggers an alarm when crossed.

Fan RPM 감시

110-124

Fan 회전 속도는 gated clock signal에서 12-bit 값으로 보고됩니다. 366 RPM까지 측정할 수 있고 이론적 상한은 없지만 6000 RPM을 넘는 값은 문제가 생기는 것으로 보입니다. 서로 다른 register 값 사이의 step이 1이 아니라 10이므로 실효 resolution은 예상보다 훨씬 낮습니다.

Chip은 회전당 2 pulse인 fan을 가정합니다. 속도가 programmable limit 아래로 떨어지거나 너무 낮아 측정할 수 없으면 alarm이 발생합니다.

Fan tachometer 특성
항목
Counter12-bit gated clock
최저 측정366 RPM
실용 상한 주의6000 RPM 초과
Register step10
Fan 가정2 pulse/revolution

측정 범위와 alarm 조건입니다.

Fan alarm 판정
2 pulse/revolution 입력12-bit speed 계산Programmable limit 비교너무 낮으면 측정 불가조건 충족 시 alarm

Tachometer 값을 limit와 측정 가능 범위에 비교합니다.

Fan Monitoring
--------------

Fan rotation speeds are reported as 12-bit values from a gated clock
signal. Speeds down to 366 RPM can be measured. There is no theoretical
high limit, but values over 6000 RPM seem to cause problem. The effective
resolution is much lower than you would expect, the step between different
register values being 10 rather than 1.

The chip assumes 2 pulse-per-revolution fans.

An alarm is triggered if the rotation speed drops below a programmable
limit or is too low to be measured.

외부 온도 채널과 hysteresis

125-139

온도는 섭씨로 보고됩니다. 각 온도 측정값에는 high limit가 있으며 이를 넘으면 alarm이 발생합니다. 연관된 hysteresis 값 아래로 온도가 내려가야 alarm이 해제됩니다.

모든 온도 채널은 외부 채널이며 내장 온도 sensor는 없습니다. 각 채널에는 thermal diode 또는 thermistor를 연결할 수 있습니다. 드라이버는 현재 선택된 mode를 보고하지만 변경은 허용하지 않습니다. 이론상 BIOS가 모든 항목을 올바르게 구성해야 합니다.

Temperature 채널
항목동작
단위degrees Celsius
채널외부 3개, 내장 sensor 없음
Sensor 유형Thermal diode 또는 thermistor
Alarm setHigh limit crossing
Alarm clearHysteresis 아래로 하강

Sensor 유형과 alarm hysteresis입니다.

온도 alarm
BIOS sensor mode 적용외부 온도 읽기High limit crossing 감지Alarm 유지Hysteresis 아래에서 해제

BIOS가 정한 sensor mode에서 high limit와 hysteresis를 적용합니다.

Temperature Monitoring
----------------------

Temperatures are reported in degrees Celsius. Each temperature measured
has a high limit, those crossing triggers an alarm. There is an associated
hysteresis value, below which the temperature has to drop before the
alarm is cleared.

All temperature channels are external, there is no embedded temperature
sensor. Each channel can be used for connecting either a thermal diode
or a thermistor. The driver reports the currently selected mode, but
doesn't allow changing it. In theory, the BIOS should have configured
everything properly.

PWM·DC fan 제어 mode

140-181

PWM과 DC fan speed control을 모두 지원합니다. 어떤 방식을 쓸지는 motherboard의 외부 회로에 달려 있으므로 드라이버는 BIOS가 올바른 method를 설정했다고 가정합니다. 드라이버는 method를 보고하지만 변경을 허용하지 않습니다.

PWM method에서는 동작 주파수를 기본 187.5 kHz부터 31 Hz까지 선택할 수 있습니다. 가장 좋은 주파수는 fan model에 따라 다릅니다. 일반적으로 낮은 주파수가 제어에는 낫지만 거슬리는 고주파음을 낼 수 있으므로 가청 범위 바로 위인 25 kHz가 좋은 출발점입니다. 선형 제어가 좋지 않으면 주파수를 낮춥니다. 더 낮은 주파수에서는 tachometer가 혼동할 수 있어 Fintek는 1 kHz 아래로 내리지 않기를 권장합니다.

DC method에서 Fintek는 5 V 아래로 내리지 않기를 권장합니다. 드라이버의 `pwm` 값으로는 106에 해당하지만 드라이버가 이 limit를 강제하지는 않습니다.

Fan control mode 번호는 `pwm<n>_enable`에 씁니다. Mode 1 manual에서는 `pwm<n>`에 특정 PWM duty cycle 또는 DC voltage를 씁니다. Mode 2 temperature에서는 `pwm<n>_auto_point<m>_temp`와 `_fan`으로 세 temperature/fan speed trip point를 정의합니다. 두 개의 추가 point를 보간해 staircase 관계를 만들며 temperature가 `auto_point1_temp` 아래이면 fan을 끕니다. Mode 3 fan speed에서는 `fan<n>_target`에 특정 fan speed를 씁니다.

두 automatic mode 모두 `pwm1`-`fan1`, `pwm2`-`fan2`, `pwm3`-`fan3`의 대응이 필요합니다. Temperature mode에서는 `temp1`도 `pwm1`·`fan1`에 대응하는 식으로 temperature channel까지 일치해야 합니다.

Fan control mode
Mode이름입력동작
1Manualpwm<n>Duty cycle 또는 DC voltage 지정
2Temperatureauto_point<m>_temp, _fan3 point와 2개 보간 point의 staircase
3Fan speedfan<n>_target목표 RPM 지정
PWM frequency187.5 kHz~31 Hz25 kHz 시작 권장1 kHz 미만 비권장
DC floor5 V 권장pwm=106Driver는 강제하지 않음

pwm<n>_enable 값과 제어 입력입니다.

자동 fan 제어
BIOS가 PWM·DC method 설정pwm<n>_enable mode 선택Channel 대응 검증Trip point 또는 target 쓰기Duty·voltage 자동 조절

Channel 대응을 지킨 상태에서 temperature 또는 RPM을 목표로 제어합니다.

Fan Control
-----------

Both PWM (pulse-width modulation) and DC fan speed control methods are
supported. The right one to use depends on external circuitry on the
motherboard, so the driver assumes that the BIOS set the method
properly. The driver will report the method, but won't let you change
it.

When the PWM method is used, you can select the operating frequency,
from 187.5 kHz (default) to 31 Hz. The best frequency depends on the
fan model. As a rule of thumb, lower frequencies seem to give better
control, but may generate annoying high-pitch noise. So a frequency just
above the audible range, such as 25 kHz, may be a good choice; if this
doesn't give you good linear control, try reducing it. Fintek recommends
not going below 1 kHz, as the fan tachometers get confused by lower
frequencies as well.

When the DC method is used, Fintek recommends not going below 5 V, which
corresponds to a pwm value of 106 for the driver. The driver doesn't
enforce this limit though.

Three different fan control modes are supported; the mode number is written
to the pwm<n>_enable file.

* 1: Manual mode
  You ask for a specific PWM duty cycle or DC voltage by writing to the
  pwm<n> file.

* 2: Temperature mode
  You define 3 temperature/fan speed trip points using the
  pwm<n>_auto_point<m>_temp and _fan files. These define a staircase
  relationship between temperature and fan speed with two additional points
  interpolated between the values that you define. When the temperature
  is below auto_point1_temp the fan is switched off.

* 3: Fan speed mode
  You ask for a specific fan speed by writing to the fan<n>_target file.

Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
fan2 and pwm3 to fan3. Temperature mode also requires that temp1 corresponds
to pwm1 and fan1, etc.