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