blob: beb8826afbb1a0d0e977ca5b1f22505bdc5d75ba [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
viresh kumar3b84d582014-03-14 12:10:54 +053021# big LITTLE core layer and glue drivers
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000022config ARM_BIG_LITTLE_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053023 tristate "Generic ARM big LITTLE CPUfreq driver"
Sudeep Holla14730142015-05-13 13:35:52 +010024 depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
Punit Agrawal2f7e8a12015-11-17 12:06:23 +000025 # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
26 depends on !CPU_THERMAL || THERMAL
Mark Brown109df082013-12-11 22:12:27 +000027 select PM_OPP
Viresh Kumar99af7712013-05-04 12:03:54 +053028 help
29 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000030
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010031config ARM_DT_BL_CPUFREQ
32 tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
33 depends on ARM_BIG_LITTLE_CPUFREQ && OF
34 help
35 This enables probing via DT for Generic CPUfreq driver for ARM
36 big.LITTLE platform. This gets frequency tables from DT.
37
38config ARM_SCPI_CPUFREQ
39 tristate "SCPI based CPUfreq driver"
40 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
41 help
42 This adds the CPUfreq driver support for ARM big.LITTLE platforms
43 using SCPI protocol for CPU power management.
44
45 This driver uses SCPI Message Protocol driver to interact with the
46 firmware providing the CPU DVFS functionality.
47
48config ARM_VEXPRESS_SPC_CPUFREQ
49 tristate "Versatile Express SPC based CPUfreq driver"
50 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
51 help
52 This add the CPUfreq driver support for Versatile Express
53 big.LITTLE platforms using SPC for power management.
54
Markus Mayerde322e02016-10-27 14:05:35 -070055config ARM_BRCMSTB_AVS_CPUFREQ
56 tristate "Broadcom STB AVS CPUfreq driver"
57 depends on ARCH_BRCMSTB || COMPILE_TEST
58 default y
59 help
60 Some Broadcom STB SoCs use a co-processor running proprietary firmware
61 ("AVS") to handle voltage and frequency scaling. This driver provides
62 a standard CPUfreq interface to to the firmware.
63
64 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
65
Markus Mayer33de45c2016-10-27 14:05:36 -070066config ARM_BRCMSTB_AVS_CPUFREQ_DEBUG
67 bool "Broadcom STB AVS CPUfreq driver sysfs debug capability"
68 depends on ARM_BRCMSTB_AVS_CPUFREQ
69 help
70 Enabling this option turns on debug support via sysfs under
71 /sys/kernel/debug/brcmstb-avs-cpufreq. It is possible to read all and
72 write some AVS mailbox registers through sysfs entries.
73
74 If in doubt, say N.
75
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040076config ARM_EXYNOS5440_CPUFREQ
77 tristate "SAMSUNG EXYNOS5440"
78 depends on SOC_EXYNOS5440
79 depends on HAVE_CLK && OF
80 select PM_OPP
81 default y
82 help
83 This adds the CPUFreq driver for Samsung EXYNOS5440
84 SoC. The nature of exynos5440 clock controller is
85 different than previous exynos controllers so not using
86 the common exynos framework.
87
88 If in doubt, say N.
89
Viresh Kumara0ea0482013-04-04 12:54:09 +000090config ARM_HIGHBANK_CPUFREQ
91 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053092 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000093 default m
94 help
95 This adds the CPUFreq driver for Calxeda Highbank SoC
96 based boards.
97
98 If in doubt, say N.
99
100config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +0800101 tristate "Freescale i.MX6 cpufreq support"
102 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +0000103 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -0300104 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +0000105 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +0800106 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +0000107
108 If in doubt, say N.
109
110config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +0200111 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +0000112 help
113 This adds the CPUFreq driver for Marvell Kirkwood
114 SoCs.
115
Sean Wang501c5742017-07-18 14:01:43 +0800116config ARM_MEDIATEK_CPUFREQ
117 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800118 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100119 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800120 select PM_OPP
121 help
Sean Wang501c5742017-07-18 14:01:43 +0800122 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800123
Russell Kingb09db452012-02-15 11:01:11 -0800124config ARM_OMAP2PLUS_CPUFREQ
125 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700126 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800127 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800128
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000129config ARM_S3C_CPUFREQ
130 bool
131 help
132 Internal configuration node for common cpufreq on Samsung SoC
133
134config ARM_S3C24XX_CPUFREQ
135 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
136 depends on ARCH_S3C24XX
137 select ARM_S3C_CPUFREQ
138 help
139 This enables the CPUfreq driver for the Samsung S3C24XX family
140 of CPUs.
141
142 For details, take a look at <file:Documentation/cpu-freq>.
143
144 If in doubt, say N.
145
146config ARM_S3C24XX_CPUFREQ_DEBUG
147 bool "Debug CPUfreq Samsung driver core"
148 depends on ARM_S3C24XX_CPUFREQ
149 help
150 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
151
152config ARM_S3C24XX_CPUFREQ_IODEBUG
153 bool "Debug CPUfreq Samsung driver IO timing"
154 depends on ARM_S3C24XX_CPUFREQ
155 help
156 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
157
158config ARM_S3C24XX_CPUFREQ_DEBUGFS
159 bool "Export debugfs for CPUFreq"
160 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
161 help
162 Export status information via debugfs.
163
164config ARM_S3C2410_CPUFREQ
165 bool
166 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
167 select S3C2410_CPUFREQ_UTILS
168 help
169 CPU Frequency scaling support for S3C2410
170
171config ARM_S3C2412_CPUFREQ
172 bool
173 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
174 default y
175 select S3C2412_IOTIMING
176 help
177 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
178
Heiko Stübner34ee55072012-02-16 11:42:32 +0100179config ARM_S3C2416_CPUFREQ
180 bool "S3C2416 CPU Frequency scaling support"
181 depends on CPU_S3C2416
182 help
183 This adds the CPUFreq driver for the Samsung S3C2416 and
184 S3C2450 SoC. The S3C2416 supports changing the rate of the
185 armdiv clock source and also entering a so called dynamic
186 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300187 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100188
189 If in doubt, say N.
190
191config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700192 bool "Allow voltage scaling for S3C2416 arm core"
193 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100194 help
195 Enable CPU voltage scaling when entering the dvs mode.
196 It uses information gathered through existing hardware and
197 tests but not documented in any datasheet.
198
199 If in doubt, say N.
200
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000201config ARM_S3C2440_CPUFREQ
202 bool "S3C2440/S3C2442 CPU Frequency scaling support"
203 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
204 select S3C2410_CPUFREQ_UTILS
205 default y
206 help
207 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
208
Kukjin Kim15964d32011-06-06 18:43:01 -0700209config ARM_S3C64XX_CPUFREQ
210 bool "Samsung S3C64XX"
211 depends on CPU_S3C6410
212 default y
213 help
214 This adds the CPUFreq driver for Samsung S3C6410 SoC.
215
216 If in doubt, say N.
217
Kukjin Kimf7d77072011-06-01 14:18:22 -0700218config ARM_S5PV210_CPUFREQ
219 bool "Samsung S5PV210 and S5PC110"
220 depends on CPU_S5PV210
221 default y
222 help
223 This adds the CPUFreq driver for Samsung S5PV210 and
224 S5PC110 SoCs.
225
226 If in doubt, say N.
227
Viresh Kumar59a2e612013-04-04 12:54:16 +0000228config ARM_SA1100_CPUFREQ
229 bool
230
231config ARM_SA1110_CPUFREQ
232 bool
233
Deepak Sikri42099322012-11-27 14:05:26 +0100234config ARM_SPEAR_CPUFREQ
235 bool "SPEAr CPUFreq support"
236 depends on PLAT_SPEAR
237 default y
238 help
239 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530240
Lee Jonesab0ea252015-12-10 09:42:16 +0000241config ARM_STI_CPUFREQ
242 tristate "STi CPUFreq support"
243 depends on SOC_STIH407
244 help
245 This driver uses the generic OPP framework to match the running
246 platform with a predefined set of suitable values. If not provided
247 we will fall-back so safe-values contained in Device Tree. Enable
248 this config option if you wish to add CPUFreq support for STi based
249 SoCs.
250
Marc Gonzalez9dbd2242017-07-18 18:48:39 +0200251config ARM_TANGO_CPUFREQ
252 bool
253 depends on CPUFREQ_DT && ARCH_TANGO
254 default y
255
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300256config ARM_TEGRA20_CPUFREQ
257 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530258 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530259 default y
260 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300261 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100262
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300263config ARM_TEGRA124_CPUFREQ
264 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100265 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300266 default y
267 help
268 This adds the CPUFreq driver support for Tegra124 SOCs.
269
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300270config ARM_TEGRA186_CPUFREQ
271 tristate "Tegra186 CPUFreq support"
272 depends on ARCH_TEGRA && TEGRA_BPMP
273 help
274 This adds the CPUFreq driver support for Tegra186 SOCs.
275
Dave Gerlache13cf042017-02-03 11:29:28 -0600276config ARM_TI_CPUFREQ
277 bool "Texas Instruments CPUFreq support"
278 depends on ARCH_OMAP2PLUS
279 help
280 This driver enables valid OPPs on the running platform based on
281 values contained within the SoC in use. Enable this in order to
282 use the cpufreq-dt driver on all Texas Instruments platforms that
283 provide dt based operating-points-v2 tables with opp-supported-hw
284 data provided. Required for cpufreq support on AM335x, AM437x,
285 DRA7x, and AM57x platforms.
286
Petr Cvek608eab22014-11-24 04:59:26 +0100287config ARM_PXA2xx_CPUFREQ
288 tristate "Intel PXA2xx CPUfreq driver"
289 depends on PXA27x || PXA25x
290 help
291 This add the CPUFreq driver support for Intel PXA2xx SOCs.
292
293 If in doubt, say N.