xref: /linux/drivers/cpufreq/Kconfig.arm (revision ab520be8cd5d56867fc95cfbc34b90880faf1f9d)
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_MT8173_CPUFREQ
91	tristate "Mediatek MT8173 CPUFreq support"
92	depends on ARCH_MEDIATEK && REGULATOR
93	depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
94	depends on !CPU_THERMAL || THERMAL
95	select PM_OPP
96	help
97	  This adds the CPUFreq driver support for Mediatek MT8173 SoC.
98
99config ARM_OMAP2PLUS_CPUFREQ
100	bool "TI OMAP2+"
101	depends on ARCH_OMAP2PLUS
102	default ARCH_OMAP2PLUS
103
104config ARM_S3C_CPUFREQ
105	bool
106	help
107	  Internal configuration node for common cpufreq on Samsung SoC
108
109config ARM_S3C24XX_CPUFREQ
110	bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
111	depends on ARCH_S3C24XX
112	select ARM_S3C_CPUFREQ
113	help
114	  This enables the CPUfreq driver for the Samsung S3C24XX family
115	  of CPUs.
116
117	  For details, take a look at <file:Documentation/cpu-freq>.
118
119	  If in doubt, say N.
120
121config ARM_S3C24XX_CPUFREQ_DEBUG
122	bool "Debug CPUfreq Samsung driver core"
123	depends on ARM_S3C24XX_CPUFREQ
124	help
125	  Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
126
127config ARM_S3C24XX_CPUFREQ_IODEBUG
128	bool "Debug CPUfreq Samsung driver IO timing"
129	depends on ARM_S3C24XX_CPUFREQ
130	help
131	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
132
133config ARM_S3C24XX_CPUFREQ_DEBUGFS
134	bool "Export debugfs for CPUFreq"
135	depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
136	help
137	  Export status information via debugfs.
138
139config ARM_S3C2410_CPUFREQ
140	bool
141	depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
142	select S3C2410_CPUFREQ_UTILS
143	help
144	  CPU Frequency scaling support for S3C2410
145
146config ARM_S3C2412_CPUFREQ
147	bool
148	depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
149	default y
150	select S3C2412_IOTIMING
151	help
152	  CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
153
154config ARM_S3C2416_CPUFREQ
155	bool "S3C2416 CPU Frequency scaling support"
156	depends on CPU_S3C2416
157	help
158	  This adds the CPUFreq driver for the Samsung S3C2416 and
159	  S3C2450 SoC. The S3C2416 supports changing the rate of the
160	  armdiv clock source and also entering a so called dynamic
161	  voltage scaling mode in which it is possible to reduce the
162	  core voltage of the CPU.
163
164	  If in doubt, say N.
165
166config ARM_S3C2416_CPUFREQ_VCORESCALE
167	bool "Allow voltage scaling for S3C2416 arm core"
168	depends on ARM_S3C2416_CPUFREQ && REGULATOR
169	help
170	  Enable CPU voltage scaling when entering the dvs mode.
171	  It uses information gathered through existing hardware and
172	  tests but not documented in any datasheet.
173
174	  If in doubt, say N.
175
176config ARM_S3C2440_CPUFREQ
177	bool "S3C2440/S3C2442 CPU Frequency scaling support"
178	depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
179	select S3C2410_CPUFREQ_UTILS
180	default y
181	help
182	  CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
183
184config ARM_S3C64XX_CPUFREQ
185	bool "Samsung S3C64XX"
186	depends on CPU_S3C6410
187	default y
188	help
189	  This adds the CPUFreq driver for Samsung S3C6410 SoC.
190
191	  If in doubt, say N.
192
193config ARM_S5PV210_CPUFREQ
194	bool "Samsung S5PV210 and S5PC110"
195	depends on CPU_S5PV210
196	default y
197	help
198	  This adds the CPUFreq driver for Samsung S5PV210 and
199	  S5PC110 SoCs.
200
201	  If in doubt, say N.
202
203config ARM_SA1100_CPUFREQ
204	bool
205
206config ARM_SA1110_CPUFREQ
207	bool
208
209config ARM_SCPI_CPUFREQ
210        tristate "SCPI based CPUfreq driver"
211	depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
212        help
213	  This adds the CPUfreq driver support for ARM big.LITTLE platforms
214	  using SCPI protocol for CPU power management.
215
216	  This driver uses SCPI Message Protocol driver to interact with the
217	  firmware providing the CPU DVFS functionality.
218
219config ARM_SPEAR_CPUFREQ
220	bool "SPEAr CPUFreq support"
221	depends on PLAT_SPEAR
222	default y
223	help
224	  This adds the CPUFreq driver support for SPEAr SOCs.
225
226config ARM_STI_CPUFREQ
227	tristate "STi CPUFreq support"
228	depends on SOC_STIH407
229	help
230	  This driver uses the generic OPP framework to match the running
231	  platform with a predefined set of suitable values.  If not provided
232	  we will fall-back so safe-values contained in Device Tree.  Enable
233	  this config option if you wish to add CPUFreq support for STi based
234	  SoCs.
235
236config ARM_TEGRA20_CPUFREQ
237	bool "Tegra20 CPUFreq support"
238	depends on ARCH_TEGRA
239	default y
240	help
241	  This adds the CPUFreq driver support for Tegra20 SOCs.
242
243config ARM_TEGRA124_CPUFREQ
244	tristate "Tegra124 CPUFreq support"
245	depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
246	default y
247	help
248	  This adds the CPUFreq driver support for Tegra124 SOCs.
249
250config ARM_PXA2xx_CPUFREQ
251	tristate "Intel PXA2xx CPUfreq driver"
252	depends on PXA27x || PXA25x
253	help
254	  This add the CPUFreq driver support for Intel PXA2xx SOCs.
255
256	  If in doubt, say N.
257
258config ACPI_CPPC_CPUFREQ
259	tristate "CPUFreq driver based on the ACPI CPPC spec"
260	depends on ACPI
261	select ACPI_CPPC_LIB
262	default n
263	help
264	  This adds a CPUFreq driver which uses CPPC methods
265	  as described in the ACPIv5.1 spec. CPPC stands for
266	  Collaborative Processor Performance Controls. It
267	  is based on an abstract continuous scale of CPU
268	  performance values which allows the remote power
269	  processor to flexibly optimize for power and
270	  performance. CPPC relies on power management firmware
271	  support for its operation.
272
273	  If in doubt, say N.
274