.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # ARM CPU Idle drivers |
---|
3 | 4 | # |
---|
4 | 5 | config ARM_CPUIDLE |
---|
5 | | - bool "Generic ARM/ARM64 CPU idle Driver" |
---|
6 | | - select DT_IDLE_STATES |
---|
| 6 | + bool "Generic ARM/ARM64 CPU idle Driver" |
---|
| 7 | + select DT_IDLE_STATES |
---|
7 | 8 | select CPU_IDLE_MULTIPLE_DRIVERS |
---|
8 | | - help |
---|
9 | | - Select this to enable generic cpuidle driver for ARM. |
---|
10 | | - It provides a generic idle driver whose idle states are configured |
---|
11 | | - at run-time through DT nodes. The CPUidle suspend backend is |
---|
12 | | - initialized by calling the CPU operations init idle hook |
---|
13 | | - provided by architecture code. |
---|
| 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_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. |
---|
14 | 35 | |
---|
15 | 36 | config ARM_BIG_LITTLE_CPUIDLE |
---|
16 | 37 | bool "Support for ARM big.LITTLE processors" |
---|
17 | | - depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS |
---|
| 38 | + depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS || COMPILE_TEST |
---|
18 | 39 | depends on MCPM && !ARM64 |
---|
19 | 40 | select ARM_CPU_SUSPEND |
---|
20 | 41 | select CPU_IDLE_MULTIPLE_DRIVERS |
---|
.. | .. |
---|
40 | 61 | |
---|
41 | 62 | config ARM_KIRKWOOD_CPUIDLE |
---|
42 | 63 | bool "CPU Idle Driver for Marvell Kirkwood SoCs" |
---|
43 | | - depends on MACH_KIRKWOOD && !ARM64 |
---|
| 64 | + depends on (MACH_KIRKWOOD || COMPILE_TEST) && !ARM64 |
---|
44 | 65 | help |
---|
45 | 66 | This adds the CPU Idle driver for Marvell Kirkwood SoCs. |
---|
46 | 67 | |
---|
47 | 68 | config ARM_ZYNQ_CPUIDLE |
---|
48 | 69 | bool "CPU Idle Driver for Xilinx Zynq processors" |
---|
49 | | - depends on ARCH_ZYNQ && !ARM64 |
---|
| 70 | + depends on (ARCH_ZYNQ || COMPILE_TEST) && !ARM64 |
---|
50 | 71 | help |
---|
51 | 72 | Select this to enable cpuidle on Xilinx Zynq processors. |
---|
52 | 73 | |
---|
.. | .. |
---|
54 | 75 | bool "Cpu Idle Driver for the ST-E u8500 processors" |
---|
55 | 76 | depends on ARCH_U8500 && !ARM64 |
---|
56 | 77 | help |
---|
57 | | - Select this to enable cpuidle for ST-E u8500 processors |
---|
| 78 | + Select this to enable cpuidle for ST-E u8500 processors. |
---|
58 | 79 | |
---|
59 | 80 | config ARM_AT91_CPUIDLE |
---|
60 | 81 | bool "Cpu Idle Driver for the AT91 processors" |
---|
61 | 82 | default y |
---|
62 | | - depends on ARCH_AT91 && !ARM64 |
---|
| 83 | + depends on (ARCH_AT91 || COMPILE_TEST) && !ARM64 |
---|
63 | 84 | help |
---|
64 | | - Select this to enable cpuidle for AT91 processors |
---|
| 85 | + Select this to enable cpuidle for AT91 processors. |
---|
65 | 86 | |
---|
66 | 87 | config ARM_EXYNOS_CPUIDLE |
---|
67 | 88 | bool "Cpu Idle Driver for the Exynos processors" |
---|
68 | | - depends on ARCH_EXYNOS && !ARM64 |
---|
| 89 | + depends on (ARCH_EXYNOS || COMPILE_TEST) && !ARM64 |
---|
69 | 90 | select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP |
---|
70 | 91 | help |
---|
71 | | - Select this to enable cpuidle for Exynos processors |
---|
| 92 | + Select this to enable cpuidle for Exynos processors. |
---|
72 | 93 | |
---|
73 | 94 | config ARM_MVEBU_V7_CPUIDLE |
---|
74 | 95 | bool "CPU Idle Driver for mvebu v7 family processors" |
---|
75 | | - depends on ARCH_MVEBU && !ARM64 |
---|
| 96 | + depends on (ARCH_MVEBU || COMPILE_TEST) && !ARM64 |
---|
76 | 97 | help |
---|
77 | 98 | Select this to enable cpuidle on Armada 370, 38x and XP processors. |
---|
| 99 | + |
---|
| 100 | +config ARM_TEGRA_CPUIDLE |
---|
| 101 | + bool "CPU Idle Driver for NVIDIA Tegra SoCs" |
---|
| 102 | + depends on ARCH_TEGRA && !ARM64 |
---|
| 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. |
---|
| 107 | + |
---|
| 108 | +config ARM_QCOM_SPM_CPUIDLE |
---|
| 109 | + bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)" |
---|
| 110 | + depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU |
---|
| 111 | + select ARM_CPU_SUSPEND |
---|
| 112 | + select CPU_IDLE_MULTIPLE_DRIVERS |
---|
| 113 | + select DT_IDLE_STATES |
---|
| 114 | + select QCOM_SCM |
---|
| 115 | + help |
---|
| 116 | + Select this to enable cpuidle for Qualcomm processors. |
---|
| 117 | + The Subsystem Power Manager (SPM) controls low power modes for the |
---|
| 118 | + CPU and L2 cores. It interface with various system drivers to put |
---|
| 119 | + the cores in low power modes. |
---|