Lines Matching +full:os +full:- +full:initiated
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:
46 Function IDs are not required and should be ignored by an OS with
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#
116 arm,psci-suspend-param property.
118 It should also be noted that, in PSCI firmware v1.0 the OS-Initiated
120 helps to implement support for OSI mode and OS implementations may choose
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 - |+
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>;