0001 MediaTek SCPSYS
0002 ===============
0003
0004 The System Control Processor System (SCPSYS) has several power management
0005 related tasks in the system. The tasks include thermal measurement, dynamic
0006 voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
0007 The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
0008 domain control.
0009
0010 The driver implements the Generic PM domain bindings described in
0011 power/power-domain.yaml. It provides the power domains defined in
0012 - include/dt-bindings/power/mt8173-power.h
0013 - include/dt-bindings/power/mt6797-power.h
0014 - include/dt-bindings/power/mt6765-power.h
0015 - include/dt-bindings/power/mt2701-power.h
0016 - include/dt-bindings/power/mt2712-power.h
0017 - include/dt-bindings/power/mt7622-power.h
0018
0019 Required properties:
0020 - compatible: Should be one of:
0021 - "mediatek,mt2701-scpsys"
0022 - "mediatek,mt2712-scpsys"
0023 - "mediatek,mt6765-scpsys"
0024 - "mediatek,mt6797-scpsys"
0025 - "mediatek,mt7622-scpsys"
0026 - "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
0027 - "mediatek,mt7623a-scpsys": For MT7623A SoC
0028 - "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
0029 - "mediatek,mt8173-scpsys"
0030 - #power-domain-cells: Must be 1
0031 - reg: Address range of the SCPSYS unit
0032 - infracfg: must contain a phandle to the infracfg controller
0033 - clock, clock-names: clocks according to the common clock binding.
0034 These are clocks which hardware needs to be
0035 enabled before enabling certain power domains.
0036 Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
0037 Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
0038 Required clocks for MT6765: MUX: "mm", "mfg"
0039 CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
0040 "isp-1", "cam-0", "cam-1", "cam-2",
0041 "cam-3","cam-4"
0042 Required clocks for MT6797: "mm", "mfg", "vdec"
0043 Required clocks for MT7622 or MT7629: "hif_sel"
0044 Required clocks for MT7623A: "ethif"
0045 Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
0046
0047 Optional properties:
0048 - vdec-supply: Power supply for the vdec power domain
0049 - venc-supply: Power supply for the venc power domain
0050 - isp-supply: Power supply for the isp power domain
0051 - mm-supply: Power supply for the mm power domain
0052 - venc_lt-supply: Power supply for the venc_lt power domain
0053 - audio-supply: Power supply for the audio power domain
0054 - usb-supply: Power supply for the usb power domain
0055 - mfg_async-supply: Power supply for the mfg_async power domain
0056 - mfg_2d-supply: Power supply for the mfg_2d power domain
0057 - mfg-supply: Power supply for the mfg power domain
0058
0059 Example:
0060
0061 scpsys: scpsys@10006000 {
0062 #power-domain-cells = <1>;
0063 compatible = "mediatek,mt8173-scpsys";
0064 reg = <0 0x10006000 0 0x1000>;
0065 infracfg = <&infracfg>;
0066 clocks = <&clk26m>,
0067 <&topckgen CLK_TOP_MM_SEL>;
0068 <&topckgen CLK_TOP_VENC_SEL>,
0069 <&topckgen CLK_TOP_VENC_LT_SEL>;
0070 clock-names = "mfg", "mm", "venc", "venc_lt";
0071 };
0072
0073 Example consumer:
0074
0075 afe: mt8173-afe-pcm@11220000 {
0076 compatible = "mediatek,mt8173-afe-pcm";
0077 power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
0078 };