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

Linux 6.18.37 · Hardware Monitoring

Kernel driver thmc50

THMC50·ADM1022의 내부·원격 온도, 히스테리시스 경보, DC 팬 제어를 설명합니다.

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

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

1. 요약·해설

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

요약·해설

thmc50.rst:1-89

THMC50 계열은 최대 3개 온도와 DC 팬 출력을 제공하며 ADM1022는 추가 원격 센서 모드와 더 빠른 갱신을 지원합니다.

문서 개요
항목
SourceDocumentation/hwmon/thmc50.rst
분량89 source lines
온도최대 3
PWM0~255, DC

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

동작 흐름
I2C 탐지BIOS 모드 확인온도·경보 갱신pwm1 설정FAN_OFF 처리

장치 초기화부터 측정값 제공까지의 핵심 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver thmc50
2 =====================
3
4 Supported chips:
5
6 * Analog Devices ADM1022
7
8 Prefix: 'adm1022'
9
10 Addresses scanned: I2C 0x2c - 0x2e
11
12 Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html
13
14 * Texas Instruments THMC50
15
16 Prefix: 'thmc50'
17
18 Addresses scanned: I2C 0x2c - 0x2e
19
20 Datasheet: https://www.ti.com/
21
22
23 Author: Krzysztof Helt <[email protected]>
24
25 This driver was derived from the 2.4 kernel thmc50.c source file.
26
27 Credits:
28
29 thmc50.c (2.4 kernel):
30
31 - Frodo Looijaard <[email protected]>
32 - Philip Edelbrock <[email protected]>
33
34 Module Parameters
35 -----------------
36
37 * adm1022_temp3: short array
38 List of adapter,address pairs to force chips into ADM1022 mode with
39 second remote temperature. This does not work for original THMC50 chips.
40
41 Description
42 -----------
43
44 The THMC50 implements: an internal temperature sensor, support for an
45 external diode-type temperature sensor (compatible w/ the diode sensor inside
46 many processors), and a controllable fan/analog_out DAC. For the temperature
47 sensors, limits can be set through the appropriate Overtemperature Shutdown
48 register and Hysteresis register. Each value can be set and read to half-degree
49 accuracy. An alarm is issued (usually to a connected LM78) when the
50 temperature gets higher then the Overtemperature Shutdown value; it stays on
51 until the temperature falls below the Hysteresis value. All temperatures are in
52 degrees Celsius, and are guaranteed within a range of -55 to +125 degrees.
53
54 The THMC50 only updates its values each 1.5 seconds; reading it more often
55 will do no harm, but will return 'old' values.
56
57 The THMC50 is usually used in combination with LM78-like chips, to measure
58 the temperature of the processor(s).
59
60 The ADM1022 works the same as THMC50 but it is faster (5 Hz instead of
61 1 Hz for THMC50). It can be also put in a new mode to handle additional
62 remote temperature sensor. The driver use the mode set by BIOS by default.
63
64 In case the BIOS is broken and the mode is set incorrectly, you can force
65 the mode with additional remote temperature with adm1022_temp3 parameter.
66 A typical symptom of wrong setting is a fan forced to full speed.
67
68 Driver Features
69 ---------------
70
71 The driver provides up to three temperatures:
72
73 temp1
74 - internal
75 temp2
76 - remote
77 temp3
78 - 2nd remote only for ADM1022
79
80 pwm1
81 - fan speed (0 = stop, 255 = full)
82 pwm1_mode
83 - always 0 (DC mode)
84
85 The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
86 so it stops fans even if the value 0 into the ANALOG_OUT register does not.
87
88 The driver was tested on Compaq AP550 with two ADM1022 chips (one works
89 in the temp3 mode), five temperature readings and two fans.
90

3. 한국어 전문 번역

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

지원 칩·유래·모듈 매개변수

1-40

`thmc50` 드라이버는 Analog Devices ADM1022와 Texas Instruments THMC50을 지원합니다. ADM1022의 접두사는 `adm1022`, THMC50의 접두사는 `thmc50`이며 두 칩 모두 I2C 주소 `0x2c~0x2e`를 검색합니다.

작성자는 Krzysztof Helt입니다. 이 드라이버는 2.4 커널의 `thmc50.c`에서 파생됐으며, 원본 작성자 Frodo Looijaard와 Philip Edelbrock의 기여를 명시합니다.

`adm1022_temp3`는 어댑터·주소 쌍의 short 배열입니다. 지정한 칩을 두 번째 원격 온도를 사용하는 ADM1022 모드로 강제합니다. 원래 THMC50 칩에는 이 기능이 동작하지 않습니다.

THMC50 계열 지원
접두사검색 주소추가 원격 센서 강제
Analog Devices ADM1022adm1022I2C 0x2c~0x2e`adm1022_temp3` 가능
Texas Instruments THMC50thmc50I2C 0x2c~0x2e불가

두 칩의 접두사·검색 주소·추가 모드를 비교했습니다.

ADM1022 추가 모드 강제
어댑터·주소 쌍 지정`adm1022_temp3` 배열에 추가해당 장치가 ADM1022인지 확인두 번째 원격 센서 모드 강제temp3 채널 활성화

BIOS 설정이 잘못됐을 때 매개변수로 모드를 고르는 흐름입니다.

Kernel driver thmc50
=====================

Supported chips:

  * Analog Devices ADM1022

    Prefix: 'adm1022'

    Addresses scanned: I2C 0x2c - 0x2e

    Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html

  * Texas Instruments THMC50

    Prefix: 'thmc50'

    Addresses scanned: I2C 0x2c - 0x2e

    Datasheet: https://www.ti.com/


Author: Krzysztof Helt <[email protected]>

This driver was derived from the 2.4 kernel thmc50.c source file.

