요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver pmbus
===================
Supported chips:
* Flex BMR310, BMR453, BMR454, BMR456, BMR457, BMR458, BMR480,
BMR490, BMR491, BMR492
Prefixes: 'bmr310', 'bmr453', 'bmr454', 'bmr456', 'bmr457', 'bmr458', 'bmr480',
'bmr490', 'bmr491', 'bmr492'
Addresses scanned: -
Datasheets:
https://flexpowermodules.com/products
* ON Semiconductor ADP4000, NCP4200, NCP4208
Prefixes: 'adp4000', 'ncp4200', 'ncp4208'
Addresses scanned: -
Datasheets:
https://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF
https://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF
https://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF
* Lineage Power
Prefixes: 'mdt040', 'pdt003', 'pdt006', 'pdt012', 'udt020'
Addresses scanned: -
Datasheets:
http://www.lineagepower.com/oem/pdf/PDT003A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT006A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT012A0X.pdf
http://www.lineagepower.com/oem/pdf/UDT020A0X.pdf
http://www.lineagepower.com/oem/pdf/MDT040A0X.pdf
* Texas Instruments TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25
Prefixes: 'tps40400', 'tps544b20', 'tps544b25', 'tps544c20', 'tps544c25'
Addresses scanned: -
Datasheets:
https://www.ti.com/lit/gpn/tps40400
https://www.ti.com/lit/gpn/tps544b20
https://www.ti.com/lit/gpn/tps544b25
https://www.ti.com/lit/gpn/tps544c20
https://www.ti.com/lit/gpn/tps544c25
* Maxim MAX20796
Prefix: 'max20796'
Addresses scanned: -
Datasheet:
Not published
* Generic PMBus devices
Prefix: 'pmbus'
Addresses scanned: -
Datasheet: n.a.
Author: Guenter Roeck <linux@roeck-us.net>
Description
-----------
This driver supports hardware monitoring for various PMBus compliant devices.
It supports voltage, current, power, and temperature sensors as supported
by the device.
Each monitored channel has its own high and low limits, plus a critical
limit.
Fan support will be added in a later version of this driver.
Usage Notes
-----------
This driver does not probe for PMBus devices, since there is no register
which can be safely used to identify the chip (The MFG_ID register is not
supported by all chips), and since there is no well defined address range for
PMBus devices. You will have to instantiate the devices explicitly.
Example: the following will load the driver for an LTC2978 at address 0x60
on I2C bus #1::
$ modprobe pmbus
$ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
Platform data support
---------------------
Support for additional PMBus chips can be added by defining chip parameters in
a new chip specific driver file. For example, (untested) code to add support for
Emerson DS1200 power modules might look as follows::
static struct pmbus_driver_info ds1200_info = {
.pages = 1,
/* Note: All other sensors are in linear mode */
.direct[PSC_VOLTAGE_OUT] = true,
.direct[PSC_TEMPERATURE] = true,
.direct[PSC_CURRENT_OUT] = true,
.m[PSC_VOLTAGE_IN] = 1,
.b[PSC_VOLTAGE_IN] = 0,
.R[PSC_VOLTAGE_IN] = 3,
.m[PSC_VOLTAGE_OUT] = 1,
.b[PSC_VOLTAGE_OUT] = 0,
.R[PSC_VOLTAGE_OUT] = 3,
.m[PSC_TEMPERATURE] = 1,
.b[PSC_TEMPERATURE] = 0,
.R[PSC_TEMPERATURE] = 3,
.func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_STATUS_INPUT
| PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT
| PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT
| PMBUS_HAVE_PIN | PMBUS_HAVE_POUT
| PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP
| PMBUS_HAVE_FAN12 | PMBUS_HAVE_STATUS_FAN12,
};
static int ds1200_probe(struct i2c_client *client)
{
return pmbus_do_probe(client, &ds1200_info);
}
static const struct i2c_device_id ds1200_id[] = {
{"ds1200"},
{}
};
MODULE_DEVICE_TABLE(i2c, ds1200_id);
/* This is the driver that will be inserted */
static struct i2c_driver ds1200_driver = {
.driver = {
.name = "ds1200",
},
.probe = ds1200_probe,
.id_table = ds1200_id,
};
static int __init ds1200_init(void)
{
return i2c_add_driver(&ds1200_driver);
}
static void __exit ds1200_exit(void)
{
i2c_del_driver(&ds1200_driver);
}
Sysfs entries
-------------
When probing the chip, the driver identifies which PMBus registers are
supported, and determines available sensors from this information.
Attribute files only exist if respective sensors are supported by the chip.
Labels are provided to inform the user about the sensor associated with
a given sysfs entry.
The following attributes are supported. Limits are read-write; all other
attributes are read-only.
======================= ========================================================
inX_input Measured voltage. From READ_VIN or READ_VOUT register.
inX_min Minimum Voltage.
From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
inX_max Maximum voltage.
From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.
inX_lcrit Critical minimum Voltage.
From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.
inX_crit Critical maximum voltage.
From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.
inX_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
inX_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
inX_lcrit_alarm Voltage critical low alarm.
From VOLTAGE_UV_FAULT status.
inX_crit_alarm Voltage critical high alarm.
From VOLTAGE_OV_FAULT status.
inX_label "vin", "vcap", or "voutY"
inX_rated_min Minimum rated voltage.
From MFR_VIN_MIN or MFR_VOUT_MIN register.
inX_rated_max Maximum rated voltage.
From MFR_VIN_MAX or MFR_VOUT_MAX register.
currX_input Measured current. From READ_IIN or READ_IOUT register.
currX_max Maximum current.
From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.
currX_lcrit Critical minimum output current.
From IOUT_UC_FAULT_LIMIT register.
currX_crit Critical maximum current.
From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
currX_alarm Current high alarm.
From IIN_OC_WARNING or IOUT_OC_WARNING status.
currX_max_alarm Current high alarm.
From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
currX_lcrit_alarm Output current critical low alarm.
From IOUT_UC_FAULT status.
currX_crit_alarm Current critical high alarm.
From IIN_OC_FAULT or IOUT_OC_FAULT status.
currX_label "iin", "iinY", "iinY.Z", "ioutY", or "ioutY.Z",
where Y reflects the page number and Z reflects the
phase.
currX_rated_max Maximum rated current.
From MFR_IIN_MAX or MFR_IOUT_MAX register.
powerX_input Measured power. From READ_PIN or READ_POUT register.
powerX_cap Output power cap. From POUT_MAX register.
powerX_max Power limit. From PIN_OP_WARN_LIMIT or
POUT_OP_WARN_LIMIT register.
powerX_crit Critical output power limit.
From POUT_OP_FAULT_LIMIT register.
powerX_alarm Power high alarm.
From PIN_OP_WARNING or POUT_OP_WARNING status.
powerX_crit_alarm Output power critical high alarm.
From POUT_OP_FAULT status.
powerX_label "pin", "pinY", "pinY.Z", "poutY", or "poutY.Z",
where Y reflects the page number and Z reflects the
phase.
powerX_rated_max Maximum rated power.
From MFR_PIN_MAX or MFR_POUT_MAX register.
tempX_input Measured temperature.
From READ_TEMPERATURE_X register.
tempX_min Minimum temperature. From UT_WARN_LIMIT register.
tempX_max Maximum temperature. From OT_WARN_LIMIT register.
tempX_lcrit Critical low temperature.
From UT_FAULT_LIMIT register.
tempX_crit Critical high temperature.
From OT_FAULT_LIMIT register.
tempX_min_alarm Chip temperature low alarm. Set by comparing
READ_TEMPERATURE_X with UT_WARN_LIMIT if
TEMP_UT_WARNING status is set.
tempX_max_alarm Chip temperature high alarm. Set by comparing
READ_TEMPERATURE_X with OT_WARN_LIMIT if
TEMP_OT_WARNING status is set.
tempX_lcrit_alarm Chip temperature critical low alarm. Set by comparing
READ_TEMPERATURE_X with UT_FAULT_LIMIT if
TEMP_UT_FAULT status is set.
tempX_crit_alarm Chip temperature critical high alarm. Set by comparing
READ_TEMPERATURE_X with OT_FAULT_LIMIT if
TEMP_OT_FAULT status is set.
tempX_rated_min Minimum rated temperature.
From MFR_TAMBIENT_MIN register.
tempX_rated_max Maximum rated temperature.
From MFR_TAMBIENT_MAX, MFR_MAX_TEMP_1, MFR_MAX_TEMP_2 or
MFR_MAX_TEMP_3 register.
======================= ========================================================
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
일반 PMBus 드라이버 지원 장치
1-90Guenter Roeck가 작성한 `pmbus` 드라이버는 여러 제조사의 PMBus 호환 전력 장치와 접두사 `pmbus`를 사용하는 일반 장치를 지원합니다. 모든 항목은 주소 자동 검색을 하지 않습니다.
Flex 계열은 BMR310, BMR453, BMR454, BMR456, BMR457, BMR458, BMR480, BMR490, BMR491, BMR492이며 각 모델명을 소문자로 쓴 접두사를 사용합니다.
ON Semiconductor 계열은 ADP4000, NCP4200, NCP4208이고 접두사는 `adp4000`, `ncp4200`, `ncp4208`입니다.
Lineage Power 계열은 접두사 `mdt040`, `pdt003`, `pdt006`, `pdt012`, `udt020`을 사용합니다.
Texas Instruments 계열은 TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25이고 각각 대응 접두사를 사용합니다. Maxim MAX20796은 `max20796`을 사용하지만 데이터시트는 공개되지 않았습니다.
일반 PMBus 장치는 접두사 `pmbus`를 사용합니다. 원문에는 각 제조사의 제품·데이터시트 링크가 보존되어 있습니다.
제조사별 모델과 접두사를 묶었습니다.
정확한 모델 접두사로 장치를 명시적으로 연결합니다.
Kernel driver pmbus
===================
Supported chips:
* Flex BMR310, BMR453, BMR454, BMR456, BMR457, BMR458, BMR480,
BMR490, BMR491, BMR492
Prefixes: 'bmr310', 'bmr453', 'bmr454', 'bmr456', 'bmr457', 'bmr458', 'bmr480',
'bmr490', 'bmr491', 'bmr492'
Addresses scanned: -
Datasheets:
https://flexpowermodules.com/products
* ON Semiconductor ADP4000, NCP4200, NCP4208
Prefixes: 'adp4000', 'ncp4200', 'ncp4208'
Addresses scanned: -
Datasheets:
https://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF
https://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF
https://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF
* Lineage Power
Prefixes: 'mdt040', 'pdt003', 'pdt006', 'pdt012', 'udt020'
Addresses scanned: -
Datasheets:
http://www.lineagepower.com/oem/pdf/PDT003A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT006A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT012A0X.pdf
http://www.lineagepower.com/oem/pdf/UDT020A0X.pdf
http://www.lineagepower.com/oem/pdf/MDT040A0X.pdf
* Texas Instruments TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25
Prefixes: 'tps40400', 'tps544b20', 'tps544b25', 'tps544c20', 'tps544c25'
Addresses scanned: -
Datasheets:
https://www.ti.com/lit/gpn/tps40400
https://www.ti.com/lit/gpn/tps544b20
https://www.ti.com/lit/gpn/tps544b25
https://www.ti.com/lit/gpn/tps544c20
https://www.ti.com/lit/gpn/tps544c25
* Maxim MAX20796
Prefix: 'max20796'
Addresses scanned: -
Datasheet:
Not published
* Generic PMBus devices
Prefix: 'pmbus'
Addresses scanned: -
Datasheet: n.a.
Author: Guenter Roeck <linux@roeck-us.net>
모니터링 범위와 명시적 장치 생성
91-118이 드라이버는 장치가 지원하는 전압, 전류, 전력, 온도 센서를 hwmon으로 제공합니다. 각 감시 채널에는 자체 상한·하한과 임계 한계가 있습니다. 원문 작성 시점에는 팬 지원을 이후 버전에 추가할 예정이라고 명시합니다.
안전하게 칩을 식별할 공통 레지스터가 없고 `MFG_ID`도 모든 칩이 지원하지 않으며 PMBus 주소 범위도 잘 정의되어 있지 않으므로 드라이버는 장치를 검색하지 않습니다.
따라서 장치를 명시적으로 생성해야 합니다. 예시는 I2C 버스 1의 주소 `0x60`에 LTC2978을 만들기 위해 `modprobe pmbus` 후 `/sys/bus/i2c/devices/i2c-1/new_device`에 `ltc2978 0x60`을 쓰는 절차입니다.
자동 검색이 불가능한 이유와 생성 예시입니다.
알려진 모델과 주소를 sysfs로 등록합니다.
Description
-----------
This driver supports hardware monitoring for various PMBus compliant devices.
It supports voltage, current, power, and temperature sensors as supported
by the device.
Each monitored channel has its own high and low limits, plus a critical
limit.
Fan support will be added in a later version of this driver.
Usage Notes
-----------
This driver does not probe for PMBus devices, since there is no register
which can be safely used to identify the chip (The MFG_ID register is not
supported by all chips), and since there is no well defined address range for
PMBus devices. You will have to instantiate the devices explicitly.
Example: the following will load the driver for an LTC2978 at address 0x60
on I2C bus #1::
$ modprobe pmbus
$ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
장치별 DS1200 확장 예제
119-180추가 PMBus 칩 지원은 새 장치별 드라이버 파일에 칩 매개변수를 정의해 구현할 수 있습니다. 원문은 시험되지 않은 Emerson DS1200 전력 모듈 예제를 제공합니다.
`struct pmbus_driver_info ds1200_info`는 페이지 수를 1로 설정합니다. 출력 전압, 온도, 출력 전류는 Direct 형식을 사용하고 입력·출력 전압과 온도에 변환 계수 `m=1`, `b=0`, `R=3`을 지정합니다. 주석에 따르면 나머지 센서는 Linear 형식입니다.
첫 페이지의 기능 비트는 VIN·IIN·입력 상태, VOUT·출력 전압 상태, IOUT·출력 전류 상태, PIN·POUT, 온도·온도 상태, FAN1/2·팬 상태를 선언합니다.
`ds1200_probe()`는 `pmbus_do_probe(client, &ds1200_info)`를 호출합니다. I2C ID 표에는 `ds1200`을 넣고 `MODULE_DEVICE_TABLE`로 공개합니다.
`struct i2c_driver ds1200_driver`는 이름, probe, ID 표를 연결합니다. 모듈 초기화 함수는 `i2c_add_driver()`, 종료 함수는 `i2c_del_driver()`를 호출합니다.
코드가 선언하는 데이터 형식과 기능을 구조화합니다.
장치 정보에서 I2C 모듈 등록까지의 골격입니다.
Platform data support
---------------------
Support for additional PMBus chips can be added by defining chip parameters in
a new chip specific driver file. For example, (untested) code to add support for
Emerson DS1200 power modules might look as follows::
static struct pmbus_driver_info ds1200_info = {
.pages = 1,
/* Note: All other sensors are in linear mode */
.direct[PSC_VOLTAGE_OUT] = true,
.direct[PSC_TEMPERATURE] = true,
.direct[PSC_CURRENT_OUT] = true,
.m[PSC_VOLTAGE_IN] = 1,
.b[PSC_VOLTAGE_IN] = 0,
.R[PSC_VOLTAGE_IN] = 3,
.m[PSC_VOLTAGE_OUT] = 1,
.b[PSC_VOLTAGE_OUT] = 0,
.R[PSC_VOLTAGE_OUT] = 3,
.m[PSC_TEMPERATURE] = 1,
.b[PSC_TEMPERATURE] = 0,
.R[PSC_TEMPERATURE] = 3,
.func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_STATUS_INPUT
| PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT
| PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT
| PMBUS_HAVE_PIN | PMBUS_HAVE_POUT
| PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP
| PMBUS_HAVE_FAN12 | PMBUS_HAVE_STATUS_FAN12,
};
static int ds1200_probe(struct i2c_client *client)
{
return pmbus_do_probe(client, &ds1200_info);
}
static const struct i2c_device_id ds1200_id[] = {
{"ds1200"},
{}
};
MODULE_DEVICE_TABLE(i2c, ds1200_id);
/* This is the driver that will be inserted */
static struct i2c_driver ds1200_driver = {
.driver = {
.name = "ds1200",
},
.probe = ds1200_probe,
.id_table = ds1200_id,
};
static int __init ds1200_init(void)
{
return i2c_add_driver(&ds1200_driver);
}
static void __exit ds1200_exit(void)
{
i2c_del_driver(&ds1200_driver);
}
전압 속성과 PMBus 레지스터 매핑
181-214probe 중 드라이버는 지원 PMBus 레지스터를 식별하고 그 정보로 사용 가능한 센서를 결정합니다. 해당 센서가 지원될 때만 속성 파일이 생기며 라벨은 sysfs 항목이 어떤 센서인지 알려줍니다.
limit 속성은 읽기·쓰기가 가능하고 나머지는 읽기 전용입니다.
`inX_input`은 `READ_VIN` 또는 `READ_VOUT`의 측정 전압입니다. `inX_min`과 `inX_max`는 저전압·과전압 경고 한계, `inX_lcrit`과 `inX_crit`은 저전압·과전압 fault 한계입니다.
`inX_min_alarm`, `max_alarm`, `lcrit_alarm`, `crit_alarm`은 각각 `VOLTAGE_UV_WARNING`, `VOLTAGE_OV_WARNING`, `VOLTAGE_UV_FAULT`, `VOLTAGE_OV_FAULT` 상태에 대응합니다.
`inX_label`은 `vin`, `vcap`, `voutY` 중 하나입니다. `inX_rated_min`과 `rated_max`는 제조사 `MFR_VIN_MIN/MAX` 또는 `MFR_VOUT_MIN/MAX` 레지스터의 정격 전압입니다.
hwmon 속성을 명령·상태 레지스터와 대응시킵니다.
지원 레지스터를 확인한 뒤 관련 속성만 만듭니다.
Sysfs entries
-------------
When probing the chip, the driver identifies which PMBus registers are
supported, and determines available sensors from this information.
Attribute files only exist if respective sensors are supported by the chip.
Labels are provided to inform the user about the sensor associated with
a given sysfs entry.
The following attributes are supported. Limits are read-write; all other
attributes are read-only.
======================= ========================================================
inX_input Measured voltage. From READ_VIN or READ_VOUT register.
inX_min Minimum Voltage.
From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
inX_max Maximum voltage.
From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.
inX_lcrit Critical minimum Voltage.
From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.
inX_crit Critical maximum voltage.
From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.
inX_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
inX_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
inX_lcrit_alarm Voltage critical low alarm.
From VOLTAGE_UV_FAULT status.
inX_crit_alarm Voltage critical high alarm.
From VOLTAGE_OV_FAULT status.
inX_label "vin", "vcap", or "voutY"
inX_rated_min Minimum rated voltage.
From MFR_VIN_MIN or MFR_VOUT_MIN register.
inX_rated_max Maximum rated voltage.
From MFR_VIN_MAX or MFR_VOUT_MAX register.
전류·전력 속성과 페이지·위상 라벨
215-251`currX_input`은 `READ_IIN` 또는 `READ_IOUT`의 측정 전류입니다. `currX_max`는 입력·출력 과전류 경고 한계, `currX_lcrit`은 출력 저전류 fault 한계, `currX_crit`은 입력·출력 과전류 fault 한계입니다.
전류 경보는 `IIN_OC_WARNING`, `IOUT_OC_WARNING`, `IIN/IOUT_OC_WARN_LIMIT` 상태, `IOUT_UC_FAULT`, `IIN_OC_FAULT`, `IOUT_OC_FAULT`에 대응합니다. `currX_rated_max`는 제조사 정격 최대 전류입니다.
전류 라벨은 `iin`, `iinY`, `iinY.Z`, `ioutY`, `ioutY.Z`이며 Y는 페이지, Z는 위상을 나타냅니다.
`powerX_input`은 `READ_PIN` 또는 `READ_POUT`의 측정 전력입니다. `powerX_cap`은 `POUT_MAX` 출력 전력 상한, `powerX_max`는 입력·출력 경고 한계, `powerX_crit`은 출력 임계 fault 한계입니다.
`powerX_alarm`과 `crit_alarm`은 입력·출력 전력 경고 및 출력 전력 fault 상태입니다. 라벨은 `pin`, `pinY`, `pinY.Z`, `poutY`, `poutY.Z` 형식이고 Y와 Z는 페이지·위상입니다. `rated_max`는 제조사 정격 최대 전력입니다.
측정·한계·경보와 라벨 규칙을 함께 정리합니다.
페이지와 위상별 채널을 고유 라벨로 만듭니다.
currX_input Measured current. From READ_IIN or READ_IOUT register.
currX_max Maximum current.
From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.
currX_lcrit Critical minimum output current.
From IOUT_UC_FAULT_LIMIT register.
currX_crit Critical maximum current.
From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
currX_alarm Current high alarm.
From IIN_OC_WARNING or IOUT_OC_WARNING status.
currX_max_alarm Current high alarm.
From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
currX_lcrit_alarm Output current critical low alarm.
From IOUT_UC_FAULT status.
currX_crit_alarm Current critical high alarm.
From IIN_OC_FAULT or IOUT_OC_FAULT status.
currX_label "iin", "iinY", "iinY.Z", "ioutY", or "ioutY.Z",
where Y reflects the page number and Z reflects the
phase.
currX_rated_max Maximum rated current.
From MFR_IIN_MAX or MFR_IOUT_MAX register.
powerX_input Measured power. From READ_PIN or READ_POUT register.
powerX_cap Output power cap. From POUT_MAX register.
powerX_max Power limit. From PIN_OP_WARN_LIMIT or
POUT_OP_WARN_LIMIT register.
powerX_crit Critical output power limit.
From POUT_OP_FAULT_LIMIT register.
powerX_alarm Power high alarm.
From PIN_OP_WARNING or POUT_OP_WARNING status.
powerX_crit_alarm Output power critical high alarm.
From POUT_OP_FAULT status.
powerX_label "pin", "pinY", "pinY.Z", "poutY", or "poutY.Z",
where Y reflects the page number and Z reflects the
phase.
powerX_rated_max Maximum rated power.
From MFR_PIN_MAX or MFR_POUT_MAX register.
온도 한계·경보·정격 속성
252-277`tempX_input`은 `READ_TEMPERATURE_X`의 측정 온도입니다. `tempX_min`은 저온 경고 한계 `UT_WARN_LIMIT`, `tempX_max`는 고온 경고 한계 `OT_WARN_LIMIT`입니다.
`tempX_lcrit`은 저온 fault 한계 `UT_FAULT_LIMIT`, `tempX_crit`은 고온 fault 한계 `OT_FAULT_LIMIT`입니다.
저온·고온 경고 경보는 대응 status가 설정됐을 때 현재 온도를 WARN 한계와 비교해 정합니다. 임계 저온·고온 경보는 현재 온도를 FAULT 한계와 비교해 정합니다.
`tempX_rated_min`은 `MFR_TAMBIENT_MIN`의 정격 최소 온도입니다. `tempX_rated_max`는 `MFR_TAMBIENT_MAX` 또는 `MFR_MAX_TEMP_1/2/3`의 정격 최대 온도입니다.
현재값·경고·fault·정격 온도의 원천입니다.
상태 비트가 있을 때 측정값과 한계를 교차 확인합니다.
tempX_input Measured temperature.
From READ_TEMPERATURE_X register.
tempX_min Minimum temperature. From UT_WARN_LIMIT register.
tempX_max Maximum temperature. From OT_WARN_LIMIT register.
tempX_lcrit Critical low temperature.
From UT_FAULT_LIMIT register.
tempX_crit Critical high temperature.
From OT_FAULT_LIMIT register.
tempX_min_alarm Chip temperature low alarm. Set by comparing
READ_TEMPERATURE_X with UT_WARN_LIMIT if
TEMP_UT_WARNING status is set.
tempX_max_alarm Chip temperature high alarm. Set by comparing
READ_TEMPERATURE_X with OT_WARN_LIMIT if
TEMP_OT_WARNING status is set.
tempX_lcrit_alarm Chip temperature critical low alarm. Set by comparing
READ_TEMPERATURE_X with UT_FAULT_LIMIT if
TEMP_UT_FAULT status is set.
tempX_crit_alarm Chip temperature critical high alarm. Set by comparing
READ_TEMPERATURE_X with OT_FAULT_LIMIT if
TEMP_OT_FAULT status is set.
tempX_rated_min Minimum rated temperature.
From MFR_TAMBIENT_MIN register.
tempX_rated_max Maximum rated temperature.
From MFR_TAMBIENT_MAX, MFR_MAX_TEMP_1, MFR_MAX_TEMP_2 or
MFR_MAX_TEMP_3 register.
======================= ========================================================
요약·해설
pmbus.rst:1-277여러 제조사 전력 장치를 명시적으로 생성하고 지원 레지스터를 감지해 페이지·위상별 센서와 한계·경보를 공개합니다.
원문 분량과 핵심 장치 구성을 정리합니다.
장치 인식부터 측정·제어까지의 핵심 순서입니다.