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

Linux 6.18.37 · Devicetree Bindings

Maxim MAX8907 regulator

Maxim MAX8907 regulator의 regulator 구조, supply와 voltage constraint를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

max8907.txt:1-69

필수 property와 chip별 rail 구성을 실제 device-tree 예제와 함께 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 MAX8907 regulator
2
3 Required properties:
4 - compatible: "maxim,max8907"
5 - reg: I2C slave address
6 - interrupts: The interrupt output of the controller
7 - mbatt-supply: The input supply for MBATT, BBAT, SDBY, VRTC.
8 - in-v1-supply: The input supply for SD1.
9 - in-v2-supply: The input supply for SD2.
10 - in-v3-supply: The input supply for SD3.
11 - in1-supply: The input supply for LDO1.
12 ...
13 - in20-supply: The input supply for LDO20.
14 - regulators: A node that houses a sub-node for each regulator within the
15 device. Each sub-node is identified using the node's name (or the deprecated
16 regulator-compatible property if present), with valid values listed below.
17 The content of each sub-node is defined by the standard binding for
18 regulators; see regulator.txt.
19
20 Optional properties:
21 - maxim,system-power-controller: Boolean property indicating that the PMIC
22 controls the overall system power.
23
24 The valid names for regulators are:
25
26 sd1, sd2, sd3, ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7, ldo8, ldo9, ldo10,
27 ldo11, ldo12, ldo13, ldo14, ldo15, ldo16, ldo17, ldo18, ldo19, ldo20, out5v,
28 out33v, bbat, sdby, vrtc.
29
30 Example:
31
32 max8907@3c {
33 compatible = "maxim,max8907";
34 reg = <0x3c>;
35 interrupts = <0 86 0x4>;
36
37 maxim,system-power-controller;
38
39 mbatt-supply = <&some_reg>;
40 in-v1-supply = <&mbatt_reg>;
41 ...
42 in1-supply = <&mbatt_reg>;
43 ...
44
45 regulators {
46 mbatt_reg: mbatt {
47 regulator-name = "vbat_pmu";
48 regulator-min-microvolt = <5000000>;
49 regulator-max-microvolt = <5000000>;
50 regulator-always-on;
51 };
52
53 sd1 {
54 regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
55 regulator-min-microvolt = <1000000>;
56 regulator-max-microvolt = <1000000>;
57 regulator-always-on;
58 };
59
60 sd2 {
61 regulator-name = "nvvdd_sv2,vdd_core";
62 regulator-min-microvolt = <1200000>;
63 regulator-max-microvolt = <1200000>;
64 regulator-always-on;
65 };
66 ...
67 };
68 };
69 };
70

3. 한국어 전문 번역

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

MAX8907 필수 property

1-19

MAX8907의 필수 `compatible`은 `maxim,max8907`, `reg`는 I2C slave address, `interrupts`는 controller interrupt output입니다. `mbatt-supply`는 MBATT·BBAT·SDBY·VRTC 입력입니다. `in-v1-supply`, `in-v2-supply`, `in-v3-supply`는 각각 SD1, SD2, SD3 입력이고 `in1-supply`~`in20-supply`는 LDO1~LDO20 입력입니다.

`regulators` node의 subnode는 node 이름 또는 deprecated `regulator-compatible`로 식별하며 내용은 `regulator.txt`의 standard binding을 따릅니다.

System power controller

20-23

선택 boolean `maxim,system-power-controller`는 이 PMIC가 전체 system power를 제어함을 나타냅니다.

유효한 regulator 이름

24-29

유효한 이름은 `sd1`, `sd2`, `sd3`, `ldo1`~`ldo20`, `out5v`, `out33v`, `bbat`, `sdby`, `vrtc`입니다.

MAX8907 예제

30-69

I2C address 0x3c의 예제는 PMIC를 system power controller로 설정하고 supply를 연결합니다. `mbatt`는 5,000,000 microvolt, `sd1`은 1,000,000 microvolt, `sd2`는 1,200,000 microvolt의 always-on rail입니다.

                max8907@3c {
                        compatible = "maxim,max8907";
                        reg = <0x3c>;
                        interrupts = <0 86 0x4>;

                        maxim,system-power-controller;

                        mbatt-supply = <&some_reg>;
                        in-v1-supply = <&mbatt_reg>;
                        ...
                        in1-supply = <&mbatt_reg>;
                        ...

                        regulators {
                                mbatt_reg: mbatt {
                                        regulator-name = "vbat_pmu";
                                        regulator-min-microvolt = <5000000>;
                                        regulator-max-microvolt = <5000000>;
                                        regulator-always-on;
                                };

                                sd1 {
                                        regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                        regulator-always-on;
                                };

                                sd2 {
                                        regulator-name = "nvvdd_sv2,vdd_core";
                                        regulator-min-microvolt = <1200000>;
                                        regulator-max-microvolt = <1200000>;
                                        regulator-always-on;
                                };
...
                        };
                };
        };