Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
b98e01ad S |
2 | # |
3 | # ARM CPU Idle drivers | |
4 | # | |
0e087044 | 5 | config ARM_CPUIDLE |
656b4e63 KK |
6 | bool "Generic ARM/ARM64 CPU idle Driver" |
7 | select DT_IDLE_STATES | |
d50a7d8a | 8 | select CPU_IDLE_MULTIPLE_DRIVERS |
656b4e63 KK |
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. | |
0e087044 | 15 | |
81d549e0 | 16 | config ARM_PSCI_CPUIDLE |
78896146 | 17 | bool "PSCI CPU idle Driver" |
81d549e0 LP |
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 | ||
3880d214 LP |
26 | config ARM_BIG_LITTLE_CPUIDLE |
27 | bool "Support for ARM big.LITTLE processors" | |
2aaafcdb | 28 | depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS |
0e087044 | 29 | depends on MCPM && !ARM64 |
3880d214 LP |
30 | select ARM_CPU_SUSPEND |
31 | select CPU_IDLE_MULTIPLE_DRIVERS | |
d2e5c871 | 32 | select DT_IDLE_STATES |
3880d214 LP |
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 | ||
7c7f8f7f AS |
39 | config ARM_CLPS711X_CPUIDLE |
40 | bool "CPU Idle Driver for CLPS711X processors" | |
0e087044 | 41 | depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST |
7c7f8f7f AS |
42 | help |
43 | Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs. | |
44 | ||
b98e01ad S |
45 | config ARM_HIGHBANK_CPUIDLE |
46 | bool "CPU Idle Driver for Calxeda processors" | |
0e087044 | 47 | depends on ARM_PSCI && !ARM64 |
b98e01ad S |
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" | |
0e087044 | 54 | depends on MACH_KIRKWOOD && !ARM64 |
b98e01ad S |
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" | |
0e087044 | 60 | depends on ARCH_ZYNQ && !ARM64 |
b98e01ad | 61 | help |
d3f2950f DL |
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" | |
0e087044 | 66 | depends on ARCH_U8500 && !ARM64 |
d3f2950f | 67 | help |
4d30d4a0 | 68 | Select this to enable cpuidle for ST-E u8500 processors. |
d3f2950f | 69 | |
1ce3c48e DL |
70 | config ARM_AT91_CPUIDLE |
71 | bool "Cpu Idle Driver for the AT91 processors" | |
72 | default y | |
0e087044 | 73 | depends on ARCH_AT91 && !ARM64 |
a35c6322 | 74 | help |
4d30d4a0 | 75 | Select this to enable cpuidle for AT91 processors. |
ff6a9c03 DL |
76 | |
77 | config ARM_EXYNOS_CPUIDLE | |
78 | bool "Cpu Idle Driver for the Exynos processors" | |
0e087044 | 79 | depends on ARCH_EXYNOS && !ARM64 |
712eddf7 | 80 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP |
ff6a9c03 | 81 | help |
4d30d4a0 | 82 | Select this to enable cpuidle for Exynos processors. |
f50ee824 GC |
83 | |
84 | config ARM_MVEBU_V7_CPUIDLE | |
85 | bool "CPU Idle Driver for mvebu v7 family processors" | |
0e087044 | 86 | depends on ARCH_MVEBU && !ARM64 |
f50ee824 GC |
87 | help |
88 | Select this to enable cpuidle on Armada 370, 38x and XP processors. |