2020-08-23 00:58:49 +08:00
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
|
|
# Copyright (c) 2016 Intel Corporation
|
2019-04-06 21:08:09 +08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2020-08-23 00:58:49 +08:00
|
|
|
menu "Power Management"
|
|
|
|
|
|
|
|
menuconfig SYS_POWER_MANAGEMENT
|
|
|
|
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 SYS_POWER_MANAGEMENT
|
|
|
|
config SYS_POWER_SLEEP_STATES
|
|
|
|
bool "Low Power states"
|
|
|
|
depends on HAS_SYS_POWER_STATE_SLEEP_1 || \
|
|
|
|
HAS_SYS_POWER_STATE_SLEEP_2 || \
|
|
|
|
HAS_SYS_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 SYS_POWER_DEEP_SLEEP_STATES
|
|
|
|
bool "Deep Sleep states"
|
|
|
|
depends on HAS_SYS_POWER_STATE_DEEP_SLEEP_1 || \
|
|
|
|
HAS_SYS_POWER_STATE_DEEP_SLEEP_2 || \
|
|
|
|
HAS_SYS_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.
|
|
|
|
|
|
|
|
|
2019-02-04 22:05:23 +08:00
|
|
|
config SYS_PM_STATE_LOCK
|
|
|
|
bool "Enable Power State locking capability"
|
2018-11-05 18:06:04 +08:00
|
|
|
help
|
2019-02-04 22:05:23 +08:00
|
|
|
Enable Power Management system state locking capability
|
2018-11-05 18:06:04 +08:00
|
|
|
if any application wants to temporarily disable certain
|
2019-01-11 17:53:57 +08:00
|
|
|
Power States while doing any critical work or needs quick
|
|
|
|
response from hardware resources.
|
2018-11-05 18:06:04 +08:00
|
|
|
|
2020-01-22 16:36:21 +08:00
|
|
|
config SYS_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.
|
|
|
|
|
2019-02-04 22:05:23 +08:00
|
|
|
config SYS_PM_DEBUG
|
|
|
|
bool "Enable System Power Management debug hooks"
|
2018-10-24 16:24:20 +08:00
|
|
|
help
|
2019-02-04 22:05:23 +08:00
|
|
|
Enable System Power Management debugging hooks.
|
2018-10-24 16:24:20 +08:00
|
|
|
|
2019-02-28 15:37:58 +08:00
|
|
|
config DEVICE_IDLE_PM
|
|
|
|
bool "Enable device Idle Power Management"
|
|
|
|
depends on DEVICE_POWER_MANAGEMENT
|
|
|
|
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.
|
|
|
|
|
2019-02-04 22:05:23 +08:00
|
|
|
source "subsys/power/policy/Kconfig"
|
2018-09-25 20:58:27 +08:00
|
|
|
|
2019-02-04 22:05:23 +08:00
|
|
|
module = SYS_PM
|
|
|
|
module-str = System Power Management
|
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
2020-08-23 00:58:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
endif # SYS_POWER_MANAGEMENT
|
|
|
|
|
|
|
|
config DEVICE_POWER_MANAGEMENT
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
endmenu
|