Back to home page

OSCL-LXR

 
 

    


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         };