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

Linux 6.18.37 · Devicetree Bindings

TI TPS6586x regulator family

TPS6586x GPIO controller, supply 관계와 SYS·SM·LDO rail을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

tps6586x.txt:1-135

필수 property와 원문 특이점을 요약하고 영어 원문 전체 및 줄 좌표별 한국어 전문을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 TPS6586x family of regulators
2
3 Required properties:
4 - compatible: "ti,tps6586x"
5 - reg: I2C slave address
6 - interrupts: the interrupt outputs of the controller
7 - #gpio-cells: number of cells to describe a GPIO
8 - gpio-controller: mark the device as a GPIO controller
9 - regulators: A node that houses a sub-node for each regulator within the
10 device. Each sub-node is identified using the node's name (or the deprecated
11 regulator-compatible property if present), with valid values listed below.
12 The content of each sub-node is defined by the standard binding for
13 regulators; see regulator.txt.
14 sys, sm[0-2], ldo[0-9] and ldo_rtc
15 - sys-supply: The input supply for SYS.
16 - vin-sm0-supply: The input supply for the SM0.
17 - vin-sm1-supply: The input supply for the SM1.
18 - vin-sm2-supply: The input supply for the SM2.
19 - vinldo01-supply: The input supply for the LDO1 and LDO2
20 - vinldo23-supply: The input supply for the LDO2 and LDO3
21 - vinldo4-supply: The input supply for the LDO4
22 - vinldo678-supply: The input supply for the LDO6, LDO7 and LDO8
23 - vinldo9-supply: The input supply for the LDO9
24
25 Optional properties:
26 - ti,system-power-controller: Telling whether or not this pmic is controlling
27 the system power.
28
29 Each regulator is defined using the standard binding for regulators.
30
31 Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver
32 take care of making proper parent child relationship.
33
34 Example:
35
36 pmu: tps6586x@34 {
37 compatible = "ti,tps6586x";
38 reg = <0x34>;
39 interrupts = <0 88 0x4>;
40
41 #gpio-cells = <2>;
42 gpio-controller;
43
44 ti,system-power-controller;
45
46 sys-supply = <&some_reg>;
47 vin-sm0-supply = <&some_reg>;
48 vin-sm1-supply = <&some_reg>;
49 vin-sm2-supply = <&some_reg>;
50 vinldo01-supply = <...>;
51 vinldo23-supply = <...>;
52 vinldo4-supply = <...>;
53 vinldo678-supply = <...>;
54 vinldo9-supply = <...>;
55
56 regulators {
57 sys_reg: sys {
58 regulator-name = "vdd_sys";
59 regulator-boot-on;
60 regulator-always-on;
61 };
62
63 sm0_reg: sm0 {
64 regulator-min-microvolt = < 725000>;
65 regulator-max-microvolt = <1500000>;
66 regulator-boot-on;
67 regulator-always-on;
68 };
69
70 sm1_reg: sm1 {
71 regulator-min-microvolt = < 725000>;
72 regulator-max-microvolt = <1500000>;
73 regulator-boot-on;
74 regulator-always-on;
75 };
76
77 sm2_reg: sm2 {
78 regulator-min-microvolt = <3000000>;
79 regulator-max-microvolt = <4550000>;
80 regulator-boot-on;
81 regulator-always-on;
82 };
83
84 ldo0_reg: ldo0 {
85 regulator-name = "PCIE CLK";
86 regulator-min-microvolt = <3300000>;
87 regulator-max-microvolt = <3300000>;
88 };
89
90 ldo1_reg: ldo1 {
91 regulator-min-microvolt = < 725000>;
92 regulator-max-microvolt = <1500000>;
93 };
94
95 ldo2_reg: ldo2 {
96 regulator-min-microvolt = < 725000>;
97 regulator-max-microvolt = <1500000>;
98 };
99
100 ldo3_reg: ldo3 {
101 regulator-min-microvolt = <1250000>;
102 regulator-max-microvolt = <3300000>;
103 };
104
105 ldo4_reg: ldo4 {
106 regulator-min-microvolt = <1700000>;
107 regulator-max-microvolt = <2475000>;
108 };
109
110 ldo5_reg: ldo5 {
111 regulator-min-microvolt = <1250000>;
112 regulator-max-microvolt = <3300000>;
113 };
114
115 ldo6_reg: ldo6 {
116 regulator-min-microvolt = <1250000>;
117 regulator-max-microvolt = <3300000>;
118 };
119
120 ldo7_reg: ldo7 {
121 regulator-min-microvolt = <1250000>;
122 regulator-max-microvolt = <3300000>;
123 };
124
125 ldo8_reg: ldo8 {
126 regulator-min-microvolt = <1250000>;
127 regulator-max-microvolt = <3300000>;
128 };
129
130 ldo9_reg: ldo9 {
131 regulator-min-microvolt = <1250000>;
132 regulator-max-microvolt = <3300000>;
133 };
134 };
135 };
136

