요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* TPS65912 Power Management Integrated Circuit bindings
Required properties:
- compatible : Should be "ti,tps65912".
- reg : Slave address or chip select number (I2C / SPI).
- interrupts : The interrupt line the device is connected to.
- interrupt-controller : Marks the device node as an interrupt controller.
- #interrupt-cells : The number of cells to describe an IRQ, should be 2.
The first cell is the IRQ number.
The second cell is the flags, encoded as trigger
masks from ../interrupt-controller/interrupts.txt.
- gpio-controller : Marks the device node as a GPIO Controller.
- #gpio-cells : Should be two. The first cell is the pin number and
the second cell is used to specify flags.
See ../gpio/gpio.txt for more information.
- regulators: : List of child nodes that specify the regulator
initialization data. Child nodes must be named
after their hardware counterparts: dcdc[1-4] and
ldo[1-10]. Each child nodes is defined using the
standard binding for regulators.
Example:
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>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TPS65912 IRQ·GPIO·regulator 속성
1-21TPS65912 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 바인딩을 따릅니다.
IRQ와 GPIO specifier의 두 cell 의미를 비교합니다.
하나의 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>;
};
};
};
요약과 해설
tps65912.txt:1-49두 cell IRQ·GPIO specifier, regulator 이름 규칙과 DCDC1·LDO1 예제를 설명합니다.