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

Linux 6.18.37 · Hardware Monitoring

Kernel driver mp2975

MP2975의 두 레일·동적 위상 전류·VID 형식·네 PMBus 페이지를 설명합니다.

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

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

1. 요약·해설

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

요약·해설

mp2975.rst:1-128

두 전원 레일과 최대 8상 구성에서 페이지 수 n과 위상 수 k에 따라 전류·전압·전력 속성이 동적으로 만들어집니다.

문서 개요
항목
SourceDocumentation/hwmon/mp2975.rst
분량128 source lines
전원 레일최대 2
위상rail 1 최대 8, rail 2 최대 4

원문 분량과 핵심 장치 구성을 정리합니다.

운영 흐름
레일·위상 구성형식 선택동적 인덱스 계산원격 측정한계와 경보 공개

장치 등록부터 측정값과 경보 공개까지의 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 Kernel driver mp2975
4 ====================
5
6 Supported chips:
7
8 * MPS MP12254
9
10 Prefix: 'mp2975'
11
12 Author:
13
14 Vadim Pasternak <vadimp@nvidia.com>
15
16 Description
17 -----------
18
19 This driver implements support for Monolithic Power Systems, Inc. (MPS)
20 vendor dual-loop, digital, multi-phase controller MP2975.
21
22 This device:
23
24 - Supports up to two power rail.
25 - Provides 8 pulse-width modulations (PWMs), and can be configured up
26 to 8-phase operation for rail 1 and up to 4-phase operation for rail
27 2.
28 - Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for
29 configuration.
30 - Can configured VOUT readout in direct or VID format and allows
31 setting of different formats on rails 1 and 2. For VID the following
32 protocols are available: VR13 mode with 5-mV DAC; VR13 mode with
33 10-mV DAC, IMVP9 mode with 5-mV DAC.
34
35 Device supports:
36
37 - SVID interface.
38 - AVSBus interface.
39
40 Device complaint with:
41
42 - PMBus rev 1.3 interface.
43
44 Device supports direct format for reading output current, output voltage,
45 input and output power and temperature.
46 Device supports linear format for reading input voltage and input power.
47 Device supports VID and direct formats for reading output voltage.
48 The below VID modes are supported: VR12, VR13, IMVP9.
49
50 The driver provides the next attributes for the current:
51
52 - for current in: input, maximum alarm;
53 - for current out input, maximum alarm and highest values;
54 - for phase current: input and label.
55 attributes.
56
57 The driver exports the following attributes via the 'sysfs' files, where
58
59 - 'n' is number of telemetry pages (from 1 to 2);
60 - 'k' is number of configured phases (from 1 to 8);
61 - indexes 1, 1*n for "iin";
62 - indexes n+1, n+2 for "iout";
63 - indexes 2*n+1 ... 2*n + k for phases.
64
65 **curr[1-{2n}]_alarm**
66
67 **curr[{n+1}-{n+2}]_highest**
68
69 **curr[1-{2n+k}]_input**
70
71 **curr[1-{2n+k}]_label**
72
73 The driver provides the next attributes for the voltage:
74
75 - for voltage in: input, high critical threshold, high critical alarm, all only
76 from page 0;
77 - for voltage out: input, low and high critical thresholds, low and high
78 critical alarms, from pages 0 and 1;
79
80 The driver exports the following attributes via the 'sysfs' files, where
81
82 - 'n' is number of telemetry pages (from 1 to 2);
83 - indexes 1 for "iin";
84 - indexes n+1, n+2 for "vout";
85
86 **in[1-{2n+1}]_crit**
87
88 **in[1-{2n+1}]_crit_alarm**
89
90 **in[1-{2n+1}]_input**
91
92 **in[1-{2n+1}]_label**
93
94 **in[2-{n+1}]_lcrit**
95
96 **in[2-{n+1}1_lcrit_alarm**
97
98 The driver provides the next attributes for the power:
99
100 - for power in alarm and input.
101 - for power out: highest and input.
102
103 The driver exports the following attributes via the 'sysfs' files, where
104
105 - 'n' is number of telemetry pages (from 1 to 2);
106 - indexes 1 for "pin";
107 - indexes n+1, n+2 for "pout";
108
109 **power1_alarm**
110
111 **power[2-{n+1}]_highest**
112
113 **power[1-{2n+1}]_input**
114
115 **power[1-{2n+1}]_label**
116
117 The driver provides the next attributes for the temperature (only from page 0):
118
119
120 **temp1_crit**
121
122 **temp1_crit_alarm**
123
124 **temp1_input**
125
126 **temp1_max**
127
128 **temp1_max_alarm**
129

3. 한국어 전문 번역

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

MP2975 이중 루프 다중 위상 제어와 형식

1-49

이 GPL-2.0 문서는 Vadim Pasternak이 작성했습니다. 지원 칩 목록에는 `MPS MP12254`, 접두사는 `mp2975`라고 적혀 있지만 본문은 MPS의 MP2975 이중 루프 디지털 다중 위상 컨트롤러를 설명합니다. 이 칩명 차이는 원문 그대로 보존합니다.

장치는 최대 두 전원 레일을 지원합니다. PWM은 8개이며 레일 1은 최대 8상, 레일 2는 최대 4상으로 구성할 수 있습니다. 원격 측정에는 page 0과 1, 구성에는 page 2와 3을 사용합니다.

각 레일의 VOUT 읽기 형식은 direct 또는 VID로 독립 설정할 수 있습니다. VID 선택지는 VR13 5mV DAC, VR13 10mV DAC, IMVP9 5mV DAC이며, 뒤 문단에는 지원 VID 모드로 VR12·VR13·IMVP9가 열거됩니다.

장치는 SVID와 AVSBus 인터페이스를 지원하고 PMBus revision 1.3을 준수합니다. 원문의 `Device complaint with`라는 문구도 의미상 `compliant`를 가리키지만 원문 표기는 변경하지 않습니다. 출력 전류·출력 전압·입출력 전력·온도는 direct, 입력 전압·입력 전력은 linear, 출력 전압은 VID 또는 direct 형식으로 읽습니다.

MP2975 장치 구성
항목구성
지원 목록 표기MPS MP12254
본문 장치명MP2975
전원 레일최대 2
PWM·위상8 PWM, rail 1 최대 8상, rail 2 최대 4상
페이지0·1 원격 측정, 2·3 구성
VOUT 형식direct, VR12, VR13, IMVP9
인터페이스SVID, AVSBus, PMBus 1.3

두 레일의 위상과 페이지 및 데이터 형식을 구분합니다.

레일별 형식 설정
두 전원 레일 식별레일별 위상 수 설정원격 측정·구성 페이지 선택direct 또는 VID 형식 선택PMBus·SVID·AVSBus로 값 제공

각 레일의 위상과 VOUT 형식을 독립적으로 구성합니다.

.. SPDX-License-Identifier: GPL-2.0

Kernel driver mp2975
====================

Supported chips:

  * MPS MP12254

    Prefix: 'mp2975'

Author:

        Vadim Pasternak <vadimp@nvidia.com>

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

This driver implements support for Monolithic Power Systems, Inc. (MPS)
vendor dual-loop, digital, multi-phase controller MP2975.

This device:

- Supports up to two power rail.
- Provides 8 pulse-width modulations (PWMs), and can be configured up
  to 8-phase operation for rail 1 and up to 4-phase operation for rail
  2.
- Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for
  configuration.
- Can configured VOUT readout in direct or VID format and allows
  setting of different formats on rails 1 and 2. For VID the following
  protocols are available: VR13 mode with 5-mV DAC; VR13 mode with
  10-mV DAC, IMVP9 mode with 5-mV DAC.

Device supports:

- SVID interface.
- AVSBus interface.

Device complaint with:

- PMBus rev 1.3 interface.

Device supports direct format for reading output current, output voltage,
input and output power and temperature.
Device supports linear format for reading input voltage and input power.
Device supports VID and direct formats for reading output voltage.
The below VID modes are supported: VR12, VR13, IMVP9.

페이지와 위상 수에 따른 동적 전류 속성

50-72

전류 입력에는 현재값과 최대 경보가 제공됩니다. 출력 전류에는 현재값, 최대 경보, 최고 기록값이 제공되고, 각 위상 전류에는 현재값과 레이블이 제공됩니다.

`n`은 1~2의 원격 측정 페이지 수이고 `k`는 1~8의 구성된 위상 수입니다. 원문은 `iin` 인덱스를 1과 `1*n`, `iout`을 `n+1`과 `n+2`, 위상 전류를 `2*n+1`부터 `2*n+k`까지로 정의합니다.

이에 따라 경보는 `curr[1-{2n}]_alarm`, 출력 전류 최고값은 `curr[{n+1}-{n+2}]_highest`, 전체 현재값과 레이블은 각각 `curr[1-{2n+k}]_input`과 `_label` 범위로 만들어집니다.

MP2975 전류 인덱스
전류 종류인덱스속성
입력 전류 iin1, 1*ninput, alarm
출력 전류 ioutn+1, n+2input, alarm, highest
위상 전류2*n+1 ... 2*n+kinput, label

페이지 수 n과 위상 수 k에 따라 sysfs 번호가 확장됩니다.

동적 전류 채널 생성
원격 측정 페이지 수 n 확인구성된 위상 수 k 확인iin·iout 인덱스 배정위상 전류 인덱스 확장alarm·highest·input·label 공개

현재 장치 구성에서 n과 k를 읽어 채널 수를 결정합니다.

The driver provides the next attributes for the current:

- for current in: input, maximum alarm;
- for current out input, maximum alarm and highest values;
- for phase current: input and label.
  attributes.

The driver exports the following attributes via the 'sysfs' files, where

- 'n' is number of telemetry pages (from 1 to 2);
- 'k' is number of configured phases (from 1 to 8);
- indexes 1, 1*n for "iin";
- indexes n+1, n+2 for "iout";
- indexes 2*n+1 ... 2*n + k for phases.

**curr[1-{2n}]_alarm**

**curr[{n+1}-{n+2}]_highest**

**curr[1-{2n+k}]_input**

**curr[1-{2n+k}]_label**

입력 전압과 두 레일 출력 전압

73-97

입력 전압은 page 0에서만 현재값, 상한 임계값, 상한 임계 경보를 제공합니다. 출력 전압은 page 0과 1에서 현재값과 상·하 임계값 및 두 경보를 제공합니다.

전압 인덱스에서 `n`은 1~2의 원격 측정 페이지 수입니다. 원문은 `in1`을 입력 전압, `in[n+1]`과 `in[n+2]`를 출력 전압으로 설명하고, 공통 속성 범위를 `in[1-{2n+1}]`로 표기합니다.

하한 속성은 `in[2-{n+1}]_lcrit`로 제시됩니다. 다음 원문 토큰 `in[2-{n+1}1_lcrit_alarm`에는 닫는 대괄호 위치가 어긋난 표기 오류가 있으며, 이 번역은 그 사실을 알리면서 원문 문자열 자체를 그대로 보존합니다.

MP2975 전압 채널
대상인덱스속성
입력 전압1input, label, crit, crit_alarm
출력 전압n+1, n+2input, label, crit, crit_alarm, lcrit, lcrit_alarm
원문 공통 범위1 ... 2n+1crit, crit_alarm, input, label

입력 전압은 page 0 전용이고 출력 전압은 두 원격 측정 페이지에 대응합니다.

전압 페이지 해석
page 0 입력 전압 읽기page 0·1 출력 전압 읽기n 기반 인덱스 계산crit·lcrit 한계 비교경보와 레이블 공개

페이지와 레일을 sysfs 전압 번호로 변환합니다.

The driver provides the next attributes for the voltage:

- for voltage in: input, high critical threshold, high critical alarm, all only
  from page 0;
- for voltage out: input, low and high critical thresholds, low and high
  critical alarms, from pages 0 and 1;

The driver exports the following attributes via the 'sysfs' files, where

- 'n' is number of telemetry pages (from 1 to 2);
- indexes 1 for "iin";
- indexes n+1, n+2 for "vout";

**in[1-{2n+1}]_crit**

**in[1-{2n+1}]_crit_alarm**

**in[1-{2n+1}]_input**

**in[1-{2n+1}]_label**

**in[2-{n+1}]_lcrit**

**in[2-{n+1}1_lcrit_alarm**

입출력 전력과 page 0 온도

98-128

입력 전력에는 경보와 현재값이 제공됩니다. 출력 전력에는 최고 기록값과 현재값이 제공됩니다. `n`은 1~2의 원격 측정 페이지 수이며, `power1`은 입력 전력, `power[n+1]`과 `power[n+2]`는 두 출력 전력입니다.

구체적으로 `power1_alarm`, `power[2-{n+1}]_highest`, `power[1-{2n+1}]_input`, `power[1-{2n+1}]_label` 속성이 열거됩니다.

온도는 page 0에서만 `temp1`으로 제공됩니다. 현재값, 최대값과 최대 경보, 임계값과 임계 경보를 지원합니다.

MP2975 전력·온도 속성
대상인덱스속성
입력 전력power1alarm, input, label
출력 전력power[n+1], power[n+2]highest, input, label
온도temp1, page 0input, max, max_alarm, crit, crit_alarm

입력 전력, 두 출력 전력, page 0 온도의 속성을 구분합니다.

전력·온도 원격 측정
power1 입력 전력 읽기두 출력 전력 인덱스 계산alarm·highest 갱신page 0 temp1 읽기최대·임계 온도 경보 공개

전력 페이지와 page 0 온도를 함께 갱신합니다.

The driver provides the next attributes for the power:

- for power in alarm and input.
- for power out: highest and input.

The driver exports the following attributes via the 'sysfs' files, where

- 'n' is number of telemetry pages (from 1 to 2);
- indexes 1 for "pin";
- indexes n+1, n+2 for "pout";

**power1_alarm**

**power[2-{n+1}]_highest**

**power[1-{2n+1}]_input**

**power[1-{2n+1}]_label**

The driver provides the next attributes for the temperature (only from page 0):


**temp1_crit**

**temp1_crit_alarm**

**temp1_input**

**temp1_max**

**temp1_max_alarm**