← Documents Documentation/hwmon/lineage-pem.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver lineage-pem

비표준 PMBus Lineage CPL 전원 모듈의 전압·전류·전력·팬·온도 감시입니다.

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

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

1. 요약·해설

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

요약·해설

lineage-pem.rst:1-85

표준 PMBus 모니터링 명령을 쓰지 않는 Lineage 전원 모듈을 PCA9541 뒤에 명시적으로 등록하고 장치별 지원 측정값만 게시합니다.

문서 개요
항목
SourceDocumentation/hwmon/lineage-pem.rst
분량85 source lines
등록명시적 I2C 생성
선택기PCA9541

원문 분량과 핵심 인터페이스입니다.

동작 흐름
PCA9541 구성lineage-pem 장치 생성측정 능력 감지경보 감시

장치 연결부터 hwmon 사용까지의 핵심 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver lineage-pem
2 =========================
3
4 Supported devices:
5
6 * Lineage Compact Power Line Power Entry Modules
7
8 Prefix: 'lineage-pem'
9
10 Addresses scanned: -
11
12 Documentation:
13
14 http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
15
16 Author: Guenter Roeck <[email protected]>
17
18
19 Description
20 -----------
21
22 This driver supports various Lineage Compact Power Line DC/DC and AC/DC
23 converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.
24
25 Lineage CPL power entry modules are nominally PMBus compliant. However, most
26 standard PMBus commands are not supported. Specifically, all hardware monitoring
27 and status reporting commands are non-standard. For this reason, a standard
28 PMBus driver can not be used.
29
30
31 Usage Notes
32 -----------
33
34 This driver does not probe for Lineage CPL devices, since there is no register
35 which can be safely used to identify the chip. You will have to instantiate
36 the devices explicitly.
37
38 Example: the following will load the driver for a Lineage PEM at address 0x40
39 on I2C bus #1::
40
41 $ modprobe lineage-pem
42 $ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
43
44 All Lineage CPL power entry modules have a built-in I2C bus master selector
45 (PCA9541). To ensure device access, this driver should only be used as client
46 driver to the pca9541 I2C master selector driver.
47
48
49 Sysfs entries
50 -------------
51
52 All Lineage CPL devices report output voltage and device temperature as well as
53 alarms for output voltage, temperature, input voltage, input current, input power,
54 and fan status.
55
56 Input voltage, input current, input power, and fan speed measurement is only
57 supported on newer devices. The driver detects if those attributes are supported,
58 and only creates respective sysfs entries if they are.
59
60 ======================= ===============================
61 in1_input Output voltage (mV)
62 in1_min_alarm Output undervoltage alarm
63 in1_max_alarm Output overvoltage alarm
64 in1_crit Output voltage critical alarm
65
66 in2_input Input voltage (mV, optional)
67 in2_alarm Input voltage alarm
68
69 curr1_input Input current (mA, optional)
70 curr1_alarm Input overcurrent alarm
71
72 power1_input Input power (uW, optional)
73 power1_alarm Input power alarm
74
75 fan1_input Fan 1 speed (rpm, optional)
76 fan2_input Fan 2 speed (rpm, optional)
77 fan3_input Fan 3 speed (rpm, optional)
78
79 temp1_input
80 temp1_max
81 temp1_crit
82 temp1_alarm
83 temp1_crit_alarm
84 temp1_fault
85 ======================= ===============================
86

3. 한국어 전문 번역

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

지원 장치와 전용 드라이버가 필요한 이유

1-18

`lineage-pem` 드라이버는 Lineage Compact Power Line 전원 입력 모듈을 지원합니다. 주소 자동 검색은 하지 않으며, 자료는 `CPLI2C.pdf`, 작성자는 Guenter Roeck입니다.

지원 대상에는 CP1800, CP2000AC, CP2000DC, CP2100DC 같은 DC/DC 및 AC/DC 변환기와 그 밖의 CPL 계열 제품이 포함됩니다.

Lineage PEM 지원 범위
항목내용
장치 계열Lineage Compact Power Line Power Entry Modules
대표 모델CP1800, CP2000AC, CP2000DC, CP2100DC 등
접두사lineage-pem
주소 검색자동 검색 없음

문서에 명시된 장치 계열과 식별 정보를 정리합니다.

드라이버 선택
Lineage CPL 전원 모듈 확인표준 PMBus 명령 지원 범위 확인비표준 모니터링 명령 확인lineage-pem 전용 드라이버 선택

장치 특성에 맞는 전용 hwmon 경로입니다.

Kernel driver lineage-pem
=========================

Supported devices:

  * Lineage Compact Power Line Power Entry Modules

    Prefix: 'lineage-pem'

    Addresses scanned: -

    Documentation:

        http://www.lineagepower.com/oem/pdf/CPLI2C.pdf

Author: Guenter Roeck <[email protected]>

비표준 PMBus 동작과 명시적 등록

19-48

CPL 전원 입력 모듈은 명목상 PMBus 호환이지만, 표준 PMBus 명령 대부분을 지원하지 않습니다. 특히 하드웨어 모니터링과 상태 보고 명령이 비표준이므로 일반 PMBus 드라이버를 사용할 수 없습니다.

