xref: /openbmc/linux/drivers/cpufreq/Kconfig.arm (revision 160b8e75)
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_SPEAR_CPUFREQ
242	bool "SPEAr CPUFreq support"
243	depends on PLAT_SPEAR
244	default y
245	help
246	  This adds the CPUFreq driver support for SPEAr SOCs.
247
248config ARM_STI_CPUFREQ
249	tristate "STi CPUFreq support"
250	depends on SOC_STIH407
251	help
252	  This driver uses the generic OPP framework to match the running
253	  platform with a predefined set of suitable values.  If not provided
254	  we will fall-back so safe-values contained in Device Tree.  Enable
255	  this config option if you wish to add CPUFreq support for STi based
256	  SoCs.
257
258config ARM_TANGO_CPUFREQ
259	bool
260	depends on CPUFREQ_DT && ARCH_TANGO
261	default y
262
263config ARM_TEGRA20_CPUFREQ
264	bool "Tegra20 CPUFreq support"
265	depends on ARCH_TEGRA
266	default y
267	help
268	  This adds the CPUFreq driver support for Tegra20 SOCs.
269
270config ARM_TEGRA124_CPUFREQ
271	tristate "Tegra124 CPUFreq support"
272	depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
273	default y
274	help
275	  This adds the CPUFreq driver support for Tegra124 SOCs.
276
277config ARM_TEGRA186_CPUFREQ
278	tristate "Tegra186 CPUFreq support"
279	depends on ARCH_TEGRA && TEGRA_BPMP
280	help
281	  This adds the CPUFreq driver support for Tegra186 SOCs.
282
283config ARM_TI_CPUFREQ
284	bool "Texas Instruments CPUFreq support"
285	depends on ARCH_OMAP2PLUS
286	help
287	  This driver enables valid OPPs on the running platform based on
288	  values contained within the SoC in use. Enable this in order to
289	  use the cpufreq-dt driver on all Texas Instruments platforms that
290	  provide dt based operating-points-v2 tables with opp-supported-hw
291	  data provided. Required for cpufreq support on AM335x, AM437x,
292	  DRA7x, and AM57x platforms.
293
294config ARM_PXA2xx_CPUFREQ
295	tristate "Intel PXA2xx CPUfreq driver"
296	depends on PXA27x || PXA25x
297	help
298	  This add the CPUFreq driver support for Intel PXA2xx SOCs.
299
300	  If in doubt, say N.
301