요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Regulator DT binding for MAX77620 Power management IC from Maxim Semiconductor.
Device has multiple DCDC(sd[0-3] and LDOs(ldo[0-8]). The input supply
of these regulators are defined under parent device node.
Details of regulator properties are defined as child node under
sub-node "regulators" which is child node of device node.
Please refer file <Documentation/devicetree/bindings/regulator/regulator.txt>
for common regulator bindings used by client.
Following are properties of parent node related to regulators.
Optional properties:
-------------------
The input supply of regulators are the optional properties on the
parent device node. The input supply of these regulators are provided
through following properties:
in-sd0-supply: Input supply for SD0, INA-SD0 or INB-SD0 pins.
in-sd1-supply: Input supply for SD1.
in-sd2-supply: Input supply for SD2.
in-sd3-supply: Input supply for SD3.
in-ldo0-1-supply: Input supply for LDO0 and LDO1.
in-ldo2-supply: Input supply for LDO2.
in-ldo3-5-supply: Input supply for LDO3 and LDO5
in-ldo4-6-supply: Input supply for LDO4 and LDO6.
in-ldo7-8-supply: Input supply for LDO7 and LDO8.
Optional sub nodes for regulators under "regulators" subnode:
------------------------------------------------------------
The subnodes name is the name of regulator and it must be one of:
sd[0-3], ldo[0-8]
Each sub-node should contain the constraints and initialization
information for that regulator. The definition for each of these
nodes is defined using the standard binding for regulators found at
<Documentation/devicetree/bindings/regulator/regulator.txt>.
There are also additional properties for SD/LDOs. These additional properties
are required to configure FPS configuration parameters for SDs and LDOs.
Please refer <devicetree/bindings/mfd/max77620.txt> for more detail of Flexible
Power Sequence (FPS).
Following are additional properties:
- maxim,active-fps-source: FPS source for the regulators to get
enabled/disabled when system is in
active state. Valid values are:
- MAX77620_FPS_SRC_0,
FPS source is FPS0.
- MAX77620_FPS_SRC_1,
FPS source is FPS1
- MAX77620_FPS_SRC_2 and
FPS source is FPS2
- MAX77620_FPS_SRC_NONE.
Regulator is not controlled
by FPS events and it gets
enabled/disabled by register
access.
Absence of this property will leave
the FPS configuration register for that
regulator to default configuration.
- maxim,active-fps-power-up-slot: Sequencing event slot number on which
the regulator get enabled when
master FPS input event set to HIGH.
Valid values are 0 to 7.
This is applicable if FPS source is
selected as FPS0, FPS1 or FPS2.
- maxim,active-fps-power-down-slot: Sequencing event slot number on which
the regulator get disabled when master
FPS input event set to LOW.
Valid values are 0 to 7.
This is applicable if FPS source is
selected as FPS0, FPS1 or FPS2.
- maxim,suspend-fps-source: This is same as property
"maxim,active-fps-source" but value
get configured when system enters in
to suspend state.
- maxim,suspend-fps-power-up-slot: This is same as property
"maxim,active-fps-power-up-slot" but
this value get configured into FPS
configuration register when system
enters into suspend.
This is applicable if suspend state
FPS source is selected as FPS0, FPS1 or
- maxim,suspend-fps-power-down-slot: This is same as property
"maxim,active-fps-power-down-slot" but
this value get configured into FPS
configuration register when system
enters into suspend.
This is applicable if suspend state
FPS source is selected as FPS0, FPS1 or
FPS2.
- maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be
configured to the device.
The platform may have different ramp
rate than advertised ramp rate if it has
design variation from Maxim's
recommended. On this case, platform
specific ramp rate is used for ramp time
calculation and this property is used
for device register configurations.
The measured ramp rate of platform is
provided by the regulator-ramp-delay
as described in <devicetree/bindings/
regulator/regulator.txt>.
Maxim Max77620 supports following ramp
delay:
SD: 13.75mV/us, 27.5mV/us, 55mV/us
LDOs: 5mV/us, 100mV/us
Note: If the measured ramp delay is same as advertised ramp delay then it is not
required to provide the ramp delay with property "maxim,ramp-rate-setting". The
ramp rate can be provided by the regulator-ramp-delay which will be used for
ramp time calculation for voltage change as well as for device configuration.
Example:
--------
#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>;
};
};
};
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>;
};
};
};
요약과 해설
regulator-max77620.txt:1-222원문 전체, 줄 좌표별 한국어 전문과 설정 예제를 함께 대조할 수 있습니다.