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