← Documents Documentation/devicetree/bindings/regulator/regulator-max77620.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Maxim MAX77620 regulator

MAX77620 SD·LDO input supply, FPS sequencing, ramp rate와 전체 rail 예제를 설명합니다.

Source pathDocumentation/devicetree/bindings/regulator/regulator-max77620.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

regulator-max77620.txt:1-222

원문 전체, 줄 좌표별 한국어 전문과 설정 예제를 함께 대조할 수 있습니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Regulator DT binding for MAX77620 Power management IC from Maxim Semiconductor.
2
3 Device has multiple DCDC(sd[0-3] and LDOs(ldo[0-8]). The input supply
4 of these regulators are defined under parent device node.
5 Details of regulator properties are defined as child node under
6 sub-node "regulators" which is child node of device node.
7
8 Please refer file <Documentation/devicetree/bindings/regulator/regulator.txt>
9 for common regulator bindings used by client.
10
11 Following are properties of parent node related to regulators.
12
13 Optional properties:
14 -------------------
15 The input supply of regulators are the optional properties on the
16 parent device node. The input supply of these regulators are provided
17 through following properties:
18 in-sd0-supply: Input supply for SD0, INA-SD0 or INB-SD0 pins.
19 in-sd1-supply: Input supply for SD1.
20 in-sd2-supply: Input supply for SD2.
21 in-sd3-supply: Input supply for SD3.
22 in-ldo0-1-supply: Input supply for LDO0 and LDO1.
23 in-ldo2-supply: Input supply for LDO2.
24 in-ldo3-5-supply: Input supply for LDO3 and LDO5
25 in-ldo4-6-supply: Input supply for LDO4 and LDO6.
26 in-ldo7-8-supply: Input supply for LDO7 and LDO8.
27
28 Optional sub nodes for regulators under "regulators" subnode:
29 ------------------------------------------------------------
30 The subnodes name is the name of regulator and it must be one of:
31 sd[0-3], ldo[0-8]
32
33 Each sub-node should contain the constraints and initialization
34 information for that regulator. The definition for each of these
35 nodes is defined using the standard binding for regulators found at
36 <Documentation/devicetree/bindings/regulator/regulator.txt>.
37
38 There are also additional properties for SD/LDOs. These additional properties
39 are required to configure FPS configuration parameters for SDs and LDOs.
40 Please refer <devicetree/bindings/mfd/max77620.txt> for more detail of Flexible
41 Power Sequence (FPS).
42 Following are additional properties:
43
44 - maxim,active-fps-source: FPS source for the regulators to get
45 enabled/disabled when system is in
46 active state. Valid values are:
47 - MAX77620_FPS_SRC_0,
48 FPS source is FPS0.
49 - MAX77620_FPS_SRC_1,
50 FPS source is FPS1
51 - MAX77620_FPS_SRC_2 and
52 FPS source is FPS2
53 - MAX77620_FPS_SRC_NONE.
54 Regulator is not controlled
55 by FPS events and it gets
56 enabled/disabled by register
57 access.
58 Absence of this property will leave
59 the FPS configuration register for that
60 regulator to default configuration.
61
62 - maxim,active-fps-power-up-slot: Sequencing event slot number on which
63 the regulator get enabled when
64 master FPS input event set to HIGH.
65 Valid values are 0 to 7.
66 This is applicable if FPS source is
67 selected as FPS0, FPS1 or FPS2.
68
69 - maxim,active-fps-power-down-slot: Sequencing event slot number on which
70 the regulator get disabled when master
71 FPS input event set to LOW.
72 Valid values are 0 to 7.
73 This is applicable if FPS source is
74 selected as FPS0, FPS1 or FPS2.
75
76 - maxim,suspend-fps-source: This is same as property
77 "maxim,active-fps-source" but value
78 get configured when system enters in
79 to suspend state.
80
81 - maxim,suspend-fps-power-up-slot: This is same as property
82 "maxim,active-fps-power-up-slot" but
83 this value get configured into FPS
84 configuration register when system
85 enters into suspend.
86 This is applicable if suspend state
87 FPS source is selected as FPS0, FPS1 or
88
89 - maxim,suspend-fps-power-down-slot: This is same as property
90 "maxim,active-fps-power-down-slot" but
91 this value get configured into FPS
92 configuration register when system
93 enters into suspend.
94 This is applicable if suspend state
95 FPS source is selected as FPS0, FPS1 or
96 FPS2.
97 - maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be
98 configured to the device.
99 The platform may have different ramp
100 rate than advertised ramp rate if it has
101 design variation from Maxim's
102 recommended. On this case, platform
103 specific ramp rate is used for ramp time
104 calculation and this property is used
105 for device register configurations.
106 The measured ramp rate of platform is
107 provided by the regulator-ramp-delay
108 as described in <devicetree/bindings/
109 regulator/regulator.txt>.
110 Maxim Max77620 supports following ramp
111 delay:
112 SD: 13.75mV/us, 27.5mV/us, 55mV/us
113 LDOs: 5mV/us, 100mV/us
114
115 Note: If the measured ramp delay is same as advertised ramp delay then it is not
116 required to provide the ramp delay with property "maxim,ramp-rate-setting". The
117 ramp rate can be provided by the regulator-ramp-delay which will be used for
118 ramp time calculation for voltage change as well as for device configuration.
119
120 Example:
121 --------
122 #include <dt-bindings/mfd/max77620.h>
123 ...
124 max77620@3c {
125 in-ldo0-1-supply = <&max77620_sd2>;
126 in-ldo7-8-supply = <&max77620_sd2>;
127 regulators {
128 sd0 {
129 regulator-name = "vdd-core";
130 regulator-min-microvolt = <600000>;
131 regulator-max-microvolt = <1400000>;
132 regulator-boot-on;
133 regulator-always-on;
134 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
135 };
136
137 sd1 {
138 regulator-name = "vddio-ddr";
139 regulator-min-microvolt = <1200000>;
140 regulator-max-microvolt = <1200000>;
141 regulator-always-on;
142 regulator-boot-on;
143 maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
144 };
145
146 sd2 {
147 regulator-name = "vdd-pre-reg";
148 regulator-min-microvolt = <1350000>;
149 regulator-max-microvolt = <1350000>;
150 };
151
152 sd3 {
153 regulator-name = "vdd-1v8";
154 regulator-min-microvolt = <1800000>;
155 regulator-max-microvolt = <1800000>;
156 regulator-always-on;
157 regulator-boot-on;
158 };
159
160 ldo0 {
161 regulator-name = "avdd-sys";
162 regulator-min-microvolt = <1200000>;
163 regulator-max-microvolt = <1200000>;
164 regulator-always-on;
165 regulator-boot-on;
166 };
167
168 ldo1 {
169 regulator-name = "vdd-pex";
170 regulator-min-microvolt = <1050000>;
171 regulator-max-microvolt = <1050000>;
172 };
173
174 ldo2 {
175 regulator-name = "vddio-sdmmc3";
176 regulator-min-microvolt = <1800000>;
177 regulator-max-microvolt = <3300000>;
178 };
179
180 ldo3 {
181 regulator-name = "vdd-cam-hv";
182 regulator-min-microvolt = <2800000>;
183 regulator-max-microvolt = <2800000>;
184 };
185
186 ldo4 {
187 regulator-name = "vdd-rtc";
188 regulator-min-microvolt = <1250000>;
189 regulator-max-microvolt = <1250000>;
190 regulator-always-on;
191 regulator-boot-on;
192 };
193
194 ldo5 {
195 regulator-name = "avdd-ts-hv";
196 regulator-min-microvolt = <3000000>;
197 regulator-max-microvolt = <3000000>;
198 };
199
200 ldo6 {
201 regulator-name = "vdd-ts";
202 regulator-min-microvolt = <1800000>;
203 regulator-max-microvolt = <1800000>;
204 regulator-always-on;
205 regulator-boot-on;
206 };
207
208 ldo7 {
209 regulator-name = "vdd-gen-pll-edp";
210 regulator-min-microvolt = <1050000>;
211 regulator-max-microvolt = <1050000>;
212 regulator-always-on;
213 regulator-boot-on;
214 };
215
216 ldo8 {
217 regulator-name = "vdd-hdmi-dp";
218 regulator-min-microvolt = <1050000>;
219 regulator-max-microvolt = <1050000>;
220 };
221 };
222 };
223

3. 한국어 전문 번역

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

MAX77620 regulator 구조

1-10

이 문서는 Maxim Semiconductor MAX77620 power management IC의 regulator DT binding을 설명합니다. Device에는 여러 DCDC `sd[0-3]`와 LDO `ldo[0-8]`가 있으며, 이 regulator들의 input supply는 parent device node에서 정의합니다.

각 regulator의 property는 device node의 child인 `regulators` subnode 아래 child node로 정의합니다. Client가 사용하는 공통 regulator binding은 `Documentation/devicetree/bindings/regulator/regulator.txt`를 참조하십시오.

Parent node의 선택 input supply

11-27

다음 property는 parent node에서 선택적으로 지정하는 regulator input supply입니다.

  • `in-sd0-supply`: SD0의 INA-SD0 또는 INB-SD0 pin에 공급되는 input입니다.
  • `in-sd1-supply`: SD1 input supply입니다.
  • `in-sd2-supply`: SD2 input supply입니다.
  • `in-sd3-supply`: SD3 input supply입니다.
  • `in-ldo0-1-supply`: LDO0과 LDO1 input supply입니다.
  • `in-ldo2-supply`: LDO2 input supply입니다.
  • `in-ldo3-5-supply`: LDO3과 LDO5 input supply입니다.
  • `in-ldo4-6-supply`: LDO4와 LDO6 input supply입니다.
  • `in-ldo7-8-supply`: LDO7과 LDO8 input supply입니다.

Regulator subnode와 FPS 확장

28-42

`regulators` 아래의 선택 subnode 이름은 regulator 이름이며 `sd[0-3]` 또는 `ldo[0-8]` 가운데 하나여야 합니다. 각 subnode에는 해당 regulator의 constraint와 초기화 정보를 넣고, 정의는 `Documentation/devicetree/bindings/regulator/regulator.txt`의 표준 binding을 따릅니다.

SD와 LDO에는 Flexible Power Sequence(FPS) parameter를 구성하기 위한 추가 property가 있습니다. FPS 세부 사항은 `devicetree/bindings/mfd/max77620.txt`를 참조하십시오.

Active 상태 FPS source

43-61

`maxim,active-fps-source`는 system이 active 상태일 때 regulator를 enable 또는 disable하는 FPS source를 지정합니다.

  • `MAX77620_FPS_SRC_0`: FPS source는 FPS0입니다.
  • `MAX77620_FPS_SRC_1`: FPS source는 FPS1입니다.
  • `MAX77620_FPS_SRC_2`: FPS source는 FPS2입니다.
  • `MAX77620_FPS_SRC_NONE`: regulator는 FPS event로 제어하지 않고 register access로 enable 또는 disable합니다.

이 property가 없으면 해당 regulator의 FPS configuration register는 default configuration으로 남습니다.

Active 상태 power slot

62-75

`maxim,active-fps-power-up-slot`은 master FPS input event가 HIGH가 될 때 regulator를 enable할 sequencing event slot 번호입니다. 유효 범위는 0~7이며 FPS source가 FPS0, FPS1, FPS2 중 하나일 때 적용됩니다.

`maxim,active-fps-power-down-slot`은 master FPS input event가 LOW가 될 때 regulator를 disable할 sequencing event slot 번호입니다. 유효 범위는 0~7이며 FPS source가 FPS0, FPS1, FPS2 중 하나일 때 적용됩니다.

Suspend 상태 FPS property

76-96

`maxim,suspend-fps-source`는 `maxim,active-fps-source`와 같지만 system이 suspend 상태로 들어갈 때 값을 구성합니다.

`maxim,suspend-fps-power-up-slot`은 `maxim,active-fps-power-up-slot`과 같지만 system이 suspend로 들어갈 때 FPS configuration register에 값을 기록합니다. Suspend FPS source가 FPS0 또는 FPS1일 때 적용된다고 설명하지만, 원문 문장은 `FPS0, FPS1 or`에서 끝나 세 번째 source가 누락되어 있습니다.

`maxim,suspend-fps-power-down-slot`은 `maxim,active-fps-power-down-slot`과 같지만 suspend 진입 시 FPS configuration register에 값을 기록합니다. Suspend FPS source가 FPS0, FPS1 또는 FPS2일 때 적용됩니다.

Ramp rate 설정과 측정값

97-119

`maxim,ramp-rate-setting`은 device에 구성할 ramp rate(uV/us) 정수입니다. Platform 설계가 Maxim 권장 설계와 달라 advertised ramp rate와 실제 ramp rate가 다를 수 있습니다. 이 경우 platform별 ramp rate는 ramp time 계산에 쓰고, 이 property는 device register 구성에 사용합니다.

Platform에서 측정한 ramp rate는 `devicetree/bindings/regulator/regulator.txt`에 설명된 `regulator-ramp-delay`로 제공합니다. MAX77620이 지원하는 ramp delay는 SD에서 13.75mV/us, 27.5mV/us, 55mV/us이고 LDO에서 5mV/us, 100mV/us입니다.

측정 ramp delay가 advertised ramp delay와 같다면 `maxim,ramp-rate-setting`으로 ramp delay를 따로 제공할 필요가 없습니다. `regulator-ramp-delay`로 값을 제공하면 전압 변경의 ramp time 계산과 device 구성에 모두 사용됩니다.

MAX77620 SD·LDO 예제

120-222

예제는 `in-ldo0-1-supply`와 `in-ldo7-8-supply`를 `max77620_sd2`에서 공급하고, `sd0`부터 `sd3` 및 `ldo0`부터 `ldo8`까지 모든 regulator를 선언합니다. `sd0`은 FPS1, `sd1`은 FPS0 source를 사용합니다.

각 rail의 전압 범위와 boot-on·always-on 상태는 아래 원문 예제에 그대로 보존했습니다. `ldo2`만 1,800,000~3,300,000 microvolt의 가변 범위이고 나머지 LDO는 예제에 지정된 고정 전압을 사용합니다.

#include <dt-bindings/mfd/max77620.h>
...
max77620@3c {
        in-ldo0-1-supply = <&max77620_sd2>;
        in-ldo7-8-supply = <&max77620_sd2>;
        regulators {
                sd0 {
                        regulator-name = "vdd-core";
                        regulator-min-microvolt = <600000>;
                        regulator-max-microvolt = <1400000>;
                        regulator-boot-on;
                        regulator-always-on;
                        maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
                };

                sd1 {
                        regulator-name = "vddio-ddr";
                        regulator-min-microvolt = <1200000>;
                        regulator-max-microvolt = <1200000>;
                        regulator-always-on;
                        regulator-boot-on;
                        maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
                };

                sd2 {
                        regulator-name = "vdd-pre-reg";
                        regulator-min-microvolt = <1350000>;
                        regulator-max-microvolt = <1350000>;
                };

                sd3 {
                        regulator-name = "vdd-1v8";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo0 {
                        regulator-name = "avdd-sys";
                        regulator-min-microvolt = <1200000>;
                        regulator-max-microvolt = <1200000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo1 {
                        regulator-name = "vdd-pex";
                        regulator-min-microvolt = <1050000>;
                        regulator-max-microvolt = <1050000>;
                };

                ldo2 {
                        regulator-name = "vddio-sdmmc3";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo3 {
                        regulator-name = "vdd-cam-hv";
                        regulator-min-microvolt = <2800000>;
                        regulator-max-microvolt = <2800000>;
                };

                ldo4 {
                        regulator-name = "vdd-rtc";
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <1250000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo5 {
                        regulator-name = "avdd-ts-hv";
                        regulator-min-microvolt = <3000000>;
                        regulator-max-microvolt = <3000000>;
                };

                ldo6 {
                        regulator-name = "vdd-ts";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo7 {
                        regulator-name = "vdd-gen-pll-edp";
                        regulator-min-microvolt = <1050000>;
                        regulator-max-microvolt = <1050000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo8 {
                        regulator-name = "vdd-hdmi-dp";
                        regulator-min-microvolt = <1050000>;
                        regulator-max-microvolt = <1050000>;
                };
        };
};