xref: /openbmc/linux/drivers/cpufreq/Kconfig.arm (revision b830f94f)
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_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
29config 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
41config 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
48config 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
58config 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
65config 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
76config 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
86config 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
96config 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
105config ARM_KIRKWOOD_CPUFREQ
106	def_bool MACH_KIRKWOOD
107	help
108	  This adds the CPUFreq driver for Marvell Kirkwood
109	  SoCs.
110
111config 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
118config ARM_OMAP2PLUS_CPUFREQ
119	bool "TI OMAP2+"
120	depends on ARCH_OMAP2PLUS
121	default ARCH_OMAP2PLUS
122
123config 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
134config 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
145config 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
153config ARM_S3C_CPUFREQ
154	bool
155	help
156	  Internal configuration node for common cpufreq on Samsung SoC
157
158config 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
170config 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
176config 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
182config 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
188config 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
195config 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
203config 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
215config 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
225config 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
233config 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
242config 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
252config ARM_SA1100_CPUFREQ
253	bool
254
255config ARM_SA1110_CPUFREQ
256	bool
257
258config 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
269config 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
276config 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
286config ARM_TANGO_CPUFREQ
287	bool
288	depends on CPUFREQ_DT && ARCH_TANGO
289	default y
290
291config 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
298config 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
305config 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
311config 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
322config 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.
329