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