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