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