Lines Matching +full:domain +full:- +full:idle +full:- +full:states

1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
15 processors") can be used by Linux to initiate various CPU-centric power
25 r0 => 32-bit Function ID / return value
26 {r1 - r3} => Parameters
40 - description:
44 - description:
52 - const: arm,psci-0.2
53 - const: arm,psci
55 - description:
61 - const: arm,psci-1.0
62 - const: arm,psci-0.2
63 - const: arm,psci
67 $ref: /schemas/types.yaml#/definitions/string-array
69 - smc
71 - hvc
89 arm,psci-suspend-param:
95 idle state nodes with entry-method property is set to "psci", as per
98 [1] Kernel documentation - ARM idle states bindings
99 Documentation/devicetree/bindings/cpu/idle-states.yaml
102 "^power-domain-":
103 $ref: /schemas/power/power-domain.yaml#
111 own specific power states and can be better represented hierarchically.
113 For these cases, the definitions of the idle states for the CPUs and the
114 CPU topology, must conform to the binding in [3]. The idle states
116 arm,psci-suspend-param property.
118 It should also be noted that, in PSCI firmware v1.0 the OS-Initiated
123 [3] Documentation/devicetree/bindings/power/power-domain.yaml
124 [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
127 - compatible
128 - method
131 - if:
138 - cpu_off
139 - cpu_on
144 - |+
157 - |+
162 compatible = "arm,psci-0.2";
167 - |+
179 compatible = "arm,psci-0.2", "arm,psci";
186 - |+
188 // Case 4: CPUs and CPU idle states described using the hierarchical model.
191 #size-cells = <0>;
192 #address-cells = <1>;
196 compatible = "arm,cortex-a53";
198 enable-method = "psci";
199 power-domains = <&CPU_PD0>;
200 power-domain-names = "psci";
205 compatible = "arm,cortex-a53";
207 enable-method = "psci";
208 power-domains = <&CPU_PD1>;
209 power-domain-names = "psci";
212 idle-states {
214 CPU_PWRDN: cpu-power-down {
215 compatible = "arm,idle-state";
216 arm,psci-suspend-param = <0x0000001>;
217 entry-latency-us = <10>;
218 exit-latency-us = <10>;
219 min-residency-us = <100>;
223 domain-idle-states {
225 CLUSTER_RET: cluster-retention {
226 compatible = "domain-idle-state";
227 arm,psci-suspend-param = <0x1000011>;
228 entry-latency-us = <500>;
229 exit-latency-us = <500>;
230 min-residency-us = <2000>;
233 CLUSTER_PWRDN: cluster-power-down {
234 compatible = "domain-idle-state";
235 arm,psci-suspend-param = <0x1000031>;
236 entry-latency-us = <2000>;
237 exit-latency-us = <2000>;
238 min-residency-us = <6000>;
244 compatible = "arm,psci-1.0";
247 CPU_PD0: power-domain-cpu0 {
248 #power-domain-cells = <0>;
249 domain-idle-states = <&CPU_PWRDN>;
250 power-domains = <&CLUSTER_PD>;
253 CPU_PD1: power-domain-cpu1 {
254 #power-domain-cells = <0>;
255 domain-idle-states = <&CPU_PWRDN>;
256 power-domains = <&CLUSTER_PD>;
259 CLUSTER_PD: power-domain-cluster {
260 #power-domain-cells = <0>;
261 domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;