← Documents Documentation/devicetree/bindings/soc/mediatek/scpsys.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SoC

MediaTek SCPSYS

SCPSYS power domain, clock, supply와 consumer 연결을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

scpsys.txt:1-79

SoC control과 DMA subsystem의 역할 및 device tree 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 MediaTek SCPSYS
2 ===============
3
4 The System Control Processor System (SCPSYS) has several power management
5 related tasks in the system. The tasks include thermal measurement, dynamic
6 voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
7 The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
8 domain control.
9
10 The driver implements the Generic PM domain bindings described in
11 power/power-domain.yaml. It provides the power domains defined in
12 - include/dt-bindings/power/mt8173-power.h
13 - include/dt-bindings/power/mt6797-power.h
14 - include/dt-bindings/power/mt6765-power.h
15 - include/dt-bindings/power/mt2701-power.h
16 - include/dt-bindings/power/mt2712-power.h
17 - include/dt-bindings/power/mt7622-power.h
18
19 Required properties:
20 - compatible: Should be one of:
21 - "mediatek,mt2701-scpsys"
22 - "mediatek,mt2712-scpsys"
23 - "mediatek,mt6735-scpsys"
24 - "mediatek,mt6765-scpsys"
25 - "mediatek,mt6797-scpsys"
26 - "mediatek,mt7622-scpsys"
27 - "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
28 - "mediatek,mt7623a-scpsys": For MT7623A SoC
29 - "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
30 - "mediatek,mt8173-scpsys"
31 - #power-domain-cells: Must be 1
32 - reg: Address range of the SCPSYS unit
33 - infracfg: must contain a phandle to the infracfg controller
34 - clock, clock-names: clocks according to the common clock binding.
35 These are clocks which hardware needs to be
36 enabled before enabling certain power domains.
37 Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
38 Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
39 Required clocks for MT6765: MUX: "mm", "mfg"
40 CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
41 "isp-1", "cam-0", "cam-1", "cam-2",
42 "cam-3","cam-4"
43 Required clocks for MT6797: "mm", "mfg", "vdec"
44 Required clocks for MT7622 or MT7629: "hif_sel"
45 Required clocks for MT7623A: "ethif"
46 Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
47
48 Optional properties:
49 - vdec-supply: Power supply for the vdec power domain
50 - venc-supply: Power supply for the venc power domain
51 - isp-supply: Power supply for the isp power domain
52 - mm-supply: Power supply for the mm power domain
53 - venc_lt-supply: Power supply for the venc_lt power domain
54 - audio-supply: Power supply for the audio power domain
55 - usb-supply: Power supply for the usb power domain
56 - mfg_async-supply: Power supply for the mfg_async power domain
57 - mfg_2d-supply: Power supply for the mfg_2d power domain
58 - mfg-supply: Power supply for the mfg power domain
59
60 Example:
61
62 scpsys: scpsys@10006000 {
63 #power-domain-cells = <1>;
64 compatible = "mediatek,mt8173-scpsys";
65 reg = <0 0x10006000 0 0x1000>;
66 infracfg = <&infracfg>;
67 clocks = <&clk26m>,
68 <&topckgen CLK_TOP_MM_SEL>;
69 <&topckgen CLK_TOP_VENC_SEL>,
70 <&topckgen CLK_TOP_VENC_LT_SEL>;
71 clock-names = "mfg", "mm", "venc", "venc_lt";
72 };
73
74 Example consumer:
75
76 afe: mt8173-afe-pcm@11220000 {
77 compatible = "mediatek,mt8173-afe-pcm";
78 power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
79 };
80

3. 한국어 전문 번역

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

SCPSYS와 SPM

1-9

System Control Processor System(SCPSYS)은 thermal measurement, dynamic voltage frequency scaling(DVFS), interrupt filter, low-level sleep control 같은 power management 작업을 수행합니다.

SCPSYS 내부의 System Power Manager(SPM)는 MTCMOS power domain을 제어합니다.

Generic PM domain 제공 범위

10-18

driver는 `power/power-domain.yaml`의 Generic PM domain binding을 구현합니다. MT8173, MT6797, MT6765, MT2701, MT2712, MT7622의 power domain ID는 각각 `include/dt-bindings/power/` 아래 해당 `*-power.h` header에 정의되어 있습니다.

필수 compatible과 domain cell

19-31

`compatible`은 MT2701, MT2712, MT6735, MT6765, MT6797, MT7622, MT8173용 SCPSYS 문자열 중 해당 값을 사용합니다. MT7623은 `mediatek,mt7623-scpsys` 뒤에 `mediatek,mt2701-scpsys`, MT7629는 `mediatek,mt7629-scpsys` 뒤에 `mediatek,mt7622-scpsys`를 fallback으로 둡니다. MT7623A는 전용 `mediatek,mt7623a-scpsys`를 사용합니다.

`#power-domain-cells`는 반드시 1이어야 합니다.

Register, infracfg와 clock

32-46

`reg`는 SCPSYS unit의 address range이고 `infracfg`는 infracfg controller의 phandle입니다. `clock`과 `clock-names`는 common clock binding을 따르며, 특정 power domain을 켜기 전에 hardware가 요구하는 clock을 활성화합니다.

MT2701·MT7623은 `mm`, `mfg`, `ethif`; MT2712는 `mm`, `mfg`, `venc`, `jpgdec`, `audio`, `vdec`; MT6797은 `mm`, `mfg`, `vdec`; MT7622·MT7629는 `hif_sel`; MT7623A는 `ethif`; MT8173은 `mm`, `mfg`, `venc`, `venc_lt`가 필요합니다.

MT6765는 MUX clock `mm`, `mfg`와 CG clock `mm-0`~`mm-3`, `isp-0`~`isp-1`, `cam-0`~`cam-4`를 요구합니다.

선택 power supply

47-59

선택 속성 `vdec-supply`, `venc-supply`, `isp-supply`, `mm-supply`, `venc_lt-supply`, `audio-supply`, `usb-supply`, `mfg_async-supply`, `mfg_2d-supply`, `mfg-supply`는 이름에 대응하는 power domain의 전원을 지정합니다.

MT8173 SCPSYS 예제

60-73

예제는 MT8173 SCPSYS의 register, infracfg, 26MHz·MM·VENC·VENC_LT clock과 네 clock name을 정의합니다.

scpsys: scpsys@10006000 {
        #power-domain-cells = <1>;
        compatible = "mediatek,mt8173-scpsys";
        reg = <0 0x10006000 0 0x1000>;
        infracfg = <&infracfg>;
        clocks = <&clk26m>,
                 <&topckgen CLK_TOP_MM_SEL>;
                 <&topckgen CLK_TOP_VENC_SEL>,
                 <&topckgen CLK_TOP_VENC_LT_SEL>;
        clock-names = "mfg", "mm", "venc", "venc_lt";
};

Power-domain consumer 예제

74-79

audio front end consumer는 `power-domains`에서 SCPSYS phandle과 `MT8173_POWER_DOMAIN_AUDIO` ID를 함께 지정합니다.

afe: mt8173-afe-pcm@11220000 {
        compatible = "mediatek,mt8173-afe-pcm";
        power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
};