blob: d89b8afe23b6956b6c48e19c87cecc081e7725a1 [file] [log] [blame]
Kukjin Kimf7d77072011-06-01 14:18:22 -07001#
2# ARM CPU Frequency scaling drivers
3#
4
viresh kumar3b84d582014-03-14 12:10:54 +05305# big LITTLE core layer and glue drivers
Viresh Kumar8a67f0e2013-04-01 12:57:49 +00006config ARM_BIG_LITTLE_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +05307 tristate "Generic ARM big LITTLE CPUfreq driver"
Sudeep Holla14730142015-05-13 13:35:52 +01008 depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
Punit Agrawal2f7e8a12015-11-17 12:06:23 +00009 # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
10 depends on !CPU_THERMAL || THERMAL
Mark Brown109df082013-12-11 22:12:27 +000011 select PM_OPP
Viresh Kumar99af7712013-05-04 12:03:54 +053012 help
13 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000014
15config ARM_DT_BL_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053016 tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
17 depends on ARM_BIG_LITTLE_CPUFREQ && OF
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000018 help
Viresh Kumar99af7712013-05-04 12:03:54 +053019 This enables probing via DT for Generic CPUfreq driver for ARM
20 big.LITTLE platform. This gets frequency tables from DT.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000021
viresh kumar3b84d582014-03-14 12:10:54 +053022config ARM_VEXPRESS_SPC_CPUFREQ
23 tristate "Versatile Express SPC based CPUfreq driver"
24 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
25 help
26 This add the CPUfreq driver support for Versatile Express
27 big.LITTLE platforms using SPC for power management.
28
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040029config ARM_EXYNOS5440_CPUFREQ
30 tristate "SAMSUNG EXYNOS5440"
31 depends on SOC_EXYNOS5440
32 depends on HAVE_CLK && OF
33 select PM_OPP
34 default y
35 help
36 This adds the CPUFreq driver for Samsung EXYNOS5440
37 SoC. The nature of exynos5440 clock controller is
38 different than previous exynos controllers so not using
39 the common exynos framework.
40
41 If in doubt, say N.
42
Viresh Kumara0ea0482013-04-04 12:54:09 +000043config ARM_HIGHBANK_CPUFREQ
44 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053045 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000046 default m
47 help
48 This adds the CPUFreq driver for Calxeda Highbank SoC
49 based boards.
50
51 If in doubt, say N.
52
53config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080054 tristate "Freescale i.MX6 cpufreq support"
55 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000056 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030057 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000058 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080059 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000060
61 If in doubt, say N.
62
Viresh Kumarb7e614c2013-04-04 12:54:14 +000063config ARM_INTEGRATOR
64 tristate "CPUfreq driver for ARM Integrator CPUs"
65 depends on ARCH_INTEGRATOR
66 default y
67 help
68 This enables the CPUfreq driver for ARM Integrator CPUs.
69 If in doubt, say Y.
70
Viresh Kumara0ea0482013-04-04 12:54:09 +000071config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +020072 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +000073 help
74 This adds the CPUFreq driver for Marvell Kirkwood
75 SoCs.
76
Pi-Cheng Chen14538632015-08-19 10:05:06 +080077config ARM_MT8173_CPUFREQ
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010078 tristate "Mediatek MT8173 CPUFreq support"
Pi-Cheng Chen14538632015-08-19 10:05:06 +080079 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann2d4ee302015-11-16 22:27:55 +010080 depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010081 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +080082 select PM_OPP
83 help
84 This adds the CPUFreq driver support for Mediatek MT8173 SoC.
85
Russell Kingb09db452012-02-15 11:01:11 -080086config ARM_OMAP2PLUS_CPUFREQ
87 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -070088 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -080089 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -080090
Viresh Kumarf023f8d2013-04-04 12:54:15 +000091config ARM_S3C_CPUFREQ
92 bool
93 help
94 Internal configuration node for common cpufreq on Samsung SoC
95
96config ARM_S3C24XX_CPUFREQ
97 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
98 depends on ARCH_S3C24XX
99 select ARM_S3C_CPUFREQ
100 help
101 This enables the CPUfreq driver for the Samsung S3C24XX family
102 of CPUs.
103
104 For details, take a look at <file:Documentation/cpu-freq>.
105
106 If in doubt, say N.
107
108config ARM_S3C24XX_CPUFREQ_DEBUG
109 bool "Debug CPUfreq Samsung driver core"
110 depends on ARM_S3C24XX_CPUFREQ
111 help
112 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
113
114config ARM_S3C24XX_CPUFREQ_IODEBUG
115 bool "Debug CPUfreq Samsung driver IO timing"
116 depends on ARM_S3C24XX_CPUFREQ
117 help
118 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
119
120config ARM_S3C24XX_CPUFREQ_DEBUGFS
121 bool "Export debugfs for CPUFreq"
122 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
123 help
124 Export status information via debugfs.
125
126config ARM_S3C2410_CPUFREQ
127 bool
128 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
129 select S3C2410_CPUFREQ_UTILS
130 help
131 CPU Frequency scaling support for S3C2410
132
133config ARM_S3C2412_CPUFREQ
134 bool
135 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
136 default y
137 select S3C2412_IOTIMING
138 help
139 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
140
Heiko Stübner34ee55072012-02-16 11:42:32 +0100141config ARM_S3C2416_CPUFREQ
142 bool "S3C2416 CPU Frequency scaling support"
143 depends on CPU_S3C2416
144 help
145 This adds the CPUFreq driver for the Samsung S3C2416 and
146 S3C2450 SoC. The S3C2416 supports changing the rate of the
147 armdiv clock source and also entering a so called dynamic
148 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300149 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100150
151 If in doubt, say N.
152
153config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b52012-10-02 11:16:53 -0700154 bool "Allow voltage scaling for S3C2416 arm core"
155 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100156 help
157 Enable CPU voltage scaling when entering the dvs mode.
158 It uses information gathered through existing hardware and
159 tests but not documented in any datasheet.
160
161 If in doubt, say N.
162
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000163config ARM_S3C2440_CPUFREQ
164 bool "S3C2440/S3C2442 CPU Frequency scaling support"
165 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
166 select S3C2410_CPUFREQ_UTILS
167 default y
168 help
169 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
170
Kukjin Kim15964d32011-06-06 18:43:01 -0700171config ARM_S3C64XX_CPUFREQ
172 bool "Samsung S3C64XX"
173 depends on CPU_S3C6410
174 default y
175 help
176 This adds the CPUFreq driver for Samsung S3C6410 SoC.
177
178 If in doubt, say N.
179
Kukjin Kimf7d77072011-06-01 14:18:22 -0700180config ARM_S5PV210_CPUFREQ
181 bool "Samsung S5PV210 and S5PC110"
182 depends on CPU_S5PV210
183 default y
184 help
185 This adds the CPUFreq driver for Samsung S5PV210 and
186 S5PC110 SoCs.
187
188 If in doubt, say N.
189
Viresh Kumar59a2e612013-04-04 12:54:16 +0000190config ARM_SA1100_CPUFREQ
191 bool
192
193config ARM_SA1110_CPUFREQ
194 bool
195
Sudeep Holla8def3102015-03-30 10:59:52 +0100196config ARM_SCPI_CPUFREQ
197 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000198 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100199 help
200 This adds the CPUfreq driver support for ARM big.LITTLE platforms
201 using SCPI protocol for CPU power management.
202
203 This driver uses SCPI Message Protocol driver to interact with the
204 firmware providing the CPU DVFS functionality.
205
Deepak Sikri42099322012-11-27 14:05:26 +0100206config ARM_SPEAR_CPUFREQ
207 bool "SPEAr CPUFreq support"
208 depends on PLAT_SPEAR
209 default y
210 help
211 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530212
Lee Jonesab0ea252015-12-10 09:42:16 +0000213config ARM_STI_CPUFREQ
214 tristate "STi CPUFreq support"
215 depends on SOC_STIH407
216 help
217 This driver uses the generic OPP framework to match the running
218 platform with a predefined set of suitable values. If not provided
219 we will fall-back so safe-values contained in Device Tree. Enable
220 this config option if you wish to add CPUFreq support for STi based
221 SoCs.
222
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300223config ARM_TEGRA20_CPUFREQ
224 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530225 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530226 default y
227 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300228 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100229
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300230config ARM_TEGRA124_CPUFREQ
231 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100232 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300233 default y
234 help
235 This adds the CPUFreq driver support for Tegra124 SOCs.
236
Petr Cvek608eab22014-11-24 04:59:26 +0100237config ARM_PXA2xx_CPUFREQ
238 tristate "Intel PXA2xx CPUfreq driver"
239 depends on PXA27x || PXA25x
240 help
241 This add the CPUFreq driver support for Intel PXA2xx SOCs.
242
243 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400244
245config ACPI_CPPC_CPUFREQ
246 tristate "CPUFreq driver based on the ACPI CPPC spec"
247 depends on ACPI
248 select ACPI_CPPC_LIB
249 default n
250 help
251 This adds a CPUFreq driver which uses CPPC methods
252 as described in the ACPIv5.1 spec. CPPC stands for
253 Collaborative Processor Performance Controls. It
254 is based on an abstract continuous scale of CPU
255 performance values which allows the remote power
256 processor to flexibly optimize for power and
257 performance. CPPC relies on power management firmware
258 support for its operation.
259
260 If in doubt, say N.