← Documents Documentation/devicetree/bindings/mfd/tps65912.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

TI TPS65912 Power Management IC

TPS65912의 I2C·SPI 주소, IRQ·GPIO controller와 DCDC·LDO 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

tps65912.txt:1-49

두 cell IRQ·GPIO specifier, regulator 이름 규칙과 DCDC1·LDO1 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * TPS65912 Power Management Integrated Circuit bindings
2
3 Required properties:
4 - compatible : Should be "ti,tps65912".
5 - reg : Slave address or chip select number (I2C / SPI).
6 - interrupts : The interrupt line the device is connected to.
7 - interrupt-controller : Marks the device node as an interrupt controller.
8 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.
9 The first cell is the IRQ number.
10 The second cell is the flags, encoded as trigger
11 masks from ../interrupt-controller/interrupts.txt.
12 - gpio-controller : Marks the device node as a GPIO Controller.
13 - #gpio-cells : Should be two. The first cell is the pin number and
14 the second cell is used to specify flags.
15 See ../gpio/gpio.txt for more information.
16 - regulators: : List of child nodes that specify the regulator
17 initialization data. Child nodes must be named
18 after their hardware counterparts: dcdc[1-4] and
19 ldo[1-10]. Each child nodes is defined using the
20 standard binding for regulators.
21
22 Example:
23
24 pmic: tps65912@2d {
25 compatible = "ti,tps65912";
26 reg = <0x2d>;
27 interrupt-parent = <&gpio1>;
28 interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
29 interrupt-controller;
30 #interrupt-cells = <2>;
31 gpio-controller;
32 #gpio-cells = <2>;
33
34 regulators {
35 dcdc1 {
36 regulator-name = "vdd_core";
37 regulator-min-microvolt = <912000>;
38 regulator-max-microvolt = <1144000>;
39 regulator-boot-on;
40 regulator-always-on;
41 };
42
43 ldo1 {
44 regulator-name = "ldo1";
45 regulator-min-microvolt = <1900000>;
46 regulator-max-microvolt = <1900000>;
47 };
48 };
49 };
50

3. 한국어 전문 번역

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

TPS65912 IRQ·GPIO·regulator 속성

1-21

TPS65912 PMIC의 `compatible`은 `ti,tps65912`입니다. `reg`는 I2C에서는 slave address, SPI에서는 chip-select 번호이고 `interrupts`는 장치가 연결된 interrupt line입니다.

`interrupt-controller`는 장치를 interrupt controller로 표시합니다. `#interrupt-cells`는 2이며 첫 cell은 IRQ 번호, 둘째 cell은 `../interrupt-controller/interrupts.txt`의 trigger mask로 인코딩한 flags입니다.

`gpio-controller`는 장치를 GPIO controller로 표시합니다. `#gpio-cells`도 2이며 첫 cell은 pin 번호, 둘째 cell은 flags입니다. 자세한 내용은 `../gpio/gpio.txt`를 따릅니다.

`regulators`는 regulator 초기화 데이터 자식 목록입니다. 자식 이름은 hardware counterpart에 맞춰 `dcdc1`부터 `dcdc4`, `ldo1`부터 `ldo10`이어야 하며 각 자식은 표준 regulator 바인딩을 따릅니다.

TPS65912 controller cell
Specifier첫 cell둘째 cell
InterruptIRQ 번호Trigger flags
GPIOPin 번호GPIO flags

IRQ와 GPIO specifier의 두 cell 의미를 비교합니다.

TPS65912 기능 분기
TPS65912 I2C / SPIInterrupt controller
TPS65912 I2C / SPIGPIO controller
TPS65912 I2C / SPIDCDC1..4
TPS65912 I2C / SPILDO1..10

하나의 I2C 또는 SPI PMIC가 IRQ, GPIO, regulator 기능을 함께 제공합니다.

DCDC1·LDO1 예제

22-49

예제는 I2C 주소 `0x2d`, GPIO1 pin 28 low-level interrupt, 두 cell IRQ와 GPIO controller를 구성합니다. DCDC1 `vdd_core`는 0.912~1.144V이며 boot-on·always-on이고, LDO1은 1.9V 고정 출력입니다.

pmic: tps65912@2d {
        compatible = "ti,tps65912";
        reg = <0x2d>;
        interrupt-parent = <&gpio1>;
        interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
        interrupt-controller;
        #interrupt-cells = <2>;
        gpio-controller;
        #gpio-cells = <2>;

        regulators {
                dcdc1 {
                        regulator-name = "vdd_core";
                        regulator-min-microvolt = <912000>;
                        regulator-max-microvolt = <1144000>;
                        regulator-boot-on;
                        regulator-always-on;
                };

                ldo1 {
                        regulator-name = "ldo1";
                        regulator-min-microvolt = <1900000>;
                        regulator-max-microvolt = <1900000>;
                };
        };
};