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