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 | ||
03175619 UH |
26 | config ARM_PSCI_CPUIDLE_DOMAIN |
27 | bool "PSCI CPU idle Domain" | |
28 | depends on ARM_PSCI_CPUIDLE | |
29 | depends on PM_GENERIC_DOMAINS_OF | |
30 | default y | |
31 | help | |
32 | Select this to enable the PSCI based CPUidle driver to use PM domains, | |
33 | which is needed to support the hierarchical DT based layout of the | |
34 | idle states. | |
35 | ||
3880d214 LP |
36 | config ARM_BIG_LITTLE_CPUIDLE |
37 | bool "Support for ARM big.LITTLE processors" | |
53eb82b0 | 38 | depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS || COMPILE_TEST |
0e087044 | 39 | depends on MCPM && !ARM64 |
3880d214 LP |
40 | select ARM_CPU_SUSPEND |
41 | select CPU_IDLE_MULTIPLE_DRIVERS | |
d2e5c871 | 42 | select DT_IDLE_STATES |
3880d214 LP |
43 | help |
44 | Select this option to enable CPU idle driver for big.LITTLE based | |
45 | ARM systems. Driver manages CPUs coordination through MCPM and | |
46 | define different C-states for little and big cores through the | |
47 | multiple CPU idle drivers infrastructure. | |
48 | ||
7c7f8f7f AS |
49 | config ARM_CLPS711X_CPUIDLE |
50 | bool "CPU Idle Driver for CLPS711X processors" | |
0e087044 | 51 | depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST |
7c7f8f7f AS |
52 | help |
53 | Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs. | |
54 | ||
b98e01ad S |
55 | config ARM_HIGHBANK_CPUIDLE |
56 | bool "CPU Idle Driver for Calxeda processors" | |
0e087044 | 57 | depends on ARM_PSCI && !ARM64 |
b98e01ad S |
58 | select ARM_CPU_SUSPEND |
59 | help | |
60 | Select this to enable cpuidle on Calxeda processors. | |
61 | ||
62 | config ARM_KIRKWOOD_CPUIDLE | |
63 | bool "CPU Idle Driver for Marvell Kirkwood SoCs" | |
53eb82b0 | 64 | depends on (MACH_KIRKWOOD || COMPILE_TEST) && !ARM64 |
b98e01ad S |
65 | help |
66 | This adds the CPU Idle driver for Marvell Kirkwood SoCs. | |
67 | ||
68 | config ARM_ZYNQ_CPUIDLE | |
69 | bool "CPU Idle Driver for Xilinx Zynq processors" | |
53eb82b0 | 70 | depends on (ARCH_ZYNQ || COMPILE_TEST) && !ARM64 |
b98e01ad | 71 | help |
d3f2950f DL |
72 | Select this to enable cpuidle on Xilinx Zynq processors. |
73 | ||
74 | config ARM_U8500_CPUIDLE | |
75 | bool "Cpu Idle Driver for the ST-E u8500 processors" | |
0e087044 | 76 | depends on ARCH_U8500 && !ARM64 |
d3f2950f | 77 | help |
4d30d4a0 | 78 | Select this to enable cpuidle for ST-E u8500 processors. |
d3f2950f | 79 | |
1ce3c48e DL |
80 | config ARM_AT91_CPUIDLE |
81 | bool "Cpu Idle Driver for the AT91 processors" | |
82 | default y | |
53eb82b0 | 83 | depends on (ARCH_AT91 || COMPILE_TEST) && !ARM64 |
a35c6322 | 84 | help |
4d30d4a0 | 85 | Select this to enable cpuidle for AT91 processors. |
ff6a9c03 DL |
86 | |
87 | config ARM_EXYNOS_CPUIDLE | |
88 | bool "Cpu Idle Driver for the Exynos processors" | |
53eb82b0 | 89 | depends on (ARCH_EXYNOS || COMPILE_TEST) && !ARM64 |
712eddf7 | 90 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP |
ff6a9c03 | 91 | help |
4d30d4a0 | 92 | Select this to enable cpuidle for Exynos processors. |
f50ee824 GC |
93 | |
94 | config ARM_MVEBU_V7_CPUIDLE | |
95 | bool "CPU Idle Driver for mvebu v7 family processors" | |
53eb82b0 | 96 | depends on (ARCH_MVEBU || COMPILE_TEST) && !ARM64 |
f50ee824 GC |
97 | help |
98 | Select this to enable cpuidle on Armada 370, 38x and XP processors. | |
860fbde4 DO |
99 | |
100 | config ARM_TEGRA_CPUIDLE | |
101 | bool "CPU Idle Driver for NVIDIA Tegra SoCs" | |
faae6c9f | 102 | depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU |
860fbde4 DO |
103 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP |
104 | select ARM_CPU_SUSPEND | |
105 | help | |
106 | Select this to enable cpuidle for NVIDIA Tegra20/30/114/124 SoCs. | |
a871be6b SG |
107 | |
108 | config ARM_QCOM_SPM_CPUIDLE | |
109 | bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)" | |
498ba2a8 | 110 | depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU |
a871be6b SG |
111 | select ARM_CPU_SUSPEND |
112 | select CPU_IDLE_MULTIPLE_DRIVERS | |
113 | select DT_IDLE_STATES | |
114 | select QCOM_SCM | |
60f3692b | 115 | select QCOM_SPM |
a871be6b SG |
116 | help |
117 | Select this to enable cpuidle for Qualcomm processors. | |
118 | The Subsystem Power Manager (SPM) controls low power modes for the | |
119 | CPU and L2 cores. It interface with various system drivers to put | |
120 | the cores in low power modes. |