요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
* Dialog DA9055 Power Management Integrated Circuit (PMIC)
DA9055 consists of a large and varied group of sub-devices (I2C Only):
Device Supply Names Description
------ ------------ -----------
da9055-gpio : : GPIOs
da9055-regulator : : Regulators
da9055-onkey : : On key
da9055-rtc : : RTC
da9055-hwmon : : ADC
da9055-watchdog : : Watchdog
The CODEC device in DA9055 has a separate, configurable I2C address and so
is instantiated separately from the PMIC.
For details on accompanying CODEC I2C device, see the following:
Documentation/devicetree/bindings/sound/da9055.txt
======
Required properties:
- compatible : Should be "dlg,da9055-pmic"
- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
- interrupts: IRQ line info for da9055 chip.
- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
Sub-nodes:
- regulators : Contain the regulator nodes. The DA9055 regulators are
bound using their names as listed below:
buck1 : regulator BUCK1
buck2 : regulator BUCK2
ldo1 : regulator LDO1
ldo2 : regulator LDO2
ldo3 : regulator LDO3
ldo4 : regulator LDO4
ldo5 : regulator LDO5
ldo6 : regulator LDO6
The bindings details of individual regulator device can be found in:
Documentation/devicetree/bindings/regulator/regulator.txt
Example:
pmic: da9055-pmic@5a {
compatible = "dlg,da9055-pmic";
reg = <0x5a>;
interrupt-parent = <&intc>;
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <1>;
regulators {
buck1: BUCK1 {
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <2075000>;
};
buck2: BUCK2 {
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <2500000>;
};
ldo1: LDO1 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <3300000>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
DA9055 PMIC와 하위 장치
1-21DA9055는 I2C로 접근하는 GPIO, regulator, on-key, RTC, ADC, watchdog 하위 장치로 구성됩니다. CODEC은 별도로 구성 가능한 I2C 주소를 가지므로 PMIC와 별도 장치로 인스턴스화합니다. CODEC 바인딩은 `Documentation/devicetree/bindings/sound/da9055.txt`를 봅니다.
PMIC에 포함된 여섯 기능과 별도 I2C CODEC을 구분했습니다.
필수 I2C·IRQ 속성
22-28`compatible`은 `dlg,da9055-pmic`입니다. `reg`는 기본값 `0x5a`이지만 변경 가능한 I2C slave address이고 `interrupts`는 칩의 IRQ 선 정보입니다. `interrupt-controller`는 자체 IRQ domain을 표시하며 `#interrupt-cells`는 1로 DA9055 local IRQ 번호를 담습니다.
Regulator 자식
29-45`regulators`에는 `buck1`, `buck2`, `ldo1`부터 `ldo6`까지의 regulator 노드를 넣습니다. 개별 장치의 표준 속성은 `Documentation/devicetree/bindings/regulator/regulator.txt`에 있습니다.
BUCK와 LDO 전압 예제
46-70예제는 I2C 주소 `0x5a`, active-low level interrupt 5와 한 cell IRQ domain을 사용합니다. BUCK1은 0.725~2.075V, BUCK2는 0.925~2.5V, LDO1은 0.9~3.3V 범위입니다.
pmic: da9055-pmic@5a {
compatible = "dlg,da9055-pmic";
reg = <0x5a>;
interrupt-parent = <&intc>;
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <1>;
regulators {
buck1: BUCK1 {
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <2075000>;
};
buck2: BUCK2 {
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <2500000>;
};
ldo1: LDO1 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <3300000>;
};
};
};
요약과 해설
da9055.txt:1-70별도 I2C CODEC과 BUCK·LDO 전압 예제를 설명합니다.