diff options
author | Anas Nashif <anas.nashif@intel.com> | 2016-12-17 12:26:40 -0500 |
---|---|---|
committer | Anas Nashif <nashif@linux.intel.com> | 2016-12-19 19:58:37 +0000 |
commit | ed116ace6d15bab76ac8ccc0bb5e8b0452f8aa97 (patch) | |
tree | 0eec1234d1889e6cefdf6ff6943c610830f0b316 /kernel/Kconfig.power_mgmt | |
parent | 666afe5923e409bd2f3ebcd33c26dbcc2dd565b0 (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_mgmt | 89 |
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 |