Merge remote-tracking branch 'torvalds/master' into perf/core
[linux-block.git] / drivers / cpufreq / Kconfig.arm
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
f7d77079
KK
2#
3# ARM CPU Frequency scaling drivers
4#
5
b17d2f8d
GC
6config ACPI_CPPC_CPUFREQ
7 tristate "CPUFreq driver based on the ACPI CPPC spec"
8 depends on ACPI_PROCESSOR
9 select ACPI_CPPC_LIB
10 help
11 This adds a CPUFreq driver which uses CPPC methods
12 as described in the ACPIv5.1 spec. CPPC stands for
13 Collaborative Processor Performance Controls. It
14 is based on an abstract continuous scale of CPU
15 performance values which allows the remote power
16 processor to flexibly optimize for power and
17 performance. CPPC relies on power management firmware
18 support for its operation.
19
20 If in doubt, say N.
21
4c38f2df
VK
22config ACPI_CPPC_CPUFREQ_FIE
23 bool "Frequency Invariance support for CPPC cpufreq driver"
24 depends on ACPI_CPPC_CPUFREQ && GENERIC_ARCH_TOPOLOGY
25 default y
26 help
27 This extends frequency invariance support in the CPPC cpufreq driver,
28 by using CPPC delivered and reference performance counters.
29
30 If in doubt, say N.
31
f328584f
YL
32config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
33 tristate "Allwinner nvmem based SUN50I CPUFreq driver"
34 depends on ARCH_SUNXI
35 depends on NVMEM_SUNXI_SID
36 select PM_OPP
37 help
38 This adds the nvmem based CPUFreq driver for Allwinner
39 h6 SoC.
40
41 To compile this driver as a module, choose M here: the
42 module will be called sun50i-cpufreq-nvmem.
43
92ce45fb
GC
44config ARM_ARMADA_37XX_CPUFREQ
45 tristate "Armada 37xx CPUFreq support"
0cf442c6 46 depends on ARCH_MVEBU && CPUFREQ_DT
92ce45fb
GC
47 help
48 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
49 The Armada 37xx PMU supports 4 frequency and VDD levels.
50
f525a670
GC
51config ARM_ARMADA_8K_CPUFREQ
52 tristate "Armada 8K CPUFreq driver"
53 depends on ARCH_MVEBU && CPUFREQ_DT
8c37ad2f 54 select ARMADA_AP_CPU_CLK
f525a670
GC
55 help
56 This enables the CPUFreq driver support for Marvell
57 Armada8k SOCs.
58 Armada8K device has the AP806 which supports scaling
59 to any full integer divider.
60
61 If in doubt, say N.
62
b17d2f8d
GC
63config ARM_SCPI_CPUFREQ
64 tristate "SCPI based CPUfreq driver"
5c8b2623 65 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
b17d2f8d 66 help
5c8b2623
SH
67 This adds the CPUfreq driver support for ARM platforms using SCPI
68 protocol for CPU power management.
b17d2f8d
GC
69
70 This driver uses SCPI Message Protocol driver to interact with the
71 firmware providing the CPU DVFS functionality.
72
73config ARM_VEXPRESS_SPC_CPUFREQ
74 tristate "Versatile Express SPC based CPUfreq driver"
a0f950d3
SH
75 depends on ARM_CPU_TOPOLOGY && HAVE_CLK
76 depends on ARCH_VEXPRESS_SPC
77 select PM_OPP
b17d2f8d
GC
78 help
79 This add the CPUfreq driver support for Versatile Express
80 big.LITTLE platforms using SPC for power management.
81
de322e08
MM
82config ARM_BRCMSTB_AVS_CPUFREQ
83 tristate "Broadcom STB AVS CPUfreq driver"
84 depends on ARCH_BRCMSTB || COMPILE_TEST
85 default y
86 help
87 Some Broadcom STB SoCs use a co-processor running proprietary firmware
88 ("AVS") to handle voltage and frequency scaling. This driver provides
89 a standard CPUfreq interface to to the firmware.
90
91 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
92
a0ea048a
VK
93config ARM_HIGHBANK_CPUFREQ
94 tristate "Calxeda Highbank-based"
bbcf0719 95 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
a0ea048a
VK
96 default m
97 help
98 This adds the CPUFreq driver for Calxeda Highbank SoC
99 based boards.
100
101 If in doubt, say N.
102
103config ARM_IMX6Q_CPUFREQ
1d0eaae9
SG
104 tristate "Freescale i.MX6 cpufreq support"
105 depends on ARCH_MXC
a0ea048a 106 depends on REGULATOR_ANATOP
fc928b90 107 depends on NVMEM_IMX_OCOTP || COMPILE_TEST
7e021687 108 select PM_OPP
a0ea048a 109 help
1d0eaae9 110 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
a0ea048a
VK
111
112 If in doubt, say N.
113
4d28ba1d
LC
114config ARM_IMX_CPUFREQ_DT
115 tristate "Freescale i.MX8M cpufreq support"
116 depends on ARCH_MXC && CPUFREQ_DT
117 help
118 This adds cpufreq driver support for Freescale i.MX8M series SoCs,
119 based on cpufreq-dt.
120
121 If in doubt, say N.
122
a0ea048a 123config ARM_KIRKWOOD_CPUFREQ
6c8df11d 124 def_bool MACH_KIRKWOOD
a0ea048a
VK
125 help
126 This adds the CPUFreq driver for Marvell Kirkwood
127 SoCs.
128
501c574f
SW
129config ARM_MEDIATEK_CPUFREQ
130 tristate "CPU Frequency scaling support for MediaTek SoCs"
1453863f
PCC
131 depends on ARCH_MEDIATEK && REGULATOR
132 select PM_OPP
133 help
501c574f 134 This adds the CPUFreq driver support for MediaTek SoCs.
1453863f 135
4855e26b
HY
136config ARM_MEDIATEK_CPUFREQ_HW
137 tristate "MediaTek CPUFreq HW driver"
138 depends on ARCH_MEDIATEK || COMPILE_TEST
139 default m
140 help
141 Support for the CPUFreq HW driver.
142 Some MediaTek chipsets have a HW engine to offload the steps
143 necessary for changing the frequency of the CPUs. Firmware loaded
144 in this engine exposes a programming interface to the OS.
145 The driver implements the cpufreq interface for this HW engine.
146 Say Y if you want to support CPUFreq HW.
147
b09db45c
RK
148config ARM_OMAP2PLUS_CPUFREQ
149 bool "TI OMAP2+"
2d59dcfb 150 depends on ARCH_OMAP2PLUS
b09db45c 151 default ARCH_OMAP2PLUS
b09db45c 152
7d127095
S
153config ARM_QCOM_CPUFREQ_NVMEM
154 tristate "Qualcomm nvmem based CPUFreq"
a8811ec7 155 depends on ARCH_QCOM
46e2856b
IL
156 depends on QCOM_QFPROM
157 depends on QCOM_SMEM
158 select PM_OPP
159 help
160 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
161
162 If in doubt, say N.
163
2849dd8b
TD
164config ARM_QCOM_CPUFREQ_HW
165 tristate "QCOM CPUFreq HW driver"
166 depends on ARCH_QCOM || COMPILE_TEST
167 help
168 Support for the CPUFreq HW driver.
169 Some QCOM chipsets have a HW engine to offload the steps
170 necessary for changing the frequency of the CPUs. Firmware loaded
171 in this engine exposes a programming interface to the OS.
172 The driver implements the cpufreq interface for this HW engine.
173 Say Y if you want to support CPUFreq HW.
174
d3df18a9
NSJ
175config ARM_RASPBERRYPI_CPUFREQ
176 tristate "Raspberry Pi cpufreq support"
177 depends on CLK_RASPBERRYPI || COMPILE_TEST
178 help
179 This adds the CPUFreq driver for Raspberry Pi
180
181 If in doubt, say N.
182
f023f8dd
VK
183config ARM_S3C_CPUFREQ
184 bool
185 help
186 Internal configuration node for common cpufreq on Samsung SoC
187
188config ARM_S3C24XX_CPUFREQ
189 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
190 depends on ARCH_S3C24XX
191 select ARM_S3C_CPUFREQ
192 help
193 This enables the CPUfreq driver for the Samsung S3C24XX family
194 of CPUs.
195
196 For details, take a look at <file:Documentation/cpu-freq>.
197
198 If in doubt, say N.
199
200config ARM_S3C24XX_CPUFREQ_DEBUG
201 bool "Debug CPUfreq Samsung driver core"
202 depends on ARM_S3C24XX_CPUFREQ
203 help
204 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
205
206config ARM_S3C24XX_CPUFREQ_IODEBUG
207 bool "Debug CPUfreq Samsung driver IO timing"
208 depends on ARM_S3C24XX_CPUFREQ
209 help
210 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
211
212config ARM_S3C24XX_CPUFREQ_DEBUGFS
213 bool "Export debugfs for CPUFreq"
214 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
215 help
216 Export status information via debugfs.
217
218config ARM_S3C2410_CPUFREQ
219 bool
220 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
f023f8dd
VK
221 help
222 CPU Frequency scaling support for S3C2410
223
224config ARM_S3C2412_CPUFREQ
225 bool
226 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
227 default y
228 select S3C2412_IOTIMING
229 help
230 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
231
34ee5507
HS
232config ARM_S3C2416_CPUFREQ
233 bool "S3C2416 CPU Frequency scaling support"
234 depends on CPU_S3C2416
235 help
236 This adds the CPUFreq driver for the Samsung S3C2416 and
237 S3C2450 SoC. The S3C2416 supports changing the rate of the
238 armdiv clock source and also entering a so called dynamic
239 voltage scaling mode in which it is possible to reduce the
735dc249 240 core voltage of the CPU.
34ee5507
HS
241
242 If in doubt, say N.
243
244config ARM_S3C2416_CPUFREQ_VCORESCALE
0f194b56
KC
245 bool "Allow voltage scaling for S3C2416 arm core"
246 depends on ARM_S3C2416_CPUFREQ && REGULATOR
34ee5507
HS
247 help
248 Enable CPU voltage scaling when entering the dvs mode.
249 It uses information gathered through existing hardware and
250 tests but not documented in any datasheet.
251
252 If in doubt, say N.
253
f023f8dd
VK
254config ARM_S3C2440_CPUFREQ
255 bool "S3C2440/S3C2442 CPU Frequency scaling support"
256 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
f023f8dd
VK
257 default y
258 help
259 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
260
15964d38
KK
261config ARM_S3C64XX_CPUFREQ
262 bool "Samsung S3C64XX"
263 depends on CPU_S3C6410
264 default y
265 help
266 This adds the CPUFreq driver for Samsung S3C6410 SoC.
267
268 If in doubt, say N.
269
f7d77079
KK
270config ARM_S5PV210_CPUFREQ
271 bool "Samsung S5PV210 and S5PC110"
272 depends on CPU_S5PV210
273 default y
274 help
275 This adds the CPUFreq driver for Samsung S5PV210 and
276 S5PC110 SoCs.
277
278 If in doubt, say N.
279
59a2e613
VK
280config ARM_SA1100_CPUFREQ
281 bool
282
283config ARM_SA1110_CPUFREQ
284 bool
285
99d6bdf3
SH
286config ARM_SCMI_CPUFREQ
287 tristate "SCMI based CPUfreq driver"
288 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
289 select PM_OPP
290 help
291 This adds the CPUfreq driver support for ARM platforms using SCMI
292 protocol for CPU power management.
293
294 This driver uses SCMI Message Protocol driver to interact with the
295 firmware providing the CPU DVFS functionality.
296
42099322
DS
297config ARM_SPEAR_CPUFREQ
298 bool "SPEAr CPUFreq support"
299 depends on PLAT_SPEAR
300 default y
301 help
302 This adds the CPUFreq driver support for SPEAr SOCs.
dbb8d76e 303
ab0ea257
LJ
304config ARM_STI_CPUFREQ
305 tristate "STi CPUFreq support"
a0d698d8 306 depends on CPUFREQ_DT && SOC_STIH407
ab0ea257
LJ
307 help
308 This driver uses the generic OPP framework to match the running
309 platform with a predefined set of suitable values. If not provided
310 we will fall-back so safe-values contained in Device Tree. Enable
311 this config option if you wish to add CPUFreq support for STi based
312 SoCs.
313
109e13ea 314config ARM_TEGRA20_CPUFREQ
9ce27463
DO
315 tristate "Tegra20/30 CPUFreq support"
316 depends on ARCH_TEGRA && CPUFREQ_DT
dbb8d76e
VK
317 default y
318 help
9ce27463 319 This adds the CPUFreq driver support for Tegra20/30 SOCs.
608eab22 320
9eb15dbb 321config ARM_TEGRA124_CPUFREQ
9f5ed5fe
JL
322 bool "Tegra124 CPUFreq support"
323 depends on ARCH_TEGRA && CPUFREQ_DT
9eb15dbb
TT
324 default y
325 help
326 This adds the CPUFreq driver support for Tegra124 SOCs.
327
939dc6f5
MP
328config ARM_TEGRA186_CPUFREQ
329 tristate "Tegra186 CPUFreq support"
330 depends on ARCH_TEGRA && TEGRA_BPMP
331 help
332 This adds the CPUFreq driver support for Tegra186 SOCs.
333
df320f89
SG
334config ARM_TEGRA194_CPUFREQ
335 tristate "Tegra194 CPUFreq support"
336 depends on ARCH_TEGRA_194_SOC && TEGRA_BPMP
337 default y
338 help
339 This adds CPU frequency driver support for Tegra194 SOCs.
340
e13cf046
DG
341config ARM_TI_CPUFREQ
342 bool "Texas Instruments CPUFreq support"
343 depends on ARCH_OMAP2PLUS
59b55c1f 344 default ARCH_OMAP2PLUS
e13cf046
DG
345 help
346 This driver enables valid OPPs on the running platform based on
347 values contained within the SoC in use. Enable this in order to
348 use the cpufreq-dt driver on all Texas Instruments platforms that
349 provide dt based operating-points-v2 tables with opp-supported-hw
350 data provided. Required for cpufreq support on AM335x, AM437x,
351 DRA7x, and AM57x platforms.
352
608eab22
PC
353config ARM_PXA2xx_CPUFREQ
354 tristate "Intel PXA2xx CPUfreq driver"
355 depends on PXA27x || PXA25x
356 help
357 This add the CPUFreq driver support for Intel PXA2xx SOCs.
358
359 If in doubt, say N.