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)
	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 "Support multiple cpuidle drivers"
        depends on CPU_IDLE
        default n
        help
         Allows the cpuidle framework to use different drivers for each CPU.
         This is useful if you have a system with different CPU latencies and
         states. If unsure say N.

config CPU_IDLE_TRIPPLE_DRIVERS
        bool "Support tripple cpuidle drivers"
        depends on CPU_IDLE_MULTIPLE_DRIVERS
        default n
        help
         Allows the cpuidle framework to use different drivers for three clusters.
		 If unsure say N.

config HISI_IDLE_SLEEP
        bool "Support cpu idlesleep vote"
        depends on CPU_IDLE_MULTIPLE_DRIVERS
        default n
        help
         Only used for s1 state(32k).

config CPU_IDLE_GOV_LADDER
	bool "Ladder governor (for periodic timer tick)"

config CPU_IDLE_GOV_MENU
	bool "Menu governor (for tickless system)"

config DT_IDLE_STATES
	bool

config HISI_CPUIDLE_MENU_GOV_HIST
	bool "Support C-state reselect with history record"
	depends on CPU_IDLE_GOV_MENU
	default n
	help
	  Allows the cpuidle C-state reselect with history record.
	  If unsure say N.

config HISI_CPUIDLE_LITTLE_SKIP_CORRECTION
	bool "Little cpu predict time skip correction"
	depends on HISI_CPUIDLE_MENU_GOV_HIST
	default n
	help
	  Allows little cpu predict time skip correction
	  If unsure say N.

config HISI_CPUIDLE_SKIP_ALL_CORE_DOWN
	bool "Last little cpu core down to wfi"
	depends on CPU_IDLE_GOV_MENU
	default n
	help
	  Allows the last little cpu core down to wfi
	  If unsure say N.

config HISI_CPUIDLE_LP_MODE
        bool "Support C-state reselect with lowpower mode"
        depends on CPU_IDLE
        default n
        help
         Allows the cpuidle C-state reselect with lowpower mode.
         If unsure say N.

config HISI_CPUIDLE_SKIP_DEEP_CSTATE
        bool "Support to select non-deepest C-state after select deepest continually."
        depends on CPU_IDLE
        default n
        help
         Allows the cpuidle C-state reselect after select deepest C-state continually.
         If unsure say N.

menu "ARM CPU Idle Drivers"
depends on ARM || ARM64
source "drivers/cpuidle/Kconfig.arm"
endmenu

menu "ARM64 CPU Idle Drivers"
depends on 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
