Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # ARM CPU Idle drivers
0004 #
0005 config ARM_CPUIDLE
0006         bool "Generic ARM CPU idle Driver"
0007         depends on ARM
0008         select DT_IDLE_STATES
0009         select CPU_IDLE_MULTIPLE_DRIVERS
0010         help
0011           Select this to enable generic cpuidle driver for ARM.
0012           It provides a generic idle driver whose idle states are configured
0013           at run-time through DT nodes. The CPUidle suspend backend is
0014           initialized by calling the CPU operations init idle hook
0015           provided by architecture code.
0016 
0017 config ARM_PSCI_CPUIDLE
0018         bool "PSCI CPU idle Driver"
0019         depends on ARM_PSCI_FW
0020         select DT_IDLE_STATES
0021         select CPU_IDLE_MULTIPLE_DRIVERS
0022         help
0023           Select this to enable PSCI firmware based CPUidle driver for ARM.
0024           It provides an idle driver that is capable of detecting and
0025           managing idle states through the PSCI firmware interface.
0026 
0027 config ARM_PSCI_CPUIDLE_DOMAIN
0028         bool "PSCI CPU idle Domain"
0029         depends on ARM_PSCI_CPUIDLE
0030         depends on PM_GENERIC_DOMAINS_OF
0031         select DT_IDLE_GENPD
0032         default y
0033         help
0034           Select this to enable the PSCI based CPUidle driver to use PM domains,
0035           which is needed to support the hierarchical DT based layout of the
0036           idle states.
0037 
0038 config ARM_BIG_LITTLE_CPUIDLE
0039         bool "Support for ARM big.LITTLE processors"
0040         depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS || COMPILE_TEST
0041         depends on MCPM && !ARM64
0042         select ARM_CPU_SUSPEND
0043         select CPU_IDLE_MULTIPLE_DRIVERS
0044         select DT_IDLE_STATES
0045         help
0046           Select this option to enable CPU idle driver for big.LITTLE based
0047           ARM systems. Driver manages CPUs coordination through MCPM and
0048           define different C-states for little and big cores through the
0049           multiple CPU idle drivers infrastructure.
0050 
0051 config ARM_CLPS711X_CPUIDLE
0052         bool "CPU Idle Driver for CLPS711X processors"
0053         depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST
0054         help
0055           Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs.
0056 
0057 config ARM_HIGHBANK_CPUIDLE
0058         bool "CPU Idle Driver for Calxeda processors"
0059         depends on ARM_PSCI && !ARM64
0060         select ARM_CPU_SUSPEND
0061         help
0062           Select this to enable cpuidle on Calxeda processors.
0063 
0064 config ARM_KIRKWOOD_CPUIDLE
0065         bool "CPU Idle Driver for Marvell Kirkwood SoCs"
0066         depends on (MACH_KIRKWOOD || COMPILE_TEST) && !ARM64
0067         help
0068           This adds the CPU Idle driver for Marvell Kirkwood SoCs.
0069 
0070 config ARM_ZYNQ_CPUIDLE
0071         bool "CPU Idle Driver for Xilinx Zynq processors"
0072         depends on (ARCH_ZYNQ || COMPILE_TEST) && !ARM64
0073         help
0074           Select this to enable cpuidle on Xilinx Zynq processors.
0075 
0076 config ARM_U8500_CPUIDLE
0077         bool "Cpu Idle Driver for the ST-E u8500 processors"
0078         depends on ARCH_U8500 && !ARM64
0079         help
0080           Select this to enable cpuidle for ST-E u8500 processors.
0081 
0082 config ARM_AT91_CPUIDLE
0083         bool "Cpu Idle Driver for the AT91 processors"
0084         default y
0085         depends on (ARCH_AT91 || COMPILE_TEST) && !ARM64
0086         help
0087           Select this to enable cpuidle for AT91 processors.
0088 
0089 config ARM_EXYNOS_CPUIDLE
0090         bool "Cpu Idle Driver for the Exynos processors"
0091         depends on (ARCH_EXYNOS || COMPILE_TEST) && !ARM64
0092         select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
0093         help
0094           Select this to enable cpuidle for Exynos processors.
0095 
0096 config ARM_MVEBU_V7_CPUIDLE
0097         bool "CPU Idle Driver for mvebu v7 family processors"
0098         depends on (ARCH_MVEBU || COMPILE_TEST) && !ARM64
0099         help
0100           Select this to enable cpuidle on Armada 370, 38x and XP processors.
0101 
0102 config ARM_TEGRA_CPUIDLE
0103         bool "CPU Idle Driver for NVIDIA Tegra SoCs"
0104         depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU
0105         select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
0106         select ARM_CPU_SUSPEND
0107         help
0108           Select this to enable cpuidle for NVIDIA Tegra20/30/114/124 SoCs.
0109 
0110 config ARM_QCOM_SPM_CPUIDLE
0111         bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)"
0112         depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU
0113         select ARM_CPU_SUSPEND
0114         select CPU_IDLE_MULTIPLE_DRIVERS
0115         select DT_IDLE_STATES
0116         select QCOM_SCM
0117         select QCOM_SPM
0118         help
0119           Select this to enable cpuidle for Qualcomm processors.
0120           The Subsystem Power Manager (SPM) controls low power modes for the
0121           CPU and L2 cores. It interface with various system drivers to put
0122           the cores in low power modes.