요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver f71882fg
======================
Supported chips:
* Fintek F71808E
Prefix: 'f71808e'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71808A
Prefix: 'f71808a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71858FG
Prefix: 'f71858fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71862FG and F71863FG
Prefix: 'f71862fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869F and F71869E
Prefix: 'f71869'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869A
Prefix: 'f71869a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71882FG and F71883FG
Prefix: 'f71882fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71889FG
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71889ED
Prefix: 'f71889ed'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F71889A
Prefix: 'f71889a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F8000
Prefix: 'f8000'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F81801U
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
Note:
This is the 64-pin variant of the F71889FG, they have the
same device ID and are fully compatible as far as hardware
monitoring is concerned.
* Fintek F81865F
Prefix: 'f81865f'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
Author: Hans de Goede <[email protected]>
Description
-----------
Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
sensors.
These chips also have fan controlling features, using either DC or PWM, in
three different modes (one manual, two automatic).
The driver assumes that no more than one chip is present, which seems
reasonable.
Monitoring
----------
The Voltage, Fan and Temperature Monitoring uses the standard sysfs
interface as documented in sysfs-interface, without any exceptions.
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.
Note that the lowest numbered temperature zone trip point corresponds to
the border between the highest and one but highest temperature zones, and
vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
to low temp! This is how things are implemented in the IC, and the driver
mimics this.
There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
mode where the actual RPM of the fan (as measured) is controlled and the speed
gets specified as 0-100% of the fan#_full_speed file.
Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
whole lot of a difference when modifying fan control settings. The only
important difference is that in RPM mode the 0-100% controls the fan speed
between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
RPM mode, it will also set fan#_full_speed properly, if it does not then
fan control will not work properly, unless you set a sane fan#_full_speed
value yourself.
Switching between these modes requires re-initializing a whole bunch of
registers, so the mode which the BIOS has set is kept. The mode is
printed when loading the driver.
Three different fan control modes are supported; the mode number is written
to the pwm#_enable file. Note that not all modes are supported on all
chips, and some modes may only be available in RPM / PWM mode.
Writing an unsupported mode will result in an invalid parameter error.
* 1: Manual mode
You ask for a specific PWM duty cycle / DC voltage or a specific % of
fan#_full_speed by writing to the pwm# file. This mode is only
available on the F71858FG / F8000 if the fan channel is in RPM mode.
* 2: Normal auto mode
You can define a number of temperature/fan speed trip points that specify
the percentage at which the fan should run at each temperature, and which
temperature sensor a fan should follow, using the standard sysfs interface.
The number and type of trip points are chip dependent - see the available
files in sysfs.
Fan/PWM channel 3 of the F8000 is always in this mode!
* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
The fan speed is regulated to keep the temp the fan is mapped to between
temp#_auto_point2_temp and temp#_auto_point3_temp.
All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
fan2 and pwm3 to fan3.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
F71808·F71858·F71862·F71869 계열
1-60이 드라이버는 Fintek Super I/O hardware monitoring 계열을 지원합니다. F71808E는 `f71808e`, F71808A는 `f71808a`, F71858FG는 `f71858fg`, F71862FG·F71863FG는 `f71862fg`, F71869F·F71869E는 `f71869`, F71869A는 `f71869a`, F71882FG·F71883FG는 `f71882fg` prefix를 사용합니다.
어느 장치도 일반 주소 scan을 하지 않으며 주소는 Super I/O configuration space에서 읽습니다. F71808E·F71808A·F71869A datasheet는 공개되지 않았고, F71858FG·F71862FG·F71863FG·F71869F·F71869E·F71882FG·F71883FG datasheet는 Fintek website에서 제공합니다.
Chip ID에 따라 선택하는 prefix와 datasheet 상태입니다.
Configuration space에서 chip과 monitoring 주소를 함께 찾습니다.
Kernel driver f71882fg
======================
Supported chips:
* Fintek F71808E
Prefix: 'f71808e'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71808A
Prefix: 'f71808a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71858FG
Prefix: 'f71858fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71862FG and F71863FG
Prefix: 'f71862fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869F and F71869E
Prefix: 'f71869'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869A
Prefix: 'f71869a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71882FG and F71883FG
Prefix: 'f71882fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
F71889·F8000·F818 계열
61-117나머지 지원 장치는 F71889FG `f71889fg`, F71889ED `f71889ed`, F71889A `f71889a`, F8000 `f8000`, F81801U `f71889fg`, F81865F `f81865f`입니다. 모두 Super I/O configuration space에서 주소를 읽으며 일반 scan은 하지 않습니다.
F71889FG와 F81865F datasheet는 Fintek website에서 제공됩니다. F71889ED와 F71889A 자료는 곧 Fintek website에 공개될 예정이라고 기록되어 있고 F8000과 F81801U 자료는 공개되지 않았습니다.
F81801U는 F71889FG의 64-pin variant입니다. 두 장치는 같은 device ID를 사용하며 hardware monitoring 측면에서 완전히 호환됩니다. 저자는 Hans de Goede입니다.
동일 ID 또는 별도 prefix를 쓰는 후속 계열입니다.
같은 device ID를 F71889FG monitoring 모델로 취급합니다.
* Fintek F71889FG
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71889ED
Prefix: 'f71889ed'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F71889A
Prefix: 'f71889a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F8000
Prefix: 'f8000'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F81801U
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
Note:
This is the 64-pin variant of the F71889FG, they have the
same device ID and are fully compatible as far as hardware
monitoring is concerned.
* Fintek F81865F
Prefix: 'f81865f'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
Author: Hans de Goede <[email protected]>
Hardware monitoring 기능
118-138Fintek F718xx/F8000 Super I/O chip은 완전한 hardware monitoring 기능을 제공하며 최대 9개 전압, fan 4개, 온도 sensor 3개를 감시합니다.
DC 또는 PWM을 사용하는 fan control 기능도 있고, 수동 mode 1개와 자동 mode 2개의 세 mode를 제공합니다. 드라이버는 chip이 하나보다 많이 존재하지 않는다고 가정합니다.
전압·fan·온도 monitoring은 `sysfs-interface`에 문서화된 표준 sysfs interface를 예외 없이 사용합니다.
표준 hwmon sysfs로 제공하는 최대 채널 수입니다.
별도 예외 없이 공통 hwmon ABI를 사용합니다.
Description
-----------
Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
sensors.
These chips also have fan controlling features, using either DC or PWM, in
three different modes (one manual, two automatic).
The driver assumes that no more than one chip is present, which seems
reasonable.
Monitoring
----------
The Voltage, Fan and Temperature Monitoring uses the standard sysfs
interface as documented in sysfs-interface, without any exceptions.
Fan 제어 방식과 역순 trip point
139-169PWM과 DC fan speed control을 모두 지원합니다. 적절한 방식은 motherboard 외부 회로에 달려 있으므로 BIOS가 올바른 method를 설정했다고 가정합니다.
Temperature zone trip point 번호의 방향에 주의해야 합니다. 가장 낮은 번호의 trip point가 가장 높은 zone과 그 바로 아래 zone의 경계에 대응하고 반대쪽도 마찬가지입니다. 따라서 trip point 1~4 또는 1~2는 고온에서 저온 방향으로 내려갑니다. 이는 IC 구현을 드라이버가 그대로 모방한 것입니다.
Fan speed 지정 방식은 두 가지입니다. PWM duty cycle 또는 DC voltage mode에서는 12V에 대한 0~100%를 지정합니다. RPM mode에서는 실제 측정 RPM을 제어하며 `fan#_full_speed`의 0~100%로 속도를 지정합니다. 두 방식 모두 0~100%를 0~255에 mapping하므로 설정 변경 방법은 비슷합니다.
RPM mode에서는 0~100%가 `fan#_full_speed`의 비율이라는 점이 핵심 차이입니다. BIOS가 RPM mode와 함께 올바른 `fan#_full_speed`를 설정한다고 가정하며, 그렇지 않으면 사용자가 합리적인 값을 지정해야 정상 제어됩니다. Mode 전환에는 많은 register 재초기화가 필요하므로 BIOS가 정한 mode를 유지하고 driver load 때 출력합니다.
BIOS가 정한 method를 유지하면서 공통 0~255 scale을 사용합니다.
BIOS mode와 channel calibration을 유지해 제어합니다.
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.
Note that the lowest numbered temperature zone trip point corresponds to
the border between the highest and one but highest temperature zones, and
vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
to low temp! This is how things are implemented in the IC, and the driver
mimics this.
There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
mode where the actual RPM of the fan (as measured) is controlled and the speed
gets specified as 0-100% of the fan#_full_speed file.
Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
whole lot of a difference when modifying fan control settings. The only
important difference is that in RPM mode the 0-100% controls the fan speed
between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
RPM mode, it will also set fan#_full_speed properly, if it does not then
fan control will not work properly, unless you set a sane fan#_full_speed
value yourself.
Switching between these modes requires re-initializing a whole bunch of
registers, so the mode which the BIOS has set is kept. The mode is
printed when loading the driver.
Manual·normal auto·thermostat mode
170-193Fan control mode 번호는 `pwm#_enable`에 씁니다. 모든 chip이 모든 mode를 지원하는 것은 아니며 일부 mode는 RPM 또는 PWM mode에서만 사용할 수 있습니다. 지원하지 않는 mode를 쓰면 invalid parameter error가 발생합니다.
Mode 1 manual에서는 `pwm#`에 특정 PWM duty cycle·DC voltage 또는 `fan#_full_speed`의 특정 비율을 씁니다. F71858FG와 F8000에서는 fan channel이 RPM mode일 때만 manual mode를 사용할 수 있습니다.
Mode 2 normal auto에서는 표준 sysfs interface로 여러 temperature/fan speed trip point와 fan이 따를 temperature sensor를 정합니다. Trip point의 수와 종류는 chip마다 다르므로 실제 sysfs 파일을 확인해야 합니다. F8000의 fan/PWM channel 3은 항상 이 mode입니다.
Mode 3 thermostat은 F8000이 duty cycle mode일 때만 사용할 수 있습니다. Fan이 mapping된 온도를 `temp#_auto_point2_temp`와 `temp#_auto_point3_temp` 사이에 유지하도록 속도를 조절합니다. 모든 automatic mode에서 `pwm1`-`fan1`, `pwm2`-`fan2`, `pwm3`-`fan3` 대응이 필요합니다.
Chip과 fan method에 따라 사용 가능성이 달라집니다.
지원 여부와 channel 대응을 확인한 뒤 설정합니다.
Three different fan control modes are supported; the mode number is written
to the pwm#_enable file. Note that not all modes are supported on all
chips, and some modes may only be available in RPM / PWM mode.
Writing an unsupported mode will result in an invalid parameter error.
* 1: Manual mode
You ask for a specific PWM duty cycle / DC voltage or a specific % of
fan#_full_speed by writing to the pwm# file. This mode is only
available on the F71858FG / F8000 if the fan channel is in RPM mode.
* 2: Normal auto mode
You can define a number of temperature/fan speed trip points that specify
the percentage at which the fan should run at each temperature, and which
temperature sensor a fan should follow, using the standard sysfs interface.
The number and type of trip points are chip dependent - see the available
files in sysfs.
Fan/PWM channel 3 of the F8000 is always in this mode!
* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
The fan speed is regulated to keep the temp the fan is mapped to between
temp#_auto_point2_temp and temp#_auto_point3_temp.
All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
fan2 and pwm3 to fan3.
요약·해설
f71882fg.rst:1-193Super I/O에서 식별하는 Fintek 계열의 PWM·DC·RPM fan control과 역순 temperature zone을 설명합니다.
원문 분량과 핵심 범위입니다.
장치 동작의 기본 순서입니다.