| # Copyright (c) 2014-2015 Wind River Systems, Inc. |
| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menu "Power Management" |
| |
| config SYS_POWER_MANAGEMENT |
| bool "System Power management" |
| select PM |
| help |
| This option is deprecated. Please use CONFIG_PM instead. |
| |
| menuconfig PM |
| bool "System Power management" |
| select TICKLESS_IDLE |
| 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 PM |
| config PM_SLEEP_STATES |
| bool "Low Power states" |
| depends on HAS_POWER_STATE_SLEEP_1 || \ |
| HAS_POWER_STATE_SLEEP_2 || \ |
| HAS_POWER_STATE_SLEEP_3 |
| 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 PM_DEEP_SLEEP_STATES |
| bool "Deep Sleep states" |
| depends on HAS_POWER_STATE_DEEP_SLEEP_1 || \ |
| HAS_POWER_STATE_DEEP_SLEEP_2 || \ |
| HAS_POWER_STATE_DEEP_SLEEP_3 |
| 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 PM_STATE_LOCK |
| bool "Enable Power State locking capability" |
| help |
| Enable Power Management system state locking capability |
| if any application wants to temporarily disable certain |
| Power States while doing any critical work or needs quick |
| response from hardware resources. |
| |
| config PM_DIRECT_FORCE_MODE |
| bool "Enable system power management direct force trigger mode" |
| help |
| Enable system power management direct force trigger mode. In |
| this mode application thread can directly put system in sleep |
| or deep sleep mode instead of waiting for idle thread to do |
| it, so that it can reduce latency to enter low power mode. |
| |
| config PM_DEBUG |
| bool "Enable System Power Management debug hooks" |
| help |
| Enable System Power Management debugging hooks. |
| |
| config PM_DEVICE_IDLE |
| bool "Enable device Idle Power Management" |
| depends on PM_DEVICE |
| select POLL |
| help |
| Enable device Idle Power Management to save power. |
| With device Idle PM enabled, devices can be suspended or |
| resumed based on the device usage even while the CPU or |
| system is running. |
| |
| source "subsys/power/policy/Kconfig" |
| |
| module = PM |
| module-str = System Power Management |
| source "subsys/logging/Kconfig.template.log_config" |
| |
| |
| endif # PM |
| |
| config PM_DEVICE |
| bool "Device power management" |
| 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 DEVICE_POWER_MANAGEMENT |
| bool "Device Power Management" |
| select PM_DEVICE |
| help |
| This option is deprecated, please use CONFIG_PM_DEVICE instead. |
| |
| config PM_MAX_DEVICES |
| int "Max number of devices support power management" |
| depends on PM_DEVICE |
| default 15 |
| |
| endmenu |
| |
| |
| # |
| # Hidden PM feature configs which are to be selected by |
| # individual SoC. |
| # |
| |
| config HAS_POWER_STATE_SLEEP_1 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_SLEEP_1 |
| configuration option. |
| |
| config HAS_POWER_STATE_SLEEP_2 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_SLEEP_2 |
| configuration option. |
| |
| config HAS_POWER_STATE_SLEEP_3 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_SLEEP_3 |
| configuration option. |
| |
| config HAS_POWER_STATE_DEEP_SLEEP_1 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_DEEP_SLEEP_1 |
| configuration option. |
| |
| config HAS_POWER_STATE_DEEP_SLEEP_2 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_DEEP_SLEEP_2 |
| configuration option. |
| |
| config HAS_POWER_STATE_DEEP_SLEEP_3 |
| bool |
| help |
| This option signifies that the target supports the POWER_STATE_DEEP_SLEEP_3 |
| configuration option. |