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