요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
TI LMU LM363x regulator device tree bindings
LM363x regulator driver supports LM3631 and LM3632.
LM3631 has five regulators and LM3632 supports three regulators.
Required property:
- compatible: "ti,lm363x-regulator"
Optional properties:
LM3632 has external enable pins for two LDOs.
- enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
The first entry is Vpos, the second is Vneg enable pin.
Child nodes:
LM3631
- vboost
- vcont
- voref
- vpos
- vneg
LM3632
- vboost
- vpos
- vneg
Optional properties of a child node:
Each sub-node should contain the constraints and initialization.
Please refer to [1].
Examples: Please refer to ti-lmu dt-bindings [2].
lm3631@29 {
compatible = "ti,lm3631";
reg = <0x29>;
regulators {
compatible = "ti,lm363x-regulator";
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6350000>;
regulator-always-on;
};
vcont {
regulator-name = "lcd_vcont";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
voref {
regulator-name = "lcd_voref";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
};
};
lm3632@11 {
compatible = "ti,lm3632";
reg = <0x11>;
regulators {
compatible = "ti,lm363x-regulator";
/* GPIO1_16 for Vpos, GPIO1_28 is for Vneg */
enable-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>,
<&gpio1 28 GPIO_ACTIVE_HIGH>;
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6400000>;
regulator-always-on;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
};
};
[1] ../regulator/regulator.txt
[2] ../mfd/ti-lmu.txt
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
LM3631과 LM3632
1-5TI LMU LM363x regulator driver는 LM3631과 LM3632를 지원합니다. LM3631에는 regulator 5개, LM3632에는 regulator 3개가 있습니다.
Compatible과 외부 enable GPIO
6-13필수 `compatible`은 `ti,lm363x-regulator`입니다. LM3632의 선택 `enable-gpios`에는 두 LDO의 external enable pin을 순서대로 지정하며 첫 번째 specifier는 Vpos, 두 번째는 Vneg입니다.
지원 child node
14-30LM3631 child는 `vboost`, `vcont`, `voref`, `vpos`, `vneg`입니다. LM3632 child는 `vboost`, `vpos`, `vneg`입니다. 각 subnode에는 constraint와 initialization 정보를 넣으며 표준 선택 property는 참조 문서 [1]을 따릅니다.
LM3631 예제
31-74I2C address 0x29의 LM3631 예제는 `vboost`를 4,500,000~6,350,000 microvolt always-on으로 설정합니다. `vcont`는 1,800,000~3,300,000, `voref`, `vpos`, `vneg`는 4,000,000~6,000,000 microvolt이며 `vpos`와 `vneg`는 boot-on입니다.
lm3631@29 {
compatible = "ti,lm3631";
reg = <0x29>;
regulators {
compatible = "ti,lm363x-regulator";
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6350000>;
regulator-always-on;
};
vcont {
regulator-name = "lcd_vcont";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
voref {
regulator-name = "lcd_voref";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
};
};
LM3632 예제
75-105I2C address 0x11의 LM3632 예제는 GPIO1_16을 Vpos, GPIO1_28을 Vneg enable pin으로 지정합니다. `vboost`는 4,500,000~6,400,000 microvolt always-on이고 `vpos`, `vneg`는 4,000,000~6,000,000 microvolt입니다.
lm3632@11 {
compatible = "ti,lm3632";
reg = <0x11>;
regulators {
compatible = "ti,lm363x-regulator";
/* GPIO1_16 for Vpos, GPIO1_28 is for Vneg */
enable-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>,
<&gpio1 28 GPIO_ACTIVE_HIGH>;
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6400000>;
regulator-always-on;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
};
};
참조 binding
106-108표준 regulator property는 `[1] ../regulator/regulator.txt`, TI LMU 전체 binding은 `[2] ../mfd/ti-lmu.txt`를 참조합니다.
요약과 해설
lm363x-regulator.txt:1-108Chip별 regulator 구조와 실제 device-tree property를 원문 예제와 함께 설명합니다.