summaryrefslogtreecommitdiff
path: root/kernel/Kconfig.power_mgmt
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2016-12-17 12:26:40 -0500
committerAnas Nashif <nashif@linux.intel.com>2016-12-19 19:58:37 +0000
commited116ace6d15bab76ac8ccc0bb5e8b0452f8aa97 (patch)
tree0eec1234d1889e6cefdf6ff6943c610830f0b316 /kernel/Kconfig.power_mgmt
parent666afe5923e409bd2f3ebcd33c26dbcc2dd565b0 (diff)
kernel: kconfig: move power management options out
Change-Id: I5d7068ca7a5793bb3499f2bf2dc1abc4e337313e Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Diffstat (limited to 'kernel/Kconfig.power_mgmt')
-rw-r--r--kernel/Kconfig.power_mgmt89
1 files changed, 89 insertions, 0 deletions
diff --git a/kernel/Kconfig.power_mgmt b/kernel/Kconfig.power_mgmt
new file mode 100644
index 000000000..e9e3005e3
--- /dev/null
+++ b/kernel/Kconfig.power_mgmt
@@ -0,0 +1,89 @@
+#
+# Copyright (c) 2014-2015 Wind River Systems, Inc.
+# Copyright (c) 2016 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+menuconfig SYS_POWER_MANAGEMENT
+ bool
+ prompt "Power management"
+ default n
+ help
+ This option enables the board to implement extra power management
+ policies whenever the kernel becomes idle. The kernel informs the
+ power management subsystem of the number of ticks until the next kernel
+ timer is due to expire.
+
+if SYS_POWER_MANAGEMENT
+config SYS_POWER_LOW_POWER_STATE
+ bool
+ prompt "Low power state"
+ default n
+ depends on SYS_POWER_LOW_POWER_STATE_SUPPORTED
+ help
+ This option enables the kernel to interface with a power manager
+ application. This permits the system to enter a custom CPU low power
+ state when the kernel becomes idle. The low power state could be any of
+ the CPU low power states supported by the processor. Generally the one
+ saving most power.
+
+config SYS_POWER_DEEP_SLEEP
+ bool
+ prompt "Deep sleep state"
+ default n
+ depends on SYS_POWER_DEEP_SLEEP_SUPPORTED
+ help
+ This option enables the kernel to interface with a power manager
+ application. This permits the system to enter a Deep sleep state
+ supported by the SOC where the system clock is turned off while RAM is
+ retained. This state would be entered when the kernel becomes idle for
+ extended periods and would have a high wake latency. Resume would be
+ from the reset vector same as cold boot. The interface allows
+ restoration of states that were saved at the time of suspend.
+
+config DEVICE_POWER_MANAGEMENT
+ bool
+ prompt "Device power management"
+ default n
+ help
+ This option enables the device power management interface. The
+ interface consists of hook functions implemented by device drivers
+ that get called by the power manager application when the system
+ is going to suspend state or resuming from suspend state. This allows
+ device drivers to do any necessary power management operations
+ like turning off device clocks and peripherals. The device drivers
+ may also save and restore states in these hook functions.
+
+config TICKLESS_IDLE
+ bool
+ prompt "Tickless idle"
+ default y if TICKLESS_IDLE_SUPPORTED
+ help
+ This option suppresses periodic system clock interrupts whenever the
+ kernel becomes idle. This permits the system to remain in a power
+ saving state for extended periods without having to wake up to
+ service each tick as it occurs.
+
+config TICKLESS_IDLE_THRESH
+ int
+ prompt "Tickless idle threshold"
+ default 3
+ depends on TICKLESS_IDLE
+ help
+ This option enables clock interrupt suppression when the kernel idles
+ for only a short period of time. It specifies the minimum number of
+ ticks that must occur before the next kernel timer expires in order
+ for suppression to happen.
+
+endif