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

Linux 6.18.37 · Devicetree Bindings

Cirrus Logic and Wolfson WM831x PMICs

WM831x PMIC의 I2C·SPI 주소, GPIO·IRQ controller와 regulator 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

wm831x.txt:1-81

7개 호환 칩, 두 cell controller, USB PHY와 DCDC·ISINK·LDO 자식을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Cirrus Logic/Wolfson Microelectronics wm831x PMICs
2
3 System PMICs with a wide range of additional features.
4
5 Required properties:
6
7 - compatible : One of the following chip-specific strings:
8 "wlf,wm8310"
9 "wlf,wm8311"
10 "wlf,wm8312"
11 "wlf,wm8320"
12 "wlf,wm8321"
13 "wlf,wm8325"
14 "wlf,wm8326"
15
16 - reg : I2C slave address when connected using I2C, chip select number
17 when using SPI.
18
19 - gpio-controller : Indicates this device is a GPIO controller.
20 - #gpio-cells : Must be 2. The first cell is the pin number and the
21 second cell is used to specify optional parameters (currently unused).
22
23 - interrupts : The interrupt line the IRQ signal for the device is
24 connected to.
25
26 - interrupt-controller : wm831x devices contain interrupt controllers and
27 may provide interrupt services to other devices.
28 - #interrupt-cells: Must be 2. The first cell is the IRQ number, and the
29 second cell is the flags, encoded as the trigger masks from
30 ../interrupt-controller/interrupts.txt
31
32 Optional sub-nodes:
33 - phys : Contains a phandle to the USB PHY.
34 - regulators : Contains sub-nodes for each of the regulators supplied by
35 the device. The regulators are bound using their names listed below:
36
37 dcdc1 : DCDC1
38 dcdc2 : DCDC2
39 dcdc3 : DCDC3
40 dcdc4 : DCDC3
41 isink1 : ISINK1
42 isink2 : ISINK2
43 ldo1 : LDO1
44 ldo2 : LDO2
45 ldo3 : LDO3
46 ldo4 : LDO4
47 ldo5 : LDO5
48 ldo7 : LDO7
49 ldo11 : LDO11
50
51 The bindings details of each regulator can be found in:
52 ../regulator/regulator.txt
53
54 Example:
55
56 wm8310: pmic@36 {
57 compatible = "wlf,wm8310";
58 reg = <0x36>;
59
60 gpio-controller;
61 #gpio-cells = <2>;
62
63 interrupts = <347>;
64 interrupt-parent = <&gic>;
65
66 interrupt-controller;
67 #interrupt-cells = <2>;
68
69 regulators {
70 dcdc1: dcdc1 {
71 regulator-name = "DCDC1";
72 regulator-min-microvolt = <600000>;
73 regulator-max-microvolt = <600000>;
74 };
75 ldo1: ldo1 {
76 regulator-name = "LDO1";
77 regulator-min-microvolt = <1700000>;
78 regulator-max-microvolt = <1700000>;
79 };
80 };
81 };
82

3. 한국어 전문 번역

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

Cirrus Logic·Wolfson WM831x PMIC

1-4

WM831x는 폭넓은 부가 기능을 갖춘 Cirrus Logic/Wolfson Microelectronics system PMIC 계열입니다.

호환 문자열과 GPIO·IRQ controller

5-30

필수 `compatible`은 `wlf,wm8310`, `wlf,wm8311`, `wlf,wm8312`, `wlf,wm8320`, `wlf,wm8321`, `wlf,wm8325`, `wlf,wm8326` 중 하나입니다. `reg`는 I2C 연결에서는 slave address, SPI에서는 chip-select 번호입니다.

`gpio-controller`는 장치를 GPIO controller로 표시합니다. `#gpio-cells`는 2이며 첫 cell은 pin 번호, 둘째 cell은 현재 사용하지 않는 선택 parameter입니다.

`interrupts`는 장치 IRQ signal이 연결된 interrupt line입니다. WM831x는 다른 장치에 interrupt service를 제공할 수 있으므로 `interrupt-controller`를 선언합니다. `#interrupt-cells`는 2이며 첫 cell은 IRQ 번호, 둘째 cell은 `../interrupt-controller/interrupts.txt`의 trigger mask로 인코딩한 flags입니다.

WM831x controller cell
Specifier첫 cell둘째 cell
GPIOPin 번호선택 parameter, 현재 미사용
InterruptIRQ 번호Trigger flags

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

USB PHY와 regulator 자식

31-53

선택 `phys` 자식은 USB PHY phandle을 담습니다. 선택 `regulators`는 장치가 공급하는 regulator마다 자식을 두며 세부 속성은 `../regulator/regulator.txt`를 따릅니다.

WM831x regulator 이름
자식 이름Regulator
dcdc1DCDC1
dcdc2DCDC2
dcdc3DCDC3
dcdc4DCDC3, 원문 표기
isink1ISINK1
isink2ISINK2
ldo1LDO1
ldo2LDO2
ldo3LDO3
ldo4LDO4
ldo5LDO5
ldo7LDO7
ldo11LDO11

원문에 제시된 자식 이름과 대응 regulator입니다. `dcdc4`가 `DCDC3`에 대응한다고 적힌 원문을 그대로 보존합니다.

WM8310 DCDC1·LDO1 예제

54-81

예제는 I2C 주소 `0x36`, 두 cell GPIO controller, GIC interrupt 347, 두 cell interrupt controller를 구성합니다. DCDC1은 0.6V 고정, LDO1은 1.7V 고정 regulator입니다.

wm8310: pmic@36 {
        compatible = "wlf,wm8310";
        reg = <0x36>;

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

        interrupts = <347>;
        interrupt-parent = <&gic>;

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

        regulators {
                dcdc1: dcdc1 {
                        regulator-name = "DCDC1";
                        regulator-min-microvolt = <600000>;
                        regulator-max-microvolt = <600000>;
                };
                ldo1: ldo1 {
                        regulator-name = "LDO1";
                        regulator-min-microvolt = <1700000>;
                        regulator-max-microvolt = <1700000>;
                };
        };
};