칩을 안전하게 식별할 수 있는 레지스터가 없어 드라이버가 장치를 탐색하지 않습니다. 사용자는 장치를 명시적으로 생성해야 하며, 예시는 I2C 버스 1의 주소 `0x40`에 대해 `modprobe lineage-pem`을 실행한 뒤 `echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device`를 쓰는 방식입니다.

모든 Lineage CPL 모듈에는 PCA9541 I2C 버스 마스터 선택기가 내장되어 있습니다. 안정적인 접근을 위해 이 드라이버는 `pca9541` I2C 마스터 선택기 드라이버의 클라이언트로만 사용해야 합니다.

명시적 장치 등록
단계내용
식별 제약안전하게 읽을 수 있는 ID 레지스터 없음
모듈 적재modprobe lineage-pem
장치 생성lineage-pem 0x40을 i2c-1/new_device에 기록
버스 선택기내장 PCA9541의 클라이언트로 사용

자동 검색 대신 필요한 구성과 이유입니다.

Lineage PEM 연결
PCA9541 I2C 마스터 선택기 구성lineage-pem 모듈 적재버스 번호와 주소 확인new_device로 장치 생성hwmon 속성 생성 확인

버스 선택기와 전용 클라이언트를 순서대로 구성합니다.

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

This driver supports various Lineage Compact Power Line DC/DC and AC/DC
converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.

Lineage CPL power entry modules are nominally PMBus compliant. However, most
standard PMBus commands are not supported. Specifically, all hardware monitoring
and status reporting commands are non-standard. For this reason, a standard
PMBus driver can not be used.


Usage Notes
-----------

This driver does not probe for Lineage CPL devices, since there is no register
which can be safely used to identify the chip. You will have to instantiate
the devices explicitly.

Example: the following will load the driver for a Lineage PEM at address 0x40
on I2C bus #1::

        $ modprobe lineage-pem
        $ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device

All Lineage CPL power entry modules have a built-in I2C bus master selector
(PCA9541). To ensure device access, this driver should only be used as client
driver to the pca9541 I2C master selector driver.

전압·전류·전력·팬·온도 속성

49-85

모든 장치는 출력 전압과 장치 온도를 보고하고, 출력 전압·온도·입력 전압·입력 전류·입력 전력·팬 상태에 대한 경보를 제공합니다. 입력 측 측정값과 팬 속도는 최신 장치에서만 지원되며, 드라이버가 지원 여부를 감지해 해당 sysfs 항목만 만듭니다.

`in1_input`은 출력 전압(mV), `in1_min_alarm`과 `in1_max_alarm`은 저전압·과전압 경보, `in1_crit`은 출력 전압 임계 경보입니다. 선택 항목인 `in2_input`, `curr1_input`, `power1_input`은 각각 입력 전압(mV), 입력 전류(mA), 입력 전력(uW)을 나타내며 대응 경보가 있습니다.

선택적인 `fan1_input`부터 `fan3_input`까지는 RPM 단위 팬 속도입니다. 온도 인터페이스는 `temp1_input`, `temp1_max`, `temp1_crit`, `temp1_alarm`, `temp1_crit_alarm`, `temp1_fault`를 제공합니다.

lineage-pem sysfs
속성군의미조건
in1_*출력 전압과 저전압·과전압·임계 경보항상
in2_*입력 전압과 경보최신 장치에서 선택적
curr1_* / power1_*입력 전류·전력과 경보최신 장치에서 선택적
fan1_input~fan3_input팬 속도 RPM최신 장치에서 선택적
temp1_*온도, 최대·임계값, 경보, 고장항상

항상 제공되는 출력·온도와 선택적인 입력·팬 항목을 구분합니다.

속성 게시
출력 전압과 온도 등록입력 측 측정 지원 감지전압·전류·전력 속성 선택 생성지원 팬 채널 선택 생성경보와 고장 상태 감시

장치 능력을 확인한 뒤 지원 항목만 노출합니다.

Sysfs entries
-------------

All Lineage CPL devices report output voltage and device temperature as well as
alarms for output voltage, temperature, input voltage, input current, input power,
and fan status.

Input voltage, input current, input power, and fan speed measurement is only
supported on newer devices. The driver detects if those attributes are supported,
and only creates respective sysfs entries if they are.

======================= ===============================
in1_input                Output voltage (mV)
in1_min_alarm                Output undervoltage alarm
in1_max_alarm                Output overvoltage alarm
in1_crit                Output voltage critical alarm

in2_input                Input voltage (mV, optional)
in2_alarm                Input voltage alarm

curr1_input                Input current (mA, optional)
curr1_alarm                Input overcurrent alarm

power1_input                Input power (uW, optional)
power1_alarm                Input power alarm

fan1_input                Fan 1 speed (rpm, optional)
fan2_input                Fan 2 speed (rpm, optional)
fan3_input                Fan 3 speed (rpm, optional)

temp1_input
temp1_max
temp1_crit
temp1_alarm
temp1_crit_alarm
temp1_fault
======================= ===============================