blob: 2499d0bccb3a991befa26d806650e008376c5c00 [file] [log] [blame]
Kukjin Kimf7d77072011-06-01 14:18:22 -07001#
2# ARM CPU Frequency scaling drivers
3#
4
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +01005config ACPI_CPPC_CPUFREQ
6 tristate "CPUFreq driver based on the ACPI CPPC spec"
7 depends on ACPI_PROCESSOR
8 select ACPI_CPPC_LIB
9 help
10 This adds a CPUFreq driver which uses CPPC methods
11 as described in the ACPIv5.1 spec. CPPC stands for
12 Collaborative Processor Performance Controls. It
13 is based on an abstract continuous scale of CPU
14 performance values which allows the remote power
15 processor to flexibly optimize for power and
16 performance. CPPC relies on power management firmware
17 support for its operation.
18
19 If in doubt, say N.
20
Gregory CLEMENT92ce45f2017-12-14 16:00:05 +010021config ARM_ARMADA_37XX_CPUFREQ
22 tristate "Armada 37xx CPUFreq support"
Miquel Raynal0cf442c2018-04-24 17:45:06 +020023 depends on ARCH_MVEBU && CPUFREQ_DT
Gregory CLEMENT92ce45f2017-12-14 16:00:05 +010024 help
25 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
26 The Armada 37xx PMU supports 4 frequency and VDD levels.
27
Gregory CLEMENTf525a672019-01-18 15:51:01 +010028config ARM_ARMADA_8K_CPUFREQ
29 tristate "Armada 8K CPUFreq driver"
30 depends on ARCH_MVEBU && CPUFREQ_DT
31 help
32 This enables the CPUFreq driver support for Marvell
33 Armada8k SOCs.
34 Armada8K device has the AP806 which supports scaling
35 to any full integer divider.
36
37 If in doubt, say N.
38
viresh kumar3b84d582014-03-14 12:10:54 +053039# big LITTLE core layer and glue drivers
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000040config ARM_BIG_LITTLE_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053041 tristate "Generic ARM big LITTLE CPUfreq driver"
Sudeep Hollaa7314402018-10-24 14:44:57 +010042 depends on ARM_CPU_TOPOLOGY && HAVE_CLK
Mark Brown109df082013-12-11 22:12:27 +000043 select PM_OPP
Viresh Kumar99af7712013-05-04 12:03:54 +053044 help
45 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000046
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010047config ARM_SCPI_CPUFREQ
48 tristate "SCPI based CPUfreq driver"
Sudeep Holla5c8b2622018-02-23 15:54:42 +000049 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010050 help
Sudeep Holla5c8b2622018-02-23 15:54:42 +000051 This adds the CPUfreq driver support for ARM platforms using SCPI
52 protocol for CPU power management.
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010053
54 This driver uses SCPI Message Protocol driver to interact with the
55 firmware providing the CPU DVFS functionality.
56
57config ARM_VEXPRESS_SPC_CPUFREQ
58 tristate "Versatile Express SPC based CPUfreq driver"
59 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
60 help
61 This add the CPUfreq driver support for Versatile Express
62 big.LITTLE platforms using SPC for power management.
63
Markus Mayerde322e02016-10-27 14:05:35 -070064config ARM_BRCMSTB_AVS_CPUFREQ
65 tristate "Broadcom STB AVS CPUfreq driver"
66 depends on ARCH_BRCMSTB || COMPILE_TEST
67 default y
68 help
69 Some Broadcom STB SoCs use a co-processor running proprietary firmware
70 ("AVS") to handle voltage and frequency scaling. This driver provides
71 a standard CPUfreq interface to to the firmware.
72
73 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
74
Viresh Kumara0ea0482013-04-04 12:54:09 +000075config ARM_HIGHBANK_CPUFREQ
76 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053077 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000078 default m
79 help
80 This adds the CPUFreq driver for Calxeda Highbank SoC
81 based boards.
82
83 If in doubt, say N.
84
85config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080086 tristate "Freescale i.MX6 cpufreq support"
87 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000088 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030089 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000090 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080091 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000092
93 If in doubt, say N.
94
Leonard Crestez4d28ba12019-05-13 11:01:38 +000095config ARM_IMX_CPUFREQ_DT
96 tristate "Freescale i.MX8M cpufreq support"
97 depends on ARCH_MXC && CPUFREQ_DT
98 help
99 This adds cpufreq driver support for Freescale i.MX8M series SoCs,
100 based on cpufreq-dt.
101
102 If in doubt, say N.
103
Viresh Kumara0ea0482013-04-04 12:54:09 +0000104config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +0200105 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +0000106 help
107 This adds the CPUFreq driver for Marvell Kirkwood
108 SoCs.
109
Sean Wang501c5742017-07-18 14:01:43 +0800110config ARM_MEDIATEK_CPUFREQ
111 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800112 depends on ARCH_MEDIATEK && REGULATOR
113 select PM_OPP
114 help
Sean Wang501c5742017-07-18 14:01:43 +0800115 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800116
Russell Kingb09db452012-02-15 11:01:11 -0800117config ARM_OMAP2PLUS_CPUFREQ
118 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700119 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800120 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800121
Ilia Lin46e28562018-05-30 05:39:28 +0300122config ARM_QCOM_CPUFREQ_KRYO
Arnd Bergmannac289272018-06-05 13:44:24 +0200123 tristate "Qualcomm Kryo based CPUFreq"
Ilia Lin46e28562018-05-30 05:39:28 +0300124 depends on ARM64
125 depends on QCOM_QFPROM
126 depends on QCOM_SMEM
127 select PM_OPP
128 help
129 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
130
131 If in doubt, say N.
132
Taniya Das2849dd82018-12-14 09:40:24 +0530133config ARM_QCOM_CPUFREQ_HW
134 tristate "QCOM CPUFreq HW driver"
135 depends on ARCH_QCOM || COMPILE_TEST
136 help
137 Support for the CPUFreq HW driver.
138 Some QCOM chipsets have a HW engine to offload the steps
139 necessary for changing the frequency of the CPUs. Firmware loaded
140 in this engine exposes a programming interface to the OS.
141 The driver implements the cpufreq interface for this HW engine.
142 Say Y if you want to support CPUFreq HW.
143
Nicolas Saenz Julienned3df18a2019-06-12 20:24:56 +0200144config ARM_RASPBERRYPI_CPUFREQ
145 tristate "Raspberry Pi cpufreq support"
146 depends on CLK_RASPBERRYPI || COMPILE_TEST
147 help
148 This adds the CPUFreq driver for Raspberry Pi
149
150 If in doubt, say N.
151
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000152config ARM_S3C_CPUFREQ
153 bool
154 help
155 Internal configuration node for common cpufreq on Samsung SoC
156
157config ARM_S3C24XX_CPUFREQ
158 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
159 depends on ARCH_S3C24XX
160 select ARM_S3C_CPUFREQ
161 help
162 This enables the CPUfreq driver for the Samsung S3C24XX family
163 of CPUs.
164
165 For details, take a look at <file:Documentation/cpu-freq>.
166
167 If in doubt, say N.
168
169config ARM_S3C24XX_CPUFREQ_DEBUG
170 bool "Debug CPUfreq Samsung driver core"
171 depends on ARM_S3C24XX_CPUFREQ
172 help
173 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
174
175config ARM_S3C24XX_CPUFREQ_IODEBUG
176 bool "Debug CPUfreq Samsung driver IO timing"
177 depends on ARM_S3C24XX_CPUFREQ
178 help
179 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
180
181config ARM_S3C24XX_CPUFREQ_DEBUGFS
182 bool "Export debugfs for CPUFreq"
183 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
184 help
185 Export status information via debugfs.
186
187config ARM_S3C2410_CPUFREQ
188 bool
189 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
190 select S3C2410_CPUFREQ_UTILS
191 help
192 CPU Frequency scaling support for S3C2410
193
194config ARM_S3C2412_CPUFREQ
195 bool
196 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
197 default y
198 select S3C2412_IOTIMING
199 help
200 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
201
Heiko Stübner34ee55072012-02-16 11:42:32 +0100202config ARM_S3C2416_CPUFREQ
203 bool "S3C2416 CPU Frequency scaling support"
204 depends on CPU_S3C2416
205 help
206 This adds the CPUFreq driver for the Samsung S3C2416 and
207 S3C2450 SoC. The S3C2416 supports changing the rate of the
208 armdiv clock source and also entering a so called dynamic
209 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300210 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100211
212 If in doubt, say N.
213
214config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700215 bool "Allow voltage scaling for S3C2416 arm core"
216 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100217 help
218 Enable CPU voltage scaling when entering the dvs mode.
219 It uses information gathered through existing hardware and
220 tests but not documented in any datasheet.
221
222 If in doubt, say N.
223
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000224config ARM_S3C2440_CPUFREQ
225 bool "S3C2440/S3C2442 CPU Frequency scaling support"
226 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
227 select S3C2410_CPUFREQ_UTILS
228 default y
229 help
230 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
231
Kukjin Kim15964d32011-06-06 18:43:01 -0700232config ARM_S3C64XX_CPUFREQ
233 bool "Samsung S3C64XX"
234 depends on CPU_S3C6410
235 default y
236 help
237 This adds the CPUFreq driver for Samsung S3C6410 SoC.
238
239 If in doubt, say N.
240
Kukjin Kimf7d77072011-06-01 14:18:22 -0700241config ARM_S5PV210_CPUFREQ
242 bool "Samsung S5PV210 and S5PC110"
243 depends on CPU_S5PV210
244 default y
245 help
246 This adds the CPUFreq driver for Samsung S5PV210 and
247 S5PC110 SoCs.
248
249 If in doubt, say N.
250
Viresh Kumar59a2e612013-04-04 12:54:16 +0000251config ARM_SA1100_CPUFREQ
252 bool
253
254config ARM_SA1110_CPUFREQ
255 bool
256
Sudeep Holla99d6bdf2017-06-18 09:38:11 +0100257config ARM_SCMI_CPUFREQ
258 tristate "SCMI based CPUfreq driver"
259 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
260 select PM_OPP
261 help
262 This adds the CPUfreq driver support for ARM platforms using SCMI
263 protocol for CPU power management.
264
265 This driver uses SCMI Message Protocol driver to interact with the
266 firmware providing the CPU DVFS functionality.
267
Deepak Sikri42099322012-11-27 14:05:26 +0100268config ARM_SPEAR_CPUFREQ
269 bool "SPEAr CPUFreq support"
270 depends on PLAT_SPEAR
271 default y
272 help
273 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530274
Lee Jonesab0ea252015-12-10 09:42:16 +0000275config ARM_STI_CPUFREQ
276 tristate "STi CPUFreq support"
277 depends on SOC_STIH407
278 help
279 This driver uses the generic OPP framework to match the running
280 platform with a predefined set of suitable values. If not provided
281 we will fall-back so safe-values contained in Device Tree. Enable
282 this config option if you wish to add CPUFreq support for STi based
283 SoCs.
284
Marc Gonzalez9dbd2242017-07-18 18:48:39 +0200285config ARM_TANGO_CPUFREQ
286 bool
287 depends on CPUFREQ_DT && ARCH_TANGO
288 default y
289
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300290config ARM_TEGRA20_CPUFREQ
Dmitry Osipenko7732c9e2018-05-18 23:06:41 +0300291 tristate "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530292 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530293 default y
294 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300295 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100296
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300297config ARM_TEGRA124_CPUFREQ
Joseph Lo9f5ed5f2019-01-04 11:06:53 +0800298 bool "Tegra124 CPUFreq support"
299 depends on ARCH_TEGRA && CPUFREQ_DT
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300300 default y
301 help
302 This adds the CPUFreq driver support for Tegra124 SOCs.
303
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300304config ARM_TEGRA186_CPUFREQ
305 tristate "Tegra186 CPUFreq support"
306 depends on ARCH_TEGRA && TEGRA_BPMP
307 help
308 This adds the CPUFreq driver support for Tegra186 SOCs.
309
Dave Gerlache13cf042017-02-03 11:29:28 -0600310config ARM_TI_CPUFREQ
311 bool "Texas Instruments CPUFreq support"
312 depends on ARCH_OMAP2PLUS
313 help
314 This driver enables valid OPPs on the running platform based on
315 values contained within the SoC in use. Enable this in order to
316 use the cpufreq-dt driver on all Texas Instruments platforms that
317 provide dt based operating-points-v2 tables with opp-supported-hw
318 data provided. Required for cpufreq support on AM335x, AM437x,
319 DRA7x, and AM57x platforms.
320
Petr Cvek608eab22014-11-24 04:59:26 +0100321config ARM_PXA2xx_CPUFREQ
322 tristate "Intel PXA2xx CPUfreq driver"
323 depends on PXA27x || PXA25x
324 help
325 This add the CPUFreq driver support for Intel PXA2xx SOCs.
326
327 If in doubt, say N.