요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
Device Tree bindings for Marvell PMU
Required properties:
- compatible: value should be "marvell,dove-pmu".
May also include "simple-bus" if there are child devices, in which
case the ranges node is required.
- reg: two base addresses and sizes of the PM controller and PMU.
- interrupts: single interrupt number for the PMU interrupt
- interrupt-controller: must be specified as the PMU itself is an
interrupt controller.
- #interrupt-cells: must be 1.
- #reset-cells: must be 1.
- domains: sub-node containing domain descriptions
Optional properties:
- ranges: defines the address mapping for child devices, as per the
standard property of this name. Required when compatible includes
"simple-bus".
Power domain descriptions are listed as child nodes of the "domains"
sub-node. Each domain has the following properties:
Required properties:
- #power-domain-cells: must be 0.
Optional properties:
- marvell,pmu_pwr_mask: specifies the mask value for PMU power register
- marvell,pmu_iso_mask: specifies the mask value for PMU isolation register
- resets: points to the reset manager (PMU node) and reset index.
Example:
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>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, 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>;
};
};
};
요약과 해설
pmu.txt:1-56바인딩의 하드웨어 모델과 속성 순서를 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.