← Documents Documentation/devicetree/bindings/soc/dove/pmu.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SoC

Marvell Dove PMU

Dove PMU의 interrupt·reset controller와 power domain 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/soc/dove/pmu.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

pmu.txt:1-56

바인딩의 하드웨어 모델과 속성 순서를 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Device Tree bindings for Marvell PMU
2
3 Required properties:
4 - compatible: value should be "marvell,dove-pmu".
5 May also include "simple-bus" if there are child devices, in which
6 case the ranges node is required.
7 - reg: two base addresses and sizes of the PM controller and PMU.
8 - interrupts: single interrupt number for the PMU interrupt
9 - interrupt-controller: must be specified as the PMU itself is an
10 interrupt controller.
11 - #interrupt-cells: must be 1.
12 - #reset-cells: must be 1.
13 - domains: sub-node containing domain descriptions
14
15 Optional properties:
16 - ranges: defines the address mapping for child devices, as per the
17 standard property of this name. Required when compatible includes
18 "simple-bus".
19
20 Power domain descriptions are listed as child nodes of the "domains"
21 sub-node. Each domain has the following properties:
22
23 Required properties:
24 - #power-domain-cells: must be 0.
25
26 Optional properties:
27 - marvell,pmu_pwr_mask: specifies the mask value for PMU power register
28 - marvell,pmu_iso_mask: specifies the mask value for PMU isolation register
29 - resets: points to the reset manager (PMU node) and reset index.
30
31 Example:
32
33 pmu: power-management@d0000 {
34 compatible = "marvell,dove-pmu";
35 reg = <0xd0000 0x8000>, <0xd8000 0x8000>;
36 interrupts = <33>;
37 interrupt-controller;
38 #interrupt-cells = <1>;
39 #reset-cells = <1>;
40
41 domains {
42 vpu_domain: vpu-domain {
43 #power-domain-cells = <0>;
44 marvell,pmu_pwr_mask = <0x00000008>;
45 marvell,pmu_iso_mask = <0x00000001>;
46 resets = <&pmu 16>;
47 };
48
49 gpu_domain: gpu-domain {
50 #power-domain-cells = <0>;
51 marvell,pmu_pwr_mask = <0x00000004>;
52 marvell,pmu_iso_mask = <0x00000002>;
53 resets = <&pmu 18>;
54 };
55 };
56 };
57

3. 한국어 전문 번역

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

Marvell Dove PMU 주 노드

1-13

`compatible`은 `marvell,dove-pmu`이며 자식 장치가 있으면 `simple-bus`도 포함할 수 있습니다. 이 경우 `ranges`가 필수입니다.

`reg`에는 PM controller와 PMU의 시작 주소·크기 두 쌍이 들어갑니다. `interrupts`는 PMU interrupt 하나이며 PMU 자체가 interrupt controller이므로 `interrupt-controller`를 지정해야 합니다.

`#interrupt-cells`와 `#reset-cells`는 모두 1입니다. `domains` 하위 노드는 power domain 설명을 담습니다.

선택 ranges

14-18

`ranges`는 표준 속성 형식으로 자식 장치의 주소 매핑을 정의합니다. `compatible`에 `simple-bus`가 포함되면 필수입니다.

power domain 하위 노드

19-29

각 power domain은 `domains`의 자식 노드입니다. 필수 `#power-domain-cells`는 0입니다.

선택 `marvell,pmu_pwr_mask`는 PMU power register mask, `marvell,pmu_iso_mask`는 PMU isolation register mask를 지정합니다. `resets`는 reset manager인 PMU 노드와 reset 인덱스를 가리킵니다.

VPU·GPU domain 예제

30-56

예제는 PMU를 interrupt·reset controller로 선언하고 VPU와 GPU domain에 각 power·isolation mask 및 reset 인덱스 16과 18을 연결합니다.

pmu: power-management@d0000 {
        compatible = "marvell,dove-pmu";
        reg = <0xd0000 0x8000>, <0xd8000 0x8000>;
        interrupts = <33>;
        interrupt-controller;
        #interrupt-cells = <1>;
        #reset-cells = <1>;

        domains {
                vpu_domain: vpu-domain {
                        #power-domain-cells = <0>;
                        marvell,pmu_pwr_mask = <0x00000008>;
                        marvell,pmu_iso_mask = <0x00000001>;
                        resets = <&pmu 16>;
                };

                gpu_domain: gpu-domain {
                        #power-domain-cells = <0>;
                        marvell,pmu_pwr_mask = <0x00000004>;
                        marvell,pmu_iso_mask = <0x00000002>;
                        resets = <&pmu 18>;
                };
        };
};