blob: a224d33dda7f27f0fa248c295cb7e11b1f6fbd74 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Saharab98e01a2013-07-03 17:49:55 +09002#
3# ARM CPU Idle drivers
4#
Daniel Lezcano0e087042015-02-02 16:32:46 +01005config ARM_CPUIDLE
Krzysztof Kozlowski656b4e62019-11-21 04:19:12 +01006 bool "Generic ARM/ARM64 CPU idle Driver"
7 select DT_IDLE_STATES
Daniel Lezcanod50a7d82017-06-12 17:55:10 +02008 select CPU_IDLE_MULTIPLE_DRIVERS
Krzysztof Kozlowski656b4e62019-11-21 04:19:12 +01009 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.
Daniel Lezcano0e087042015-02-02 16:32:46 +010015
Lorenzo Pieralisi81d549e2019-08-09 12:03:10 +010016config ARM_PSCI_CPUIDLE
Lorenzo Pieralisi78896142019-08-09 12:03:11 +010017 bool "PSCI CPU idle Driver"
Lorenzo Pieralisi81d549e2019-08-09 12:03:10 +010018 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
Lorenzo Pieralisi3880d212013-09-13 16:38:41 +010026config ARM_BIG_LITTLE_CPUIDLE
27 bool "Support for ARM big.LITTLE processors"
Chander Kashyap2aaafcd2014-07-05 06:24:35 +090028 depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
Daniel Lezcano0e087042015-02-02 16:32:46 +010029 depends on MCPM && !ARM64
Lorenzo Pieralisi3880d212013-09-13 16:38:41 +010030 select ARM_CPU_SUSPEND
31 select CPU_IDLE_MULTIPLE_DRIVERS
Lorenzo Pieralisid2e5c872014-06-24 16:20:28 +010032 select DT_IDLE_STATES
Lorenzo Pieralisi3880d212013-09-13 16:38:41 +010033 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
Alexander Shiyan7c7f8f72014-03-22 09:44:35 +040039config ARM_CLPS711X_CPUIDLE
40 bool "CPU Idle Driver for CLPS711X processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010041 depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST
Alexander Shiyan7c7f8f72014-03-22 09:44:35 +040042 help
43 Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs.
44
Saharab98e01a2013-07-03 17:49:55 +090045config ARM_HIGHBANK_CPUIDLE
46 bool "CPU Idle Driver for Calxeda processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010047 depends on ARM_PSCI && !ARM64
Saharab98e01a2013-07-03 17:49:55 +090048 select ARM_CPU_SUSPEND
49 help
50 Select this to enable cpuidle on Calxeda processors.
51
52config ARM_KIRKWOOD_CPUIDLE
53 bool "CPU Idle Driver for Marvell Kirkwood SoCs"
Daniel Lezcano0e087042015-02-02 16:32:46 +010054 depends on MACH_KIRKWOOD && !ARM64
Saharab98e01a2013-07-03 17:49:55 +090055 help
56 This adds the CPU Idle driver for Marvell Kirkwood SoCs.
57
58config ARM_ZYNQ_CPUIDLE
59 bool "CPU Idle Driver for Xilinx Zynq processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010060 depends on ARCH_ZYNQ && !ARM64
Saharab98e01a2013-07-03 17:49:55 +090061 help
Daniel Lezcanod3f29502013-07-10 16:02:04 +020062 Select this to enable cpuidle on Xilinx Zynq processors.
63
64config ARM_U8500_CPUIDLE
65 bool "Cpu Idle Driver for the ST-E u8500 processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010066 depends on ARCH_U8500 && !ARM64
Daniel Lezcanod3f29502013-07-10 16:02:04 +020067 help
Randy Dunlap4d30d4a2019-11-28 14:38:03 -080068 Select this to enable cpuidle for ST-E u8500 processors.
Daniel Lezcanod3f29502013-07-10 16:02:04 +020069
Daniel Lezcano1ce3c482013-09-26 17:34:24 +020070config ARM_AT91_CPUIDLE
71 bool "Cpu Idle Driver for the AT91 processors"
72 default y
Daniel Lezcano0e087042015-02-02 16:32:46 +010073 depends on ARCH_AT91 && !ARM64
Linus Torvaldsa35c6322013-09-09 16:08:13 -070074 help
Randy Dunlap4d30d4a2019-11-28 14:38:03 -080075 Select this to enable cpuidle for AT91 processors.
Daniel Lezcanoff6a9c02014-05-09 06:57:35 +090076
77config ARM_EXYNOS_CPUIDLE
78 bool "Cpu Idle Driver for the Exynos processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010079 depends on ARCH_EXYNOS && !ARM64
Bartlomiej Zolnierkiewicz712eddf72015-01-24 14:05:50 +090080 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
Daniel Lezcanoff6a9c02014-05-09 06:57:35 +090081 help
Randy Dunlap4d30d4a2019-11-28 14:38:03 -080082 Select this to enable cpuidle for Exynos processors.
Gregory CLEMENTf50ee822014-07-23 15:00:48 +020083
84config ARM_MVEBU_V7_CPUIDLE
85 bool "CPU Idle Driver for mvebu v7 family processors"
Daniel Lezcano0e087042015-02-02 16:32:46 +010086 depends on ARCH_MVEBU && !ARM64
Gregory CLEMENTf50ee822014-07-23 15:00:48 +020087 help
88 Select this to enable cpuidle on Armada 370, 38x and XP processors.