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