Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-rpi.git] / drivers / cpufreq / Kconfig.arm
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # ARM CPU Frequency scaling drivers
4 #
5
6 config 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
22 config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
23         tristate "Allwinner nvmem based SUN50I CPUFreq driver"
24         depends on ARCH_SUNXI
25         depends on NVMEM_SUNXI_SID
26         select PM_OPP
27         help
28           This adds the nvmem based CPUFreq driver for Allwinner
29           h6 SoC.
30
31           To compile this driver as a module, choose M here: the
32           module will be called sun50i-cpufreq-nvmem.
33
34 config ARM_ARMADA_37XX_CPUFREQ
35         tristate "Armada 37xx CPUFreq support"
36         depends on ARCH_MVEBU && CPUFREQ_DT
37         help
38           This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
39           The Armada 37xx PMU supports 4 frequency and VDD levels.
40
41 config ARM_ARMADA_8K_CPUFREQ
42         tristate "Armada 8K CPUFreq driver"
43         depends on ARCH_MVEBU && CPUFREQ_DT
44         help
45           This enables the CPUFreq driver support for Marvell
46           Armada8k SOCs.
47           Armada8K device has the AP806 which supports scaling
48           to any full integer divider.
49
50           If in doubt, say N.
51
52 # big LITTLE core layer and glue drivers
53 config ARM_BIG_LITTLE_CPUFREQ
54         tristate "Generic ARM big LITTLE CPUfreq driver"
55         depends on ARM_CPU_TOPOLOGY && HAVE_CLK
56         select PM_OPP
57         help
58           This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
59
60 config ARM_SCPI_CPUFREQ
61         tristate "SCPI based CPUfreq driver"
62         depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
63         help
64           This adds the CPUfreq driver support for ARM platforms using SCPI
65           protocol for CPU power management.
66
67           This driver uses SCPI Message Protocol driver to interact with the
68           firmware providing the CPU DVFS functionality.
69
70 config ARM_VEXPRESS_SPC_CPUFREQ
71         tristate "Versatile Express SPC based CPUfreq driver"
72         depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
73         help
74           This add the CPUfreq driver support for Versatile Express
75           big.LITTLE platforms using SPC for power management.
76
77 config ARM_BRCMSTB_AVS_CPUFREQ
78         tristate "Broadcom STB AVS CPUfreq driver"
79         depends on ARCH_BRCMSTB || COMPILE_TEST
80         default y
81         help
82           Some Broadcom STB SoCs use a co-processor running proprietary firmware
83           ("AVS") to handle voltage and frequency scaling. This driver provides
84           a standard CPUfreq interface to to the firmware.
85
86           Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
87
88 config ARM_HIGHBANK_CPUFREQ
89         tristate "Calxeda Highbank-based"
90         depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
91         default m
92         help
93           This adds the CPUFreq driver for Calxeda Highbank SoC
94           based boards.
95
96           If in doubt, say N.
97
98 config ARM_IMX6Q_CPUFREQ
99         tristate "Freescale i.MX6 cpufreq support"
100         depends on ARCH_MXC
101         depends on REGULATOR_ANATOP
102         select PM_OPP
103         help
104           This adds cpufreq driver support for Freescale i.MX6 series SoCs.
105
106           If in doubt, say N.
107
108 config ARM_IMX_CPUFREQ_DT
109         tristate "Freescale i.MX8M cpufreq support"
110         depends on ARCH_MXC && CPUFREQ_DT
111         help
112           This adds cpufreq driver support for Freescale i.MX8M series SoCs,
113           based on cpufreq-dt.
114
115           If in doubt, say N.
116
117 config ARM_KIRKWOOD_CPUFREQ
118         def_bool MACH_KIRKWOOD
119         help
120           This adds the CPUFreq driver for Marvell Kirkwood
121           SoCs.
122
123 config ARM_MEDIATEK_CPUFREQ
124         tristate "CPU Frequency scaling support for MediaTek SoCs"
125         depends on ARCH_MEDIATEK && REGULATOR
126         select PM_OPP
127         help
128           This adds the CPUFreq driver support for MediaTek SoCs.
129
130 config ARM_OMAP2PLUS_CPUFREQ
131         bool "TI OMAP2+"
132         depends on ARCH_OMAP2PLUS
133         default ARCH_OMAP2PLUS
134
135 config ARM_QCOM_CPUFREQ_NVMEM
136         tristate "Qualcomm nvmem based CPUFreq"
137         depends on ARM64
138         depends on QCOM_QFPROM
139         depends on QCOM_SMEM
140         select PM_OPP
141         help
142           This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
143
144           If in doubt, say N.
145
146 config ARM_QCOM_CPUFREQ_HW
147         tristate "QCOM CPUFreq HW driver"
148         depends on ARCH_QCOM || COMPILE_TEST
149         help
150           Support for the CPUFreq HW driver.
151           Some QCOM chipsets have a HW engine to offload the steps
152           necessary for changing the frequency of the CPUs. Firmware loaded
153           in this engine exposes a programming interface to the OS.
154           The driver implements the cpufreq interface for this HW engine.
155           Say Y if you want to support CPUFreq HW.
156
157 config ARM_RASPBERRYPI_CPUFREQ
158         tristate "Raspberry Pi cpufreq support"
159         depends on CLK_RASPBERRYPI || COMPILE_TEST
160         help
161           This adds the CPUFreq driver for Raspberry Pi
162
163           If in doubt, say N.
164
165 config ARM_S3C_CPUFREQ
166         bool
167         help
168           Internal configuration node for common cpufreq on Samsung SoC
169
170 config ARM_S3C24XX_CPUFREQ
171         bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
172         depends on ARCH_S3C24XX
173         select ARM_S3C_CPUFREQ
174         help
175           This enables the CPUfreq driver for the Samsung S3C24XX family
176           of CPUs.
177
178           For details, take a look at <file:Documentation/cpu-freq>.
179
180           If in doubt, say N.
181
182 config ARM_S3C24XX_CPUFREQ_DEBUG
183         bool "Debug CPUfreq Samsung driver core"
184         depends on ARM_S3C24XX_CPUFREQ
185         help
186           Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
187
188 config ARM_S3C24XX_CPUFREQ_IODEBUG
189         bool "Debug CPUfreq Samsung driver IO timing"
190         depends on ARM_S3C24XX_CPUFREQ
191         help
192           Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
193
194 config ARM_S3C24XX_CPUFREQ_DEBUGFS
195         bool "Export debugfs for CPUFreq"
196         depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
197         help
198           Export status information via debugfs.
199
200 config ARM_S3C2410_CPUFREQ
201         bool
202         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
203         select S3C2410_CPUFREQ_UTILS
204         help
205           CPU Frequency scaling support for S3C2410
206
207 config ARM_S3C2412_CPUFREQ
208         bool
209         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
210         default y
211         select S3C2412_IOTIMING
212         help
213           CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
214
215 config ARM_S3C2416_CPUFREQ
216         bool "S3C2416 CPU Frequency scaling support"
217         depends on CPU_S3C2416
218         help
219           This adds the CPUFreq driver for the Samsung S3C2416 and
220           S3C2450 SoC. The S3C2416 supports changing the rate of the
221           armdiv clock source and also entering a so called dynamic
222           voltage scaling mode in which it is possible to reduce the
223           core voltage of the CPU.
224
225           If in doubt, say N.
226
227 config ARM_S3C2416_CPUFREQ_VCORESCALE
228         bool "Allow voltage scaling for S3C2416 arm core"
229         depends on ARM_S3C2416_CPUFREQ && REGULATOR
230         help
231           Enable CPU voltage scaling when entering the dvs mode.
232           It uses information gathered through existing hardware and
233           tests but not documented in any datasheet.
234
235           If in doubt, say N.
236
237 config ARM_S3C2440_CPUFREQ
238         bool "S3C2440/S3C2442 CPU Frequency scaling support"
239         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
240         select S3C2410_CPUFREQ_UTILS
241         default y
242         help
243           CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
244
245 config ARM_S3C64XX_CPUFREQ
246         bool "Samsung S3C64XX"
247         depends on CPU_S3C6410
248         default y
249         help
250           This adds the CPUFreq driver for Samsung S3C6410 SoC.
251
252           If in doubt, say N.
253
254 config ARM_S5PV210_CPUFREQ
255         bool "Samsung S5PV210 and S5PC110"
256         depends on CPU_S5PV210
257         default y
258         help
259           This adds the CPUFreq driver for Samsung S5PV210 and
260           S5PC110 SoCs.
261
262           If in doubt, say N.
263
264 config ARM_SA1100_CPUFREQ
265         bool
266
267 config ARM_SA1110_CPUFREQ
268         bool
269
270 config ARM_SCMI_CPUFREQ
271         tristate "SCMI based CPUfreq driver"
272         depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
273         select PM_OPP
274         help
275           This adds the CPUfreq driver support for ARM platforms using SCMI
276           protocol for CPU power management.
277
278           This driver uses SCMI Message Protocol driver to interact with the
279           firmware providing the CPU DVFS functionality.
280
281 config ARM_SPEAR_CPUFREQ
282         bool "SPEAr CPUFreq support"
283         depends on PLAT_SPEAR
284         default y
285         help
286           This adds the CPUFreq driver support for SPEAr SOCs.
287
288 config ARM_STI_CPUFREQ
289         tristate "STi CPUFreq support"
290         depends on SOC_STIH407
291         help
292           This driver uses the generic OPP framework to match the running
293           platform with a predefined set of suitable values.  If not provided
294           we will fall-back so safe-values contained in Device Tree.  Enable
295           this config option if you wish to add CPUFreq support for STi based
296           SoCs.
297
298 config ARM_TANGO_CPUFREQ
299         bool
300         depends on CPUFREQ_DT && ARCH_TANGO
301         default y
302
303 config ARM_TEGRA20_CPUFREQ
304         tristate "Tegra20 CPUFreq support"
305         depends on ARCH_TEGRA
306         default y
307         help
308           This adds the CPUFreq driver support for Tegra20 SOCs.
309
310 config ARM_TEGRA124_CPUFREQ
311         bool "Tegra124 CPUFreq support"
312         depends on ARCH_TEGRA && CPUFREQ_DT
313         default y
314         help
315           This adds the CPUFreq driver support for Tegra124 SOCs.
316
317 config ARM_TEGRA186_CPUFREQ
318         tristate "Tegra186 CPUFreq support"
319         depends on ARCH_TEGRA && TEGRA_BPMP
320         help
321           This adds the CPUFreq driver support for Tegra186 SOCs.
322
323 config ARM_TI_CPUFREQ
324         bool "Texas Instruments CPUFreq support"
325         depends on ARCH_OMAP2PLUS
326         help
327           This driver enables valid OPPs on the running platform based on
328           values contained within the SoC in use. Enable this in order to
329           use the cpufreq-dt driver on all Texas Instruments platforms that
330           provide dt based operating-points-v2 tables with opp-supported-hw
331           data provided. Required for cpufreq support on AM335x, AM437x,
332           DRA7x, and AM57x platforms.
333
334 config ARM_PXA2xx_CPUFREQ
335         tristate "Intel PXA2xx CPUfreq driver"
336         depends on PXA27x || PXA25x
337         help
338           This add the CPUFreq driver support for Intel PXA2xx SOCs.
339
340           If in doubt, say N.