blob: c7ce928fbf1f55e108e150235afd18b1ee98c314 [file] [log] [blame]
Kukjin Kimf7d77072011-06-01 14:18:22 -07001#
2# ARM CPU Frequency scaling drivers
3#
4
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +01005config 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
Gregory CLEMENT92ce45f2017-12-14 16:00:05 +010021config ARM_ARMADA_37XX_CPUFREQ
22 tristate "Armada 37xx CPUFreq support"
Miquel Raynal0cf442c2018-04-24 17:45:06 +020023 depends on ARCH_MVEBU && CPUFREQ_DT
Gregory CLEMENT92ce45f2017-12-14 16:00:05 +010024 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
viresh kumar3b84d582014-03-14 12:10:54 +053028# big LITTLE core layer and glue drivers
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000029config ARM_BIG_LITTLE_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053030 tristate "Generic ARM big LITTLE CPUfreq driver"
Sudeep Holla14730142015-05-13 13:35:52 +010031 depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
Punit Agrawal2f7e8a12015-11-17 12:06:23 +000032 # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
33 depends on !CPU_THERMAL || THERMAL
Mark Brown109df082013-12-11 22:12:27 +000034 select PM_OPP
Viresh Kumar99af7712013-05-04 12:03:54 +053035 help
36 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000037
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010038config 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"
Sudeep Holla5c8b2622018-02-23 15:54:42 +000047 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Arnd Bergmann3478b242018-03-13 12:45:40 +010048 depends on !CPU_THERMAL || THERMAL
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010049 help
Sudeep Holla5c8b2622018-02-23 15:54:42 +000050 This adds the CPUfreq driver support for ARM platforms using SCPI
51 protocol for CPU power management.
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010052
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
Markus Mayerde322e02016-10-27 14:05:35 -070063config 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
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040074config ARM_EXYNOS5440_CPUFREQ
75 tristate "SAMSUNG EXYNOS5440"
76 depends on SOC_EXYNOS5440
77 depends on HAVE_CLK && OF
78 select PM_OPP
79 default y
80 help
81 This adds the CPUFreq driver for Samsung EXYNOS5440
82 SoC. The nature of exynos5440 clock controller is
83 different than previous exynos controllers so not using
84 the common exynos framework.
85
86 If in doubt, say N.
87
Viresh Kumara0ea0482013-04-04 12:54:09 +000088config ARM_HIGHBANK_CPUFREQ
89 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053090 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000091 default m
92 help
93 This adds the CPUFreq driver for Calxeda Highbank SoC
94 based boards.
95
96 If in doubt, say N.
97
98config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080099 tristate "Freescale i.MX6 cpufreq support"
100 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +0000101 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -0300102 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +0000103 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +0800104 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +0000105
106 If in doubt, say N.
107
108config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +0200109 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +0000110 help
111 This adds the CPUFreq driver for Marvell Kirkwood
112 SoCs.
113
Sean Wang501c5742017-07-18 14:01:43 +0800114config ARM_MEDIATEK_CPUFREQ
115 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800116 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100117 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800118 select PM_OPP
119 help
Sean Wang501c5742017-07-18 14:01:43 +0800120 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800121
Russell Kingb09db452012-02-15 11:01:11 -0800122config ARM_OMAP2PLUS_CPUFREQ
123 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700124 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800125 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800126
Ilia Lin46e28562018-05-30 05:39:28 +0300127config ARM_QCOM_CPUFREQ_KRYO
128 bool "Qualcomm Kryo based CPUFreq"
129 depends on ARM64
130 depends on QCOM_QFPROM
131 depends on QCOM_SMEM
132 select PM_OPP
133 help
134 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
135
136 If in doubt, say N.
137
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000138config ARM_S3C_CPUFREQ
139 bool
140 help
141 Internal configuration node for common cpufreq on Samsung SoC
142
143config ARM_S3C24XX_CPUFREQ
144 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
145 depends on ARCH_S3C24XX
146 select ARM_S3C_CPUFREQ
147 help
148 This enables the CPUfreq driver for the Samsung S3C24XX family
149 of CPUs.
150
151 For details, take a look at <file:Documentation/cpu-freq>.
152
153 If in doubt, say N.
154
155config ARM_S3C24XX_CPUFREQ_DEBUG
156 bool "Debug CPUfreq Samsung driver core"
157 depends on ARM_S3C24XX_CPUFREQ
158 help
159 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
160
161config ARM_S3C24XX_CPUFREQ_IODEBUG
162 bool "Debug CPUfreq Samsung driver IO timing"
163 depends on ARM_S3C24XX_CPUFREQ
164 help
165 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
166
167config ARM_S3C24XX_CPUFREQ_DEBUGFS
168 bool "Export debugfs for CPUFreq"
169 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
170 help
171 Export status information via debugfs.
172
173config ARM_S3C2410_CPUFREQ
174 bool
175 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
176 select S3C2410_CPUFREQ_UTILS
177 help
178 CPU Frequency scaling support for S3C2410
179
180config ARM_S3C2412_CPUFREQ
181 bool
182 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
183 default y
184 select S3C2412_IOTIMING
185 help
186 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
187
Heiko Stübner34ee55072012-02-16 11:42:32 +0100188config ARM_S3C2416_CPUFREQ
189 bool "S3C2416 CPU Frequency scaling support"
190 depends on CPU_S3C2416
191 help
192 This adds the CPUFreq driver for the Samsung S3C2416 and
193 S3C2450 SoC. The S3C2416 supports changing the rate of the
194 armdiv clock source and also entering a so called dynamic
195 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300196 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100197
198 If in doubt, say N.
199
200config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700201 bool "Allow voltage scaling for S3C2416 arm core"
202 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100203 help
204 Enable CPU voltage scaling when entering the dvs mode.
205 It uses information gathered through existing hardware and
206 tests but not documented in any datasheet.
207
208 If in doubt, say N.
209
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000210config ARM_S3C2440_CPUFREQ
211 bool "S3C2440/S3C2442 CPU Frequency scaling support"
212 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
213 select S3C2410_CPUFREQ_UTILS
214 default y
215 help
216 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
217
Kukjin Kim15964d32011-06-06 18:43:01 -0700218config ARM_S3C64XX_CPUFREQ
219 bool "Samsung S3C64XX"
220 depends on CPU_S3C6410
221 default y
222 help
223 This adds the CPUFreq driver for Samsung S3C6410 SoC.
224
225 If in doubt, say N.
226
Kukjin Kimf7d77072011-06-01 14:18:22 -0700227config ARM_S5PV210_CPUFREQ
228 bool "Samsung S5PV210 and S5PC110"
229 depends on CPU_S5PV210
230 default y
231 help
232 This adds the CPUFreq driver for Samsung S5PV210 and
233 S5PC110 SoCs.
234
235 If in doubt, say N.
236
Viresh Kumar59a2e612013-04-04 12:54:16 +0000237config ARM_SA1100_CPUFREQ
238 bool
239
240config ARM_SA1110_CPUFREQ
241 bool
242
Sudeep Holla99d6bdf2017-06-18 09:38:11 +0100243config ARM_SCMI_CPUFREQ
244 tristate "SCMI based CPUfreq driver"
245 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
Arnd Bergmann697a3a82018-03-13 10:37:33 +0100246 depends on !CPU_THERMAL || THERMAL
Sudeep Holla99d6bdf2017-06-18 09:38:11 +0100247 select PM_OPP
248 help
249 This adds the CPUfreq driver support for ARM platforms using SCMI
250 protocol for CPU power management.
251
252 This driver uses SCMI Message Protocol driver to interact with the
253 firmware providing the CPU DVFS functionality.
254
Deepak Sikri42099322012-11-27 14:05:26 +0100255config ARM_SPEAR_CPUFREQ
256 bool "SPEAr CPUFreq support"
257 depends on PLAT_SPEAR
258 default y
259 help
260 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530261
Lee Jonesab0ea252015-12-10 09:42:16 +0000262config ARM_STI_CPUFREQ
263 tristate "STi CPUFreq support"
264 depends on SOC_STIH407
265 help
266 This driver uses the generic OPP framework to match the running
267 platform with a predefined set of suitable values. If not provided
268 we will fall-back so safe-values contained in Device Tree. Enable
269 this config option if you wish to add CPUFreq support for STi based
270 SoCs.
271
Marc Gonzalez9dbd2242017-07-18 18:48:39 +0200272config ARM_TANGO_CPUFREQ
273 bool
274 depends on CPUFREQ_DT && ARCH_TANGO
275 default y
276
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300277config ARM_TEGRA20_CPUFREQ
Dmitry Osipenko7732c9e2018-05-18 23:06:41 +0300278 tristate "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530279 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530280 default y
281 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300282 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100283
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300284config ARM_TEGRA124_CPUFREQ
285 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100286 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300287 default y
288 help
289 This adds the CPUFreq driver support for Tegra124 SOCs.
290
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300291config ARM_TEGRA186_CPUFREQ
292 tristate "Tegra186 CPUFreq support"
293 depends on ARCH_TEGRA && TEGRA_BPMP
294 help
295 This adds the CPUFreq driver support for Tegra186 SOCs.
296
Dave Gerlache13cf042017-02-03 11:29:28 -0600297config ARM_TI_CPUFREQ
298 bool "Texas Instruments CPUFreq support"
299 depends on ARCH_OMAP2PLUS
300 help
301 This driver enables valid OPPs on the running platform based on
302 values contained within the SoC in use. Enable this in order to
303 use the cpufreq-dt driver on all Texas Instruments platforms that
304 provide dt based operating-points-v2 tables with opp-supported-hw
305 data provided. Required for cpufreq support on AM335x, AM437x,
306 DRA7x, and AM57x platforms.
307
Petr Cvek608eab22014-11-24 04:59:26 +0100308config ARM_PXA2xx_CPUFREQ
309 tristate "Intel PXA2xx CPUfreq driver"
310 depends on PXA27x || PXA25x
311 help
312 This add the CPUFreq driver support for Intel PXA2xx SOCs.
313
314 If in doubt, say N.