xref: /openbmc/linux/drivers/cpufreq/Kconfig.arm (revision 919096f7)
1#
2# ARM CPU Frequency scaling drivers
3#
4
5# big LITTLE core layer and glue drivers
6config ARM_BIG_LITTLE_CPUFREQ
7	tristate "Generic ARM big LITTLE CPUfreq driver"
8	depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
9	# if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
10	depends on !CPU_THERMAL || THERMAL
11	select PM_OPP
12	help
13	  This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
14
15config ARM_BRCMSTB_AVS_CPUFREQ
16	tristate "Broadcom STB AVS CPUfreq driver"
17	depends on ARCH_BRCMSTB || COMPILE_TEST
18	default y
19	help
20	  Some Broadcom STB SoCs use a co-processor running proprietary firmware
21	  ("AVS") to handle voltage and frequency scaling. This driver provides
22	  a standard CPUfreq interface to to the firmware.
23
24	  Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
25
26config ARM_BRCMSTB_AVS_CPUFREQ_DEBUG
27	bool "Broadcom STB AVS CPUfreq driver sysfs debug capability"
28	depends on ARM_BRCMSTB_AVS_CPUFREQ
29	help
30	  Enabling this option turns on debug support via sysfs under
31	  /sys/kernel/debug/brcmstb-avs-cpufreq. It is possible to read all and
32	  write some AVS mailbox registers through sysfs entries.
33
34	  If in doubt, say N.
35
36config ARM_DT_BL_CPUFREQ
37	tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
38	depends on ARM_BIG_LITTLE_CPUFREQ && OF
39	help
40	  This enables probing via DT for Generic CPUfreq driver for ARM
41	  big.LITTLE platform. This gets frequency tables from DT.
42
43config ARM_VEXPRESS_SPC_CPUFREQ
44        tristate "Versatile Express SPC based CPUfreq driver"
45	depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
46        help
47          This add the CPUfreq driver support for Versatile Express
48	  big.LITTLE platforms using SPC for power management.
49
50config ARM_EXYNOS5440_CPUFREQ
51	tristate "SAMSUNG EXYNOS5440"
52	depends on SOC_EXYNOS5440
53	depends on HAVE_CLK && OF
54	select PM_OPP
55	default y
56	help
57	  This adds the CPUFreq driver for Samsung EXYNOS5440
58	  SoC. The nature of exynos5440 clock controller is
59	  different than previous exynos controllers so not using
60	  the common exynos framework.
61
62	  If in doubt, say N.
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	depends on !CPU_THERMAL || THERMAL
94	select PM_OPP
95	help
96	  This adds the CPUFreq driver support for MediaTek SoCs.
97
98config ARM_OMAP2PLUS_CPUFREQ
99	bool "TI OMAP2+"
100	depends on ARCH_OMAP2PLUS
101	default ARCH_OMAP2PLUS
102
103config ARM_S3C_CPUFREQ
104	bool
105	help
106	  Internal configuration node for common cpufreq on Samsung SoC
107
108config ARM_S3C24XX_CPUFREQ
109	bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
110	depends on ARCH_S3C24XX
111	select ARM_S3C_CPUFREQ
112	help
113	  This enables the CPUfreq driver for the Samsung S3C24XX family
114	  of CPUs.
115
116	  For details, take a look at <file:Documentation/cpu-freq>.
117
118	  If in doubt, say N.
119
120config ARM_S3C24XX_CPUFREQ_DEBUG
121	bool "Debug CPUfreq Samsung driver core"
122	depends on ARM_S3C24XX_CPUFREQ
123	help
124	  Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
125
126config ARM_S3C24XX_CPUFREQ_IODEBUG
127	bool "Debug CPUfreq Samsung driver IO timing"
128	depends on ARM_S3C24XX_CPUFREQ
129	help
130	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
131
132config ARM_S3C24XX_CPUFREQ_DEBUGFS
133	bool "Export debugfs for CPUFreq"
134	depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
135	help
136	  Export status information via debugfs.
137
138config ARM_S3C2410_CPUFREQ
139	bool
140	depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
141	select S3C2410_CPUFREQ_UTILS
142	help
143	  CPU Frequency scaling support for S3C2410
144
145config ARM_S3C2412_CPUFREQ
146	bool
147	depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
148	default y
149	select S3C2412_IOTIMING
150	help
151	  CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
152
153config ARM_S3C2416_CPUFREQ
154	bool "S3C2416 CPU Frequency scaling support"
155	depends on CPU_S3C2416
156	help
157	  This adds the CPUFreq driver for the Samsung S3C2416 and
158	  S3C2450 SoC. The S3C2416 supports changing the rate of the
159	  armdiv clock source and also entering a so called dynamic
160	  voltage scaling mode in which it is possible to reduce the
161	  core voltage of the CPU.
162
163	  If in doubt, say N.
164
165config ARM_S3C2416_CPUFREQ_VCORESCALE
166	bool "Allow voltage scaling for S3C2416 arm core"
167	depends on ARM_S3C2416_CPUFREQ && REGULATOR
168	help
169	  Enable CPU voltage scaling when entering the dvs mode.
170	  It uses information gathered through existing hardware and
171	  tests but not documented in any datasheet.
172
173	  If in doubt, say N.
174
175config ARM_S3C2440_CPUFREQ
176	bool "S3C2440/S3C2442 CPU Frequency scaling support"
177	depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
178	select S3C2410_CPUFREQ_UTILS
179	default y
180	help
181	  CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
182
183config ARM_S3C64XX_CPUFREQ
184	bool "Samsung S3C64XX"
185	depends on CPU_S3C6410
186	default y
187	help
188	  This adds the CPUFreq driver for Samsung S3C6410 SoC.
189
190	  If in doubt, say N.
191
192config ARM_S5PV210_CPUFREQ
193	bool "Samsung S5PV210 and S5PC110"
194	depends on CPU_S5PV210
195	default y
196	help
197	  This adds the CPUFreq driver for Samsung S5PV210 and
198	  S5PC110 SoCs.
199
200	  If in doubt, say N.
201
202config ARM_SA1100_CPUFREQ
203	bool
204
205config ARM_SA1110_CPUFREQ
206	bool
207
208config ARM_SCPI_CPUFREQ
209        tristate "SCPI based CPUfreq driver"
210	depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
211        help
212	  This adds the CPUfreq driver support for ARM big.LITTLE platforms
213	  using SCPI protocol for CPU power management.
214
215	  This driver uses SCPI Message Protocol driver to interact with the
216	  firmware providing the CPU DVFS functionality.
217
218config ARM_SPEAR_CPUFREQ
219	bool "SPEAr CPUFreq support"
220	depends on PLAT_SPEAR
221	default y
222	help
223	  This adds the CPUFreq driver support for SPEAr SOCs.
224
225config ARM_STI_CPUFREQ
226	tristate "STi CPUFreq support"
227	depends on SOC_STIH407
228	help
229	  This driver uses the generic OPP framework to match the running
230	  platform with a predefined set of suitable values.  If not provided
231	  we will fall-back so safe-values contained in Device Tree.  Enable
232	  this config option if you wish to add CPUFreq support for STi based
233	  SoCs.
234
235config ARM_TANGO_CPUFREQ
236	bool
237	depends on CPUFREQ_DT && ARCH_TANGO
238	default y
239
240config ARM_TEGRA20_CPUFREQ
241	bool "Tegra20 CPUFreq support"
242	depends on ARCH_TEGRA
243	default y
244	help
245	  This adds the CPUFreq driver support for Tegra20 SOCs.
246
247config ARM_TEGRA124_CPUFREQ
248	tristate "Tegra124 CPUFreq support"
249	depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
250	default y
251	help
252	  This adds the CPUFreq driver support for Tegra124 SOCs.
253
254config ARM_TEGRA186_CPUFREQ
255	tristate "Tegra186 CPUFreq support"
256	depends on ARCH_TEGRA && TEGRA_BPMP
257	help
258	  This adds the CPUFreq driver support for Tegra186 SOCs.
259
260config ARM_TI_CPUFREQ
261	bool "Texas Instruments CPUFreq support"
262	depends on ARCH_OMAP2PLUS
263	help
264	  This driver enables valid OPPs on the running platform based on
265	  values contained within the SoC in use. Enable this in order to
266	  use the cpufreq-dt driver on all Texas Instruments platforms that
267	  provide dt based operating-points-v2 tables with opp-supported-hw
268	  data provided. Required for cpufreq support on AM335x, AM437x,
269	  DRA7x, and AM57x platforms.
270
271config ARM_PXA2xx_CPUFREQ
272	tristate "Intel PXA2xx CPUfreq driver"
273	depends on PXA27x || PXA25x
274	help
275	  This add the CPUFreq driver support for Intel PXA2xx SOCs.
276
277	  If in doubt, say N.
278
279config ACPI_CPPC_CPUFREQ
280	tristate "CPUFreq driver based on the ACPI CPPC spec"
281	depends on ACPI_PROCESSOR
282	select ACPI_CPPC_LIB
283	default n
284	help
285	  This adds a CPUFreq driver which uses CPPC methods
286	  as described in the ACPIv5.1 spec. CPPC stands for
287	  Collaborative Processor Performance Controls. It
288	  is based on an abstract continuous scale of CPU
289	  performance values which allows the remote power
290	  processor to flexibly optimize for power and
291	  performance. CPPC relies on power management firmware
292	  support for its operation.
293
294	  If in doubt, say N.
295