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