Lines Matching +full:power +full:- +full:controller
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/power/mediatek,power-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Mediatek Power Domains Controller
10 - MandyJH Liu <mandyjh.liu@mediatek.com>
11 - Matthias Brugger <mbrugger@suse.com>
14 Mediatek processors include support for multiple power domains which can be
15 powered up/down by software based on different application scenes to save power.
17 IP cores belonging to a power domain should contain a 'power-domains'
22 pattern: '^power-controller(@[0-9a-f]+)?$'
26 - mediatek,mt6735-power-controller
27 - mediatek,mt6795-power-controller
28 - mediatek,mt6893-power-controller
29 - mediatek,mt8167-power-controller
30 - mediatek,mt8173-power-controller
31 - mediatek,mt8183-power-controller
32 - mediatek,mt8186-power-controller
33 - mediatek,mt8188-power-controller
34 - mediatek,mt8192-power-controller
35 - mediatek,mt8195-power-controller
36 - mediatek,mt8365-power-controller
38 '#power-domain-cells':
41 '#address-cells':
44 '#size-cells':
48 "^power-domain@[0-9a-f]+$":
49 $ref: "#/$defs/power-domain-node"
51 "^power-domain@[0-9a-f]+$":
52 $ref: "#/$defs/power-domain-node"
54 "^power-domain@[0-9a-f]+$":
55 $ref: "#/$defs/power-domain-node"
57 "^power-domain@[0-9a-f]+$":
58 $ref: "#/$defs/power-domain-node"
60 "^power-domain@[0-9a-f]+$":
61 $ref: "#/$defs/power-domain-node"
69 power-domain-node:
72 Represents the power domains within the power controller node as documented
73 in Documentation/devicetree/bindings/power/power-domain.yaml.
77 '#power-domain-cells':
82 '#address-cells':
85 '#size-cells':
90 Power domain index. Valid values are defined in:
91 "include/dt-bindings/power/mt6795-power.h" - for MT8167 type power domain.
92 "include/dt-bindings/power/mediatek,mt6893-power.h" - for MT6893 type power domain.
93 "include/dt-bindings/power/mt8167-power.h" - for MT8167 type power domain.
94 "include/dt-bindings/power/mt8173-power.h" - for MT8173 type power domain.
95 "include/dt-bindings/power/mt8183-power.h" - for MT8183 type power domain.
96 "include/dt-bindings/power/mediatek,mt8188-power.h" - for MT8188 type power domain.
97 "include/dt-bindings/power/mt8192-power.h" - for MT8192 type power domain.
98 "include/dt-bindings/power/mt8195-power.h" - for MT8195 type power domain.
99 "include/dt-bindings/power/mediatek,mt8365-power.h" - for MT8365 type power domain.
105 power-up sequencing.
107 clock-names:
109 List of names of clocks, in order to match the power-up sequencing
110 for each power domain we need to group the clocks by name. BASIC
111 clocks need to be enabled before enabling the corresponding power
112 domain, and should not have a '-' in their name (i.e mm, mfg, venc).
114 and should contain a '-' in their name (i.e mm-0, isp-0, cam-0).
116 In order to follow properly the power-up sequencing, the clocks must
120 domain-supply:
127 mediatek,infracfg-nao:
129 description: phandle to the device containing the INFRACFG-NAO register range.
136 - reg
139 - compatible
144 - |
145 #include <dt-bindings/clock/mt8173-clk.h>
146 #include <dt-bindings/power/mt8173-power.h>
149 #address-cells = <2>;
150 #size-cells = <2>;
153 compatible = "mediatek,mt8173-scpsys", "syscon", "simple-mfd";
156 spm: power-controller {
157 compatible = "mediatek,mt8173-power-controller";
158 #address-cells = <1>;
159 #size-cells = <0>;
160 #power-domain-cells = <1>;
162 /* power domains of the SoC */
163 power-domain@MT8173_POWER_DOMAIN_VDEC {
166 clock-names = "mm";
167 #power-domain-cells = <0>;
169 power-domain@MT8173_POWER_DOMAIN_VENC {
173 clock-names = "mm", "venc";
174 #power-domain-cells = <0>;
176 power-domain@MT8173_POWER_DOMAIN_ISP {
179 clock-names = "mm";
180 #power-domain-cells = <0>;
182 power-domain@MT8173_POWER_DOMAIN_MM {
185 clock-names = "mm";
186 #power-domain-cells = <0>;
189 power-domain@MT8173_POWER_DOMAIN_VENC_LT {
193 clock-names = "mm", "venclt";
194 #power-domain-cells = <0>;
196 power-domain@MT8173_POWER_DOMAIN_AUDIO {
198 #power-domain-cells = <0>;
200 power-domain@MT8173_POWER_DOMAIN_USB {
202 #power-domain-cells = <0>;
204 power-domain@MT8173_POWER_DOMAIN_MFG_ASYNC {
207 clock-names = "mfg";
208 #address-cells = <1>;
209 #size-cells = <0>;
210 #power-domain-cells = <1>;
212 power-domain@MT8173_POWER_DOMAIN_MFG_2D {
214 #address-cells = <1>;
215 #size-cells = <0>;
216 #power-domain-cells = <1>;
218 power-domain@MT8173_POWER_DOMAIN_MFG {
220 #power-domain-cells = <0>;