3. 한국어 전문 번역

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

TPS6586x 필수 property와 supply

1-24

TPS6586x regulator 계열의 필수 `compatible`은 `ti,tps6586x`, `reg`는 I2C slave address, `interrupts`는 controller의 interrupt output입니다. `#gpio-cells`는 GPIO를 기술하는 cell 수이고 `gpio-controller`는 device를 GPIO controller로 표시합니다.

`regulators` node에는 regulator마다 subnode를 둡니다. 각 node는 이름 또는 deprecated `regulator-compatible` property로 식별하며 유효한 값은 `sys`, `sm[0-2]`, `ldo[0-9]`, `ldo_rtc`입니다. 내용은 `regulator.txt`의 표준 binding을 따릅니다.

`sys-supply`는 SYS, `vin-sm0-supply`·`vin-sm1-supply`·`vin-sm2-supply`는 각각 SM0·SM1·SM2의 input입니다. 원문에서 `vinldo01-supply`는 LDO1과 LDO2, `vinldo23-supply`는 LDO2와 LDO3의 input으로 설명합니다. `vinldo4-supply`는 LDO4, `vinldo678-supply`는 LDO6·7·8, `vinldo9-supply`는 LDO9의 input입니다.

System power와 내부 parent 관계

25-33

선택 property `ti,system-power-controller`는 이 PMIC가 system power를 제어하는지 나타냅니다. 각 regulator는 표준 regulator binding으로 정의합니다.

LDO5와 LDO_RTC는 내부적으로 SYS regulator에서 공급되며 driver가 올바른 parent-child 관계를 구성합니다.

TPS6586x 전체 rail 예제

34-135

I2C address 0x34의 예제는 interrupt, GPIO controller, system power controller와 모든 input supply를 설정합니다. `sys`, `sm0`~`sm2`, `ldo0`~`ldo9`를 선언하며 SYS와 세 SM은 boot-on·always-on입니다.

`sm0`과 `sm1`은 725,000~1,500,000 microvolt, `sm2`는 3,000,000~4,550,000 microvolt입니다. LDO별 범위와 `PCIE CLK` 이름은 아래 원문 예제에 그대로 보존합니다.

pmu: tps6586x@34 {
        compatible = "ti,tps6586x";
        reg = <0x34>;
        interrupts = <0 88 0x4>;

        #gpio-cells = <2>;
        gpio-controller;

        ti,system-power-controller;

        sys-supply = <&some_reg>;
        vin-sm0-supply = <&some_reg>;
        vin-sm1-supply = <&some_reg>;
        vin-sm2-supply = <&some_reg>;
        vinldo01-supply = <...>;
        vinldo23-supply = <...>;
        vinldo4-supply = <...>;
        vinldo678-supply = <...>;
        vinldo9-supply = <...>;

        regulators {
                sys_reg: sys {
                        regulator-name = "vdd_sys";
                        regulator-boot-on;
                        regulator-always-on;
                };

                sm0_reg: sm0 {
                        regulator-min-microvolt = < 725000>;
                        regulator-max-microvolt = <1500000>;
                        regulator-boot-on;
                        regulator-always-on;
                };

                sm1_reg: sm1 {
                        regulator-min-microvolt = < 725000>;
                        regulator-max-microvolt = <1500000>;
                        regulator-boot-on;
                        regulator-always-on;
                };

                sm2_reg: sm2 {
                        regulator-min-microvolt = <3000000>;
                        regulator-max-microvolt = <4550000>;
                        regulator-boot-on;
                        regulator-always-on;
                };

                ldo0_reg: ldo0 {
                        regulator-name = "PCIE CLK";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo1_reg: ldo1 {
                        regulator-min-microvolt = < 725000>;
                        regulator-max-microvolt = <1500000>;
                };

                ldo2_reg: ldo2 {
                        regulator-min-microvolt = < 725000>;
                        regulator-max-microvolt = <1500000>;
                };

                ldo3_reg: ldo3 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo4_reg: ldo4 {
                        regulator-min-microvolt = <1700000>;
                        regulator-max-microvolt = <2475000>;
                };

                ldo5_reg: ldo5 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo6_reg: ldo6 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo7_reg: ldo7 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo8_reg: ldo8 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };

                ldo9_reg: ldo9 {
                        regulator-min-microvolt = <1250000>;
                        regulator-max-microvolt = <3300000>;
                };
        };
};