요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
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]>
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.
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
======================= ===============================
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
지원 장치와 전용 드라이버가 필요한 이유
1-18`lineage-pem` 드라이버는 Lineage Compact Power Line 전원 입력 모듈을 지원합니다. 주소 자동 검색은 하지 않으며, 자료는 `CPLI2C.pdf`, 작성자는 Guenter Roeck입니다.
지원 대상에는 CP1800, CP2000AC, CP2000DC, CP2100DC 같은 DC/DC 및 AC/DC 변환기와 그 밖의 CPL 계열 제품이 포함됩니다.
문서에 명시된 장치 계열과 식별 정보를 정리합니다.
장치 특성에 맞는 전용 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-48CPL 전원 입력 모듈은 명목상 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 마스터 선택기 드라이버의 클라이언트로만 사용해야 합니다.
자동 검색 대신 필요한 구성과 이유입니다.
버스 선택기와 전용 클라이언트를 순서대로 구성합니다.
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`를 제공합니다.
항상 제공되는 출력·온도와 선택적인 입력·팬 항목을 구분합니다.
장치 능력을 확인한 뒤 지원 항목만 노출합니다.
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
======================= ===============================
요약·해설
lineage-pem.rst:1-85표준 PMBus 모니터링 명령을 쓰지 않는 Lineage 전원 모듈을 PCA9541 뒤에 명시적으로 등록하고 장치별 지원 측정값만 게시합니다.
원문 분량과 핵심 인터페이스입니다.
장치 연결부터 hwmon 사용까지의 핵심 순서입니다.