Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / cpuidle / Kconfig.arm
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # ARM CPU Idle drivers
4 #
5 config ARM_CPUIDLE
6         bool "Generic ARM/ARM64 CPU idle Driver"
7         select DT_IDLE_STATES
8         select CPU_IDLE_MULTIPLE_DRIVERS
9         help
10           Select this to enable generic cpuidle driver for ARM.
11           It provides a generic idle driver whose idle states are configured
12           at run-time through DT nodes. The CPUidle suspend backend is
13           initialized by calling the CPU operations init idle hook
14           provided by architecture code.
15
16 config ARM_PSCI_CPUIDLE
17         bool "PSCI CPU idle Driver"
18         depends on ARM_PSCI_FW
19         select DT_IDLE_STATES
20         select CPU_IDLE_MULTIPLE_DRIVERS
21         help
22           Select this to enable PSCI firmware based CPUidle driver for ARM.
23           It provides an idle driver that is capable of detecting and
24           managing idle states through the PSCI firmware interface.
25
26 config ARM_BIG_LITTLE_CPUIDLE
27         bool "Support for ARM big.LITTLE processors"
28         depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
29         depends on MCPM && !ARM64
30         select ARM_CPU_SUSPEND
31         select CPU_IDLE_MULTIPLE_DRIVERS
32         select DT_IDLE_STATES
33         help
34           Select this option to enable CPU idle driver for big.LITTLE based
35           ARM systems. Driver manages CPUs coordination through MCPM and
36           define different C-states for little and big cores through the
37           multiple CPU idle drivers infrastructure.
38
39 config ARM_CLPS711X_CPUIDLE
40         bool "CPU Idle Driver for CLPS711X processors"
41         depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST
42         help
43           Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs.
44
45 config ARM_HIGHBANK_CPUIDLE
46         bool "CPU Idle Driver for Calxeda processors"
47         depends on ARM_PSCI && !ARM64
48         select ARM_CPU_SUSPEND
49         help
50           Select this to enable cpuidle on Calxeda processors.
51
52 config ARM_KIRKWOOD_CPUIDLE
53         bool "CPU Idle Driver for Marvell Kirkwood SoCs"
54         depends on MACH_KIRKWOOD && !ARM64
55         help
56           This adds the CPU Idle driver for Marvell Kirkwood SoCs.
57
58 config ARM_ZYNQ_CPUIDLE
59         bool "CPU Idle Driver for Xilinx Zynq processors"
60         depends on ARCH_ZYNQ && !ARM64
61         help
62           Select this to enable cpuidle on Xilinx Zynq processors.
63
64 config ARM_U8500_CPUIDLE
65         bool "Cpu Idle Driver for the ST-E u8500 processors"
66         depends on ARCH_U8500 && !ARM64
67         help
68           Select this to enable cpuidle for ST-E u8500 processors
69
70 config ARM_AT91_CPUIDLE
71         bool "Cpu Idle Driver for the AT91 processors"
72         default y
73         depends on ARCH_AT91 && !ARM64
74         help
75           Select this to enable cpuidle for AT91 processors
76
77 config ARM_EXYNOS_CPUIDLE
78         bool "Cpu Idle Driver for the Exynos processors"
79         depends on ARCH_EXYNOS && !ARM64
80         select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
81         help
82           Select this to enable cpuidle for Exynos processors
83
84 config ARM_MVEBU_V7_CPUIDLE
85         bool "CPU Idle Driver for mvebu v7 family processors"
86         depends on ARCH_MVEBU && !ARM64
87         help
88           Select this to enable cpuidle on Armada 370, 38x and XP processors.