blob: 0fcf2a11ae7015e03dc63d6c169a4917b7332ae7 [file] [log] [blame]
menu "CPU Idle"
config CPU_IDLE
bool "CPU idle PM support"
default y if ACPI || PPC_PSERIES
select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE)
select CPU_IDLE_GOV_MTK_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_NO_MTK
help
CPU idle is a generic framework for supporting software-controlled
idle processor power management. It includes modular cross-platform
governors that can be swapped during runtime.
If you're using an ACPI-enabled platform, you should say Y here.
if CPU_IDLE
config CPU_IDLE_MULTIPLE_DRIVERS
bool
config CPU_IDLE_GOV_LADDER
bool "Ladder governor (for periodic timer tick)"
config CPU_IDLE_GOV_MENU
bool "Menu governor (for tickless system)"
config CPU_IDLE_GOV_MTK
bool "MTK governor (for MediaTek SoCs)"
help
MTK governor is used for MTK SoCs to select the correct idle state,
which applies system scenario-based policy.
MTK governor is specified for MTK SoCs.
MTK CPUidle drivers should be paired with MTK governer.
config CPU_IDLE_GOV_MTK_MENU
bool "MTK menu governor (for MediaTek SoCs)"
help
MTK menu governor is based on upstream menu governor,
and modify predict_us policy to fit
execution characteristics of MTK SoCs.
MTK menu can be substituted for upstream menu governor
config CPU_IDLE_NO_MTK
bool "Disable MTK related cpuidle driver / governor"
help
MTK added many proprietary cpuidle drivers and governors.
And some of them set to be default for all projects.
But not all (MTK) projects use these driver.
Set this option to avoid using MTK driver / gorvernor by default.
config DT_IDLE_STATES
bool
menu "ARM CPU Idle Drivers"
depends on ARM || ARM64
source "drivers/cpuidle/Kconfig.arm"
endmenu
menu "MIPS CPU Idle Drivers"
depends on MIPS
source "drivers/cpuidle/Kconfig.mips"
endmenu
menu "POWERPC CPU Idle Drivers"
depends on PPC
source "drivers/cpuidle/Kconfig.powerpc"
endmenu
endif
config ARCH_NEEDS_CPU_IDLE_COUPLED
def_bool n
endmenu