Credits:

  thmc50.c (2.4 kernel):

        - Frodo Looijaard <[email protected]>
        - Philip Edelbrock <[email protected]>

Module Parameters
-----------------

* adm1022_temp3: short array
    List of adapter,address pairs to force chips into ADM1022 mode with
    second remote temperature. This does not work for original THMC50 chips.

온도·경보·갱신 동작

41-67

THMC50은 내부 온도 센서, 다수 프로세서 안의 다이오드 센서와 호환되는 외부 다이오드형 온도 센서, 제어 가능한 팬/`analog_out` DAC를 구현합니다. 온도 센서 한계는 대응하는 Overtemperature Shutdown 레지스터와 Hysteresis 레지스터로 설정합니다. 각 값은 0.5°C 정확도로 설정하고 읽을 수 있습니다.

온도가 Overtemperature Shutdown 값보다 높아지면 보통 연결된 LM78에 경보를 내고, Hysteresis 값 아래로 떨어질 때까지 유지합니다. 모든 온도는 섭씨이며 -55~+125°C 범위에서 보장됩니다.

THMC50은 1.5초마다 값을 갱신합니다. 더 자주 읽어도 해는 없지만 이전 값을 반환합니다. 보통 LM78 계열 칩과 함께 프로세서 온도를 측정하는 데 사용합니다.

ADM1022는 THMC50과 같은 방식으로 동작하지만 THMC50의 1 Hz 대신 5 Hz로 더 빠릅니다. 추가 원격 온도 센서를 처리하는 새 모드도 있으며 드라이버는 기본적으로 BIOS가 설정한 모드를 사용합니다.

BIOS가 잘못돼 모드 설정이 틀렸다면 `adm1022_temp3` 매개변수로 추가 원격 온도 모드를 강제할 수 있습니다. 잘못된 설정의 전형적인 증상은 팬이 최고 속도로 강제되는 것입니다.

THMC50·ADM1022 동작 비교
항목THMC50ADM1022
내부·원격 온도지원지원
추가 원격 온도미지원새 모드에서 지원
갱신1 Hz, 값은 1.5초마다 갱신5 Hz
설정·읽기 정확도0.5°C0.5°C
보장 온도 범위-55~+125°C-55~+125°C

온도 범위와 갱신 특성, 추가 모드를 정리했습니다.

온도 경보 히스테리시스
온도 센서 측정Overtemperature Shutdown 값 초과LM78 등에 경보 출력경보 상태 유지Hysteresis 값 아래에서 해제

경보가 켜지고 해제되는 조건입니다.

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

The THMC50 implements: an internal temperature sensor, support for an
external diode-type temperature sensor (compatible w/ the diode sensor inside
many processors), and a controllable fan/analog_out DAC. For the temperature
sensors, limits can be set through the appropriate Overtemperature Shutdown
register and Hysteresis register. Each value can be set and read to half-degree
accuracy.  An alarm is issued (usually to a connected LM78) when the
temperature gets higher then the Overtemperature Shutdown value; it stays on
until the temperature falls below the Hysteresis value. All temperatures are in
degrees Celsius, and are guaranteed within a range of -55 to +125 degrees.

The THMC50 only updates its values each 1.5 seconds; reading it more often
will do no harm, but will return 'old' values.

The THMC50 is usually used in combination with LM78-like chips, to measure
the temperature of the processor(s).

The ADM1022 works the same as THMC50 but it is faster (5 Hz instead of
1 Hz for THMC50). It can be also put in a new mode to handle additional
remote temperature sensor. The driver use the mode set by BIOS by default.

In case the BIOS is broken and the mode is set incorrectly, you can force
the mode with additional remote temperature with adm1022_temp3 parameter.
A typical symptom of wrong setting is a fan forced to full speed.

드라이버 채널과 PWM

68-89

드라이버는 최대 세 온도를 제공합니다. `temp1`은 내부, `temp2`는 원격, `temp3`는 ADM1022에서만 사용할 수 있는 두 번째 원격 온도입니다.

`pwm1`은 팬 속도 제어값으로 `0`은 정지, `255`는 최고 속도입니다. `pwm1_mode`는 항상 `0`, 즉 DC 모드입니다.

`pwm1`에 `0`을 쓰면 칩의 `FAN_OFF` 신호도 강제합니다. 따라서 `ANALOG_OUT` 레지스터에 0을 쓰는 것만으로 팬이 멈추지 않는 경우에도 팬을 정지시킵니다.

드라이버는 ADM1022 두 개가 장착된 Compaq AP550에서 시험됐습니다. 하나는 temp3 모드로 동작했고 전체 구성은 온도 측정 5개와 팬 2개였습니다.

THMC50 sysfs 기능
속성기능범위·조건
temp1내부 온도항상
temp2원격 온도항상
temp3두 번째 원격 온도ADM1022 전용
pwm1팬 속도0 정지, 255 최고
pwm1_mode출력 모드항상 0, DC

온도 채널과 PWM 값의 의미입니다.

pwm1 = 0 처리
`pwm1`에 0 쓰기`ANALOG_OUT` 값 0 설정`FAN_OFF` 신호 강제팬 출력 차단팬 정지 보장

레지스터 값과 별도로 팬 정지를 보장하는 경로입니다.

Driver Features
---------------

The driver provides up to three temperatures:

temp1
        - internal
temp2
        - remote
temp3
        - 2nd remote only for ADM1022

pwm1
        - fan speed (0 = stop, 255 = full)
pwm1_mode
        - always 0 (DC mode)

The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
so it stops fans even if the value 0 into the ANALOG_OUT register does not.

The driver was tested on Compaq AP550 with two ADM1022 chips (one works
in the temp3 mode), five temperature readings and two fans.