2016-12-18 01:26:40 +08:00
|
|
|
#
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
|
|
# Copyright (c) 2016 Intel Corporation
|
|
|
|
#
|
2017-01-19 09:01:01 +08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2016-12-18 01:26:40 +08:00
|
|
|
#
|
|
|
|
|
|
|
|
menuconfig SYS_POWER_MANAGEMENT
|
2018-08-14 22:19:20 +08:00
|
|
|
bool "Power management"
|
2018-11-14 17:14:35 +08:00
|
|
|
select TICKLESS_IDLE
|
2016-12-18 01:26:40 +08:00
|
|
|
help
|
2018-02-15 21:36:16 +08:00
|
|
|
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.
|
2016-12-18 01:26:40 +08:00
|
|
|
|
|
|
|
if SYS_POWER_MANAGEMENT
|
2018-08-16 13:09:40 +08:00
|
|
|
choice POWER_MANAGEMENT_CONTROL
|
|
|
|
prompt "Power Management Control"
|
|
|
|
default PM_CONTROL_APP
|
|
|
|
help
|
|
|
|
Select the Application managed or OS managed power saving
|
|
|
|
mechanism.
|
|
|
|
|
|
|
|
config PM_CONTROL_APP
|
|
|
|
bool
|
|
|
|
prompt "Handled at Application level"
|
|
|
|
help
|
2018-08-29 00:43:47 +08:00
|
|
|
This option enables the Application to handle all the Power
|
2018-08-16 13:09:40 +08:00
|
|
|
Management flows for the platform.
|
|
|
|
|
|
|
|
config PM_CONTROL_OS
|
|
|
|
bool
|
|
|
|
prompt "Handle at OS level"
|
|
|
|
help
|
|
|
|
This option allows the OS to handle all the Power
|
|
|
|
Management flows for the platform.
|
|
|
|
|
|
|
|
endchoice # POWER_MANAGEMENT_CONTROL
|
|
|
|
|
2016-12-18 01:26:40 +08:00
|
|
|
config SYS_POWER_LOW_POWER_STATE
|
2018-08-14 22:19:20 +08:00
|
|
|
bool "Low power state"
|
2016-12-18 01:26:40 +08:00
|
|
|
depends on SYS_POWER_LOW_POWER_STATE_SUPPORTED
|
|
|
|
help
|
2018-02-15 21:36:16 +08:00
|
|
|
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.
|
2016-12-18 01:26:40 +08:00
|
|
|
|
|
|
|
config SYS_POWER_DEEP_SLEEP
|
2018-08-14 22:19:20 +08:00
|
|
|
bool "Deep sleep state"
|
2016-12-18 01:26:40 +08:00
|
|
|
depends on SYS_POWER_DEEP_SLEEP_SUPPORTED
|
|
|
|
help
|
2018-02-15 21:36:16 +08:00
|
|
|
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.
|
2016-12-18 01:26:40 +08:00
|
|
|
|
2018-11-14 17:14:35 +08:00
|
|
|
endif # SYS_POWER_MANAGEMENT
|
|
|
|
|
2016-12-18 01:26:40 +08:00
|
|
|
config DEVICE_POWER_MANAGEMENT
|
2018-08-14 22:19:20 +08:00
|
|
|
bool "Device power management"
|
2016-12-18 01:26:40 +08:00
|
|
|
help
|
2018-02-15 21:36:16 +08:00
|
|
|
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.
|