1
1
# Copyright (c) 2020, Intel Corporation
2
2
# SPDX-License-Identifier: Apache-2.0
3
3
4
- description : Properties for power management state
4
+ description : |
5
+ Properties for power management idle states. Note that not all of the timing properties will
6
+ be consumed by any or all of the Zephyr policy managers. See the policy manager documentation
7
+ for details on how the properties affect that policy. The default policy manager, for example,
8
+ does not abort entry sequences and therefore only makes use of
9
+ min-residency-us and exit-latency-us.
10
+
11
+ The following diagram depicts the CPU execution phases and related timing
12
+ properties required to enter and exit an idle state:
13
+
14
+ ..__[EXEC]__|__[PREP]__|__[ENTRY]__|__[IDLE]__|__[EXIT]__|__[EXEC]__..
15
+ | | | | |
16
+
17
+ |<------ entry ------->|
18
+ | latency |
19
+ |<- exit ->|
20
+ | latency |
21
+ |<-------- min-residency -------->|
22
+ |<------- wakeup-latency ------->|
23
+
24
+ The following diagram depicts two hypothetical idle states,
25
+ one with a lower power once idle but higher cost of entering,
26
+ meaning that it has a higher "minimum residency" to justify it being chosen over the other:
27
+
28
+ |
29
+ |
30
+ |
31
+ | /-- IDLE1
32
+ e | /---
33
+ n | /----
34
+ e | /---
35
+ r | /-----/--------- IDLE2
36
+ g | /-------/---------
37
+ y | ------------ /---|
38
+ | / /---- |
39
+ | / /--- |
40
+ | / /---- |
41
+ | / /--- |
42
+ | --- |
43
+ | / |
44
+ | / |
45
+ |/ | time
46
+ ---/----------------------------+------------------------
47
+ |IDLE1-energy < IDLE2-energy | IDLE2-energy < IDLE1-energy
48
+
5
49
6
50
compatible : " zephyr,power-state"
7
51
@@ -26,11 +70,30 @@ properties:
26
70
description : |
27
71
Minimum residency duration in microseconds. It is the minimum time for a
28
72
given idle state to be worthwhile energywise. It includes the time to enter
29
- in this state.
73
+ into this state and the time spent in the state before exiting. It represents
74
+ the "break-even" time to justify the time and power spent
75
+ on the work needed for entering the state based on how much actual energy is saved
76
+ once in the state.
77
+ entry-latency-us :
78
+ type : int
79
+ description : |
80
+ Worst case latency in microseconds required to enter the idle state.
81
+ Includes the software latency involved to prepare to enter the low power state.
30
82
exit-latency-us :
31
83
type : int
32
84
description : |
33
85
Worst case latency in microseconds required to exit the idle state.
86
+ wakeup-latency-us : |
87
+ type: int
88
+ description: |
89
+ Maximum delay between the signaling of a wake-up event and the CPU
90
+ being able to execute normal code again. If unspecified, it is assumed
91
+ to be entry-latency-us + exit-latency-us, which would be the worst case.
92
+ But the actual wakeup latency may be lower as the intended meaning
93
+ of this value is actually
94
+ "exit-latency-us + entry-latency-us - 'software prep latency us'"
95
+ because the software prep happening before hardware gets committed
96
+ to the idle state could theoretically be aborted.
34
97
zephyr,pm-device-disabled :
35
98
type : boolean
36
99
description : |
0 commit comments