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