Documentation/devicetree/bindings/powerpc/opal/power-mgt.txt
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/powerpc/opal/power-mgt.txt
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/powerpc/opal/power-mgt.txt- Extension
.txt- Size
- 4790 bytes
- Lines
- 119
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
IBM Power-Management Bindings
=============================
Linux running on baremetal POWER machines has access to the processor
idle states. The description of these idle states is exposed via the
node @power-mgt in the device-tree by the firmware.
Definitions:
----------------
Typically each idle state has the following associated properties:
- name: The name of the idle state as defined by the firmware.
- flags: indicating some aspects of this idle states such as the
extent of state-loss, whether timebase is stopped on this
idle states and so on. The flag bits are as follows:
- exit-latency: The latency involved in transitioning the state of the
CPU from idle to running.
- target-residency: The minimum time that the CPU needs to reside in
this idle state in order to accrue power-savings
benefit.
Properties
----------------
The following properties provide details about the idle states. These
properties are exposed as arrays. Each entry in the property array
provides the value of that property for the idle state associated with
the array index of that entry.
If idle-states are defined, then the properties
"ibm,cpu-idle-state-names" and "ibm,cpu-idle-state-flags" are
required. The other properties are required unless mentioned
otherwise. The length of all the property arrays must be the same.
- ibm,cpu-idle-state-names:
Array of strings containing the names of the idle states.
- ibm,cpu-idle-state-flags:
Array of unsigned 32-bit values containing the values of the
flags associated with the aforementioned idle-states. The
flag bits are as follows:
0x00000001 /* Decrementer would stop */
0x00000002 /* Needs timebase restore */
0x00001000 /* Restore GPRs like nap */
0x00002000 /* Restore hypervisor resource from PACA pointer */
0x00004000 /* Program PORE to restore PACA pointer */
0x00010000 /* This is a nap state (POWER7,POWER8) */
0x00020000 /* This is a fast-sleep state (POWER8)*/
0x00040000 /* This is a winkle state (POWER8) */
0x00080000 /* This is a fast-sleep state which requires a */
/* software workaround for restoring the */
/* timebase (POWER8) */
0x00800000 /* This state uses SPR PMICR instruction */
/* (POWER8)*/
0x00100000 /* This is a fast stop state (POWER9) */
0x00200000 /* This is a deep-stop state (POWER9) */
- ibm,cpu-idle-state-latencies-ns:
Array of unsigned 32-bit values containing the values of the
exit-latencies (in ns) for the idle states in
ibm,cpu-idle-state-names.
- ibm,cpu-idle-state-residency-ns:
Array of unsigned 32-bit values containing the values of the
target-residency (in ns) for the idle states in
ibm,cpu-idle-state-names. On POWER8 this is an optional
property. If the property is absent, the target residency for
the "Nap", "FastSleep" are defined to 10000 and 300000000
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.