Documentation/devicetree/bindings/power/amlogic,meson-gx-pwrc.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Amlogic Meson VPU Power Controller

Deprecated Meson GX·G12A VPU power-domain controller binding입니다.

Source pathDocumentation/devicetree/bindings/power/amlogic,meson-gx-pwrc.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

amlogic,meson-gx-pwrc.txt:1-63

AO sysctrl parent와 VPU reset·clock resource를 연결하는 power sequence 계약입니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 Amlogic Meson Power Controller (deprecated)
2 ===========================================
3
4 The Amlogic Meson SoCs embeds an internal Power domain controller.
5
6 VPU Power Domain
7 ----------------
8
9 The Video Processing Unit power domain is controlled by this power controller,
10 but the domain requires some external resources to meet the correct power
11 sequences.
12 The bindings must respect the power domain bindings as described in the file
13 power-domain.yaml
14
15 Device Tree Bindings:
16 ---------------------
17
18 Required properties:
19 - compatible: should be one of the following :
20 - "amlogic,meson-gx-pwrc-vpu" for the Meson GX SoCs
21 - "amlogic,meson-g12a-pwrc-vpu" for the Meson G12A SoCs
22 - #power-domain-cells: should be 0
23 - amlogic,hhi-sysctrl: phandle to the HHI sysctrl node
24 - resets: phandles to the reset lines needed for this power demain sequence
25 as described in ../reset/reset.txt
26 - clocks: from common clock binding: handle to VPU and VAPB clocks
27 - clock-names: from common clock binding: must contain "vpu", "vapb"
28 corresponding to entry in the clocks property.
29
30 Parent node should have the following properties :
31 - compatible: "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"
32 - reg: base address and size of the AO system control register space.
33
34 Example:
35 -------
36
37 ao_sysctrl: sys-ctrl@0 {
38 compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
39 reg = <0x0 0x0 0x0 0x100>;
40
41 pwrc_vpu: power-controller-vpu {
42 compatible = "amlogic,meson-gx-pwrc-vpu";
43 #power-domain-cells = <0>;
44 amlogic,hhi-sysctrl = <&sysctrl>;
45 resets = <&reset RESET_VIU>,
46 <&reset RESET_VENC>,
47 <&reset RESET_VCBUS>,
48 <&reset RESET_BT656>,
49 <&reset RESET_DVIN_RESET>,
50 <&reset RESET_RDMA>,
51 <&reset RESET_VENCI>,
52 <&reset RESET_VENCP>,
53 <&reset RESET_VDAC>,
54 <&reset RESET_VDI6>,
55 <&reset RESET_VENCL>,
56 <&reset RESET_VID_LOCK>;
57 clocks = <&clkc CLKID_VPU>,
58 <&clkc CLKID_VAPB>;
59 clock-names = "vpu", "vapb";
60 };
61 };
62
63
64

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Deprecated Meson VPU power controller

1-14

이 binding은 deprecated된 Amlogic Meson power controller를 설명합니다. Amlogic Meson SoC는 내부 power-domain controller를 포함합니다.

Video Processing Unit(VPU) power domain은 이 controller가 제어하지만 올바른 power sequence를 만족하려면 일부 external resource가 필요합니다. Binding은 `power-domain.yaml`에 설명된 power-domain binding을 따라야 합니다.

VPU domain과 parent 필수 속성

15-33

VPU power-domain node의 지원 `compatible`은 다음과 같습니다.

CompatibleTarget
amlogic,meson-gx-pwrc-vpuMeson GX SoCs
amlogic,meson-g12a-pwrc-vpuMeson G12A SoCs

`#power-domain-cells`는 0이어야 합니다. `amlogic,hhi-sysctrl`은 HHI sysctrl node의 phandle이고, `resets`는 `../reset/reset.txt`에 설명된 power-domain sequence용 reset line phandle들입니다.

`clocks`는 공통 clock binding에 따른 VPU·VAPB clock handle입니다. `clock-names`에는 `clocks` entry에 대응하는 `vpu`, `vapb`가 들어가야 합니다.

Parent node에는 `compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"`와 AO system-control register space의 base address·size를 담은 `reg`가 필요합니다.

AO sysctrl과 VPU domain 예제

34-63

AO sysctrl 아래에 VPU power controller를 두고 HHI sysctrl, 필요한 reset line 열두 개, VPU·VAPB clock을 연결하는 예제입니다.

ao_sysctrl: sys-ctrl@0 {
        compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
        reg =  <0x0 0x0 0x0 0x100>;

        pwrc_vpu: power-controller-vpu {
                compatible = "amlogic,meson-gx-pwrc-vpu";
                #power-domain-cells = <0>;
                amlogic,hhi-sysctrl = <&sysctrl>;
                resets = <&reset RESET_VIU>,
                         <&reset RESET_VENC>,
                         <&reset RESET_VCBUS>,
                         <&reset RESET_BT656>,
                         <&reset RESET_DVIN_RESET>,
                         <&reset RESET_RDMA>,
                         <&reset RESET_VENCI>,
                         <&reset RESET_VENCP>,
                         <&reset RESET_VDAC>,
                         <&reset RESET_VDI6>,
                         <&reset RESET_VENCL>,
                         <&reset RESET_VID_LOCK>;
                clocks = <&clkc CLKID_VPU>,
                         <&clkc CLKID_VAPB>;
                clock-names = "vpu", "vapb";
        };
};