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