| # |
| # 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 |