GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / soc / mediatek / scpsys.txt
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,mt6765-scpsys"
24         - "mediatek,mt6797-scpsys"
25         - "mediatek,mt7622-scpsys"
26         - "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
27         - "mediatek,mt7623a-scpsys": For MT7623A SoC
28         - "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
29         - "mediatek,mt8173-scpsys"
30 - #power-domain-cells: Must be 1
31 - reg: Address range of the SCPSYS unit
32 - infracfg: must contain a phandle to the infracfg controller
33 - clock, clock-names: clocks according to the common clock binding.
34                       These are clocks which hardware needs to be
35                       enabled before enabling certain power domains.
36         Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
37         Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
38         Required clocks for MT6765: MUX: "mm", "mfg"
39                                     CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
40                                         "isp-1", "cam-0", "cam-1", "cam-2",
41                                         "cam-3","cam-4"
42         Required clocks for MT6797: "mm", "mfg", "vdec"
43         Required clocks for MT7622 or MT7629: "hif_sel"
44         Required clocks for MT7623A: "ethif"
45         Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
46
47 Optional properties:
48 - vdec-supply: Power supply for the vdec power domain
49 - venc-supply: Power supply for the venc power domain
50 - isp-supply: Power supply for the isp power domain
51 - mm-supply: Power supply for the mm power domain
52 - venc_lt-supply: Power supply for the venc_lt power domain
53 - audio-supply: Power supply for the audio power domain
54 - usb-supply: Power supply for the usb power domain
55 - mfg_async-supply: Power supply for the mfg_async power domain
56 - mfg_2d-supply: Power supply for the mfg_2d power domain
57 - mfg-supply: Power supply for the mfg power domain
58
59 Example:
60
61         scpsys: scpsys@10006000 {
62                 #power-domain-cells = <1>;
63                 compatible = "mediatek,mt8173-scpsys";
64                 reg = <0 0x10006000 0 0x1000>;
65                 infracfg = <&infracfg>;
66                 clocks = <&clk26m>,
67                          <&topckgen CLK_TOP_MM_SEL>;
68                          <&topckgen CLK_TOP_VENC_SEL>,
69                          <&topckgen CLK_TOP_VENC_LT_SEL>;
70                 clock-names = "mfg", "mm", "venc", "venc_lt";
71         };
72
73 Example consumer:
74
75         afe: mt8173-afe-pcm@11220000 {
76                 compatible = "mediatek,mt8173-afe-pcm";
77                 power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
78         };