Lines Matching +full:per +full:- +full:cpu +full:- +full:cluster

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
18 Issue A of the specification describes functions for CPU suspend, hotplug
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#
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
119 (OSI) CPU suspend mode is introduced. Using a hierarchical representation
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>;
194 cpu@0 {
195 device_type = "cpu";
196 compatible = "arm,cortex-a53";
198 enable-method = "psci";
199 power-domains = <&cpu_pd0>;
200 power-domain-names = "psci";
203 cpu@1 {
204 device_type = "cpu";
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>;