← Documents 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 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

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

요약과 해설

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. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 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";
        };
};