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