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

Linux 6.18.37 · Hardware Monitoring

Kernel driver emc1403

EMC14xx 다채널 온도 센서의 공통 limit·hysteresis 동작입니다.

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

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

1. 요약·해설

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

요약·해설

emc1403.rst:1-91

EMC14xx의 내부·외부 온도 채널과 단일 register가 공유하는 hysteresis 차이를 설명합니다.

문서 개요
항목
SourceDocumentation/hwmon/emc1403.rst
분량91 source lines
Sensor최대 8개
Writable hysttemp1_crit_hyst

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

핵심 흐름
Model·주소 식별온도 채널 등록Limit 먼저 설정공통 hysteresis 적용

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver emc1403
2 =====================
3
4 Supported chips:
5
6 * SMSC / Microchip EMC1402, EMC1412
7
8 Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
9
10 Prefix: 'emc1402'
11
12 Datasheets:
13
14 - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
15 - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
16
17 * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
18
19 Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
20
21 Prefix: 'emc1403', 'emc1404'
22
23 Datasheets:
24
25 - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
26 - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
27
28 * SMSC / Microchip EMC1422
29
30 Addresses scanned: I2C 0x4c
31
32 Prefix: 'emc1422'
33
34 Datasheet:
35
36 - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
37
38 * SMSC / Microchip EMC1423, EMC1424
39
40 Addresses scanned: I2C 0x4c
41
42 Prefix: 'emc1423', 'emc1424'
43
44 Datasheet:
45
46 - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
47
48 * SMSC / Microchip EMC1428, EMC1438
49
50 Addresses scanned: I2C 0x18, 0x4c, 0x4d
51
52 Prefix: 'emc1428', 'emc1438'
53
54 Datasheets:
55
56 - https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005275A.pdf
57 - https://ww1.microchip.com/downloads/en/DeviceDoc/EMC1438%20DS%20Rev.%201.0%20(04-29-10).pdf
58
59 Author:
60 Kalhan Trisal <[email protected]
61
62
63 Description
64 -----------
65
66 The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
67 contain up to eight temperature sensors. EMC14x2 support two sensors
68 (one internal, one external). EMC14x3 support three sensors (one internal,
69 two external), EMC14x4 support four sensors (one internal, three external),
70 and EMC14x8 support eight sensors (one internal, seven external).
71
72 The chips implement three limits for each sensor: low (tempX_min), high
73 (tempX_max) and critical (tempX_crit.) The chips also implement an
74 hysteresis mechanism which applies to all limits. The relative difference
75 is stored in a single register on the chip, which means that the relative
76 difference between the limit and its hysteresis is always the same for
77 all three limits.
78
79 This implementation detail implies the following:
80
81 * When setting a limit, its hysteresis will automatically follow, the
82 difference staying unchanged. For example, if the old critical limit
83 was 80 degrees C, and the hysteresis was 75 degrees C, and you change
84 the critical limit to 90 degrees C, then the hysteresis will
85 automatically change to 85 degrees C.
86 * The hysteresis values can't be set independently. We decided to make
87 only temp1_crit_hyst writable, while all other hysteresis attributes
88 are read-only. Setting temp1_crit_hyst writes the difference between
89 temp1_crit_hyst and temp1_crit into the chip, and the same relative
90 hysteresis applies automatically to all other limits.
91 * The limits should be set before the hysteresis.
92

3. 한국어 전문 번역

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

EMC14xx 지원 장치

1-62

이 드라이버는 SMSC/Microchip EMC14xx 온도 센서 계열을 지원합니다. EMC1402·EMC1412는 `emc1402`, EMC1403·EMC1413은 `emc1403`, EMC1404·EMC1414는 `emc1404`, EMC1422는 `emc1422`, EMC1423·EMC1424는 각각 `emc1423`·`emc1424`, EMC1428·EMC1438은 각각 `emc1428`·`emc1438` prefix를 사용합니다.

EMC1402·EMC1412는 I2C 주소 `0x18`, `0x1c`, `0x29`, `0x4c`, `0x4d`, `0x5c`를 검색합니다. EMC1403·EMC1404·EMC1413·EMC1414는 `0x18`, `0x29`, `0x4c`, `0x4d`, EMC1422·EMC1423·EMC1424는 `0x4c`, EMC1428·EMC1438은 `0x18`, `0x4c`, `0x4d`를 검색합니다.

각 계열의 공개 datasheet URL은 원문 목록에 그대로 보존했습니다. 저자는 Kalhan Trisal입니다.

EMC14xx 지원표
ChipPrefixI2C 검색 주소
EMC1402, EMC1412emc14020x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
EMC1403, EMC1413emc14030x18, 0x29, 0x4c, 0x4d
EMC1404, EMC1414emc14040x18, 0x29, 0x4c, 0x4d
EMC1422emc14220x4c
EMC1423, EMC1424emc1423, emc14240x4c
EMC1428, EMC1438emc1428, emc14380x18, 0x4c, 0x4d

Chip별 prefix와 검색 주소입니다.

EMC14xx 식별
I2C 주소 검색EMC14xx model 식별해당 prefix 선택내부·외부 sensor 채널 등록Limit·hysteresis attribute 게시

주소 검색과 chip 식별 후 해당 채널을 등록합니다.

Kernel driver emc1403
=====================

Supported chips:

  * SMSC / Microchip EMC1402, EMC1412

    Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c

    Prefix: 'emc1402'

    Datasheets:

        - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
        - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf

  * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414

    Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d

    Prefix: 'emc1403', 'emc1404'

    Datasheets:

        - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
        - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf

  * SMSC / Microchip EMC1422

    Addresses scanned: I2C 0x4c

    Prefix: 'emc1422'

    Datasheet:

        - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf

  * SMSC / Microchip EMC1423, EMC1424

    Addresses scanned: I2C 0x4c

    Prefix: 'emc1423', 'emc1424'

    Datasheet:

        - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf

  * SMSC / Microchip EMC1428, EMC1438

    Addresses scanned: I2C 0x18, 0x4c, 0x4d

    Prefix: 'emc1428', 'emc1438'

    Datasheets:

        - https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005275A.pdf
        - https://ww1.microchip.com/downloads/en/DeviceDoc/EMC1438%20DS%20Rev.%201.0%20(04-29-10).pdf

Author:
    Kalhan Trisal <[email protected]

센서 수와 세 온도 한계

63-78

SMSC/Microchip EMC14xx chip에는 최대 8개의 온도 센서가 있습니다. EMC14x2는 내부 1개와 외부 1개로 2개, EMC14x3은 내부 1개와 외부 2개로 3개, EMC14x4는 내부 1개와 외부 3개로 4개, EMC14x8은 내부 1개와 외부 7개로 8개를 지원합니다.

각 센서에는 low `tempX_min`, high `tempX_max`, critical `tempX_crit`의 세 limit가 있습니다. 모든 limit에 hysteresis가 적용되지만 limit와 hysteresis 사이의 상대 차이는 chip의 단일 register에 저장됩니다. 따라서 세 limit 모두 같은 상대 hysteresis 차이를 공유합니다.

EMC14xx 채널·한계
계열내부외부합계
EMC14x2112
EMC14x3123
EMC14x4134
EMC14x8178
LimittempX_mintempX_maxtempX_crit

모델별 센서 구성과 공통 limit입니다.

공통 hysteresis
Low·high·critical limit 설정단일 hysteresis 차이 저장각 limit에 같은 차이 적용Read-only 파생 hysteresis 계산

한 register의 차이가 모든 온도 limit에 적용됩니다.

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

The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
contain up to eight temperature sensors. EMC14x2 support two sensors
(one internal, one external). EMC14x3 support three sensors (one internal,
two external), EMC14x4 support four sensors (one internal, three external),
and EMC14x8 support eight sensors (one internal, seven external).

The chips implement three limits for each sensor: low (tempX_min), high
(tempX_max) and critical (tempX_crit.) The chips also implement an
hysteresis mechanism which applies to all limits. The relative difference
is stored in a single register on the chip, which means that the relative
difference between the limit and its hysteresis is always the same for
all three limits.

Hysteresis 설정 규칙

79-91

Limit를 변경하면 차이를 유지한 채 해당 hysteresis도 자동으로 따라갑니다. 예를 들어 critical limit가 80도 C, hysteresis가 75도 C인 상태에서 critical limit를 90도 C로 바꾸면 hysteresis는 자동으로 85도 C가 됩니다.

Hysteresis 값은 각각 독립적으로 설정할 수 없습니다. 드라이버는 `temp1_crit_hyst`만 쓰기 가능하게 하고 다른 모든 hysteresis attribute는 읽기 전용으로 둡니다. `temp1_crit_hyst`를 쓰면 `temp1_crit_hyst`와 `temp1_crit`의 차이가 chip에 기록되고, 같은 상대 hysteresis가 다른 모든 limit에 자동 적용됩니다.

설정 순서는 중요합니다. 먼저 limit를 설정한 뒤 hysteresis를 설정해야 합니다.

Hysteresis 예
항목이전변경 후
temp1_crit80 C90 C
temp1_crit_hyst75 C85 C 자동 추종
상대 차이5 C5 C 유지
쓰기 가능temp1_crit_hyst다른 hyst는 read-only

Limit 변경과 writable attribute의 효과입니다.

권장 설정 순서
모든 limit 먼저 설정Hysteresis 자동 추종 확인temp1_crit_hyst 쓰기공통 상대 차이 저장다른 hysteresis readback 확인

Limit 변경에 의한 자동 추종 뒤 공통 차이를 확정합니다.

This implementation detail implies the following:

* When setting a limit, its hysteresis will automatically follow, the
  difference staying unchanged. For example, if the old critical limit
  was 80 degrees C, and the hysteresis was 75 degrees C, and you change
  the critical limit to 90 degrees C, then the hysteresis will
  automatically change to 85 degrees C.
* The hysteresis values can't be set independently. We decided to make
  only temp1_crit_hyst writable, while all other hysteresis attributes
  are read-only. Setting temp1_crit_hyst writes the difference between
  temp1_crit_hyst and temp1_crit into the chip, and the same relative
  hysteresis applies automatically to all other limits.
* The limits should be set before the hysteresis.