blob: bdce4488ded1709b40282e8b14c614ee14e35ac8 [file] [log] [blame]
Kukjin Kimf7d77072011-06-01 14:18:22 -07001#
2# ARM CPU Frequency scaling drivers
3#
4
viresh kumar3b84d582014-03-14 12:10:54 +05305# big LITTLE core layer and glue drivers
Viresh Kumar8a67f0e2013-04-01 12:57:49 +00006config ARM_BIG_LITTLE_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +05307 tristate "Generic ARM big LITTLE CPUfreq driver"
Sudeep Holla14730142015-05-13 13:35:52 +01008 depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
Punit Agrawal2f7e8a12015-11-17 12:06:23 +00009 # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
10 depends on !CPU_THERMAL || THERMAL
Mark Brown109df082013-12-11 22:12:27 +000011 select PM_OPP
Viresh Kumar99af7712013-05-04 12:03:54 +053012 help
13 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000014
Markus Mayerde322e02016-10-27 14:05:35 -070015config 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
Markus Mayer33de45c2016-10-27 14:05:36 -070026config 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
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000036config ARM_DT_BL_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053037 tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
38 depends on ARM_BIG_LITTLE_CPUFREQ && OF
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000039 help
Viresh Kumar99af7712013-05-04 12:03:54 +053040 This enables probing via DT for Generic CPUfreq driver for ARM
41 big.LITTLE platform. This gets frequency tables from DT.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000042
viresh kumar3b84d582014-03-14 12:10:54 +053043config 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
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040050config 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
Viresh Kumara0ea0482013-04-04 12:54:09 +000064config ARM_HIGHBANK_CPUFREQ
65 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053066 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000067 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
Shawn Guo1d0eaae2013-12-20 10:12:16 +080075 tristate "Freescale i.MX6 cpufreq support"
76 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000077 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030078 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000079 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080080 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000081
82 If in doubt, say N.
83
84config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +020085 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +000086 help
87 This adds the CPUFreq driver for Marvell Kirkwood
88 SoCs.
89
Sean Wang501c5742017-07-18 14:01:43 +080090config ARM_MEDIATEK_CPUFREQ
91 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +080092 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010093 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +080094 select PM_OPP
95 help
Sean Wang501c5742017-07-18 14:01:43 +080096 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +080097
Russell Kingb09db452012-02-15 11:01:11 -080098config ARM_OMAP2PLUS_CPUFREQ
99 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700100 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800101 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800102
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000103config ARM_S3C_CPUFREQ
104 bool
105 help
106 Internal configuration node for common cpufreq on Samsung SoC
107
108config ARM_S3C24XX_CPUFREQ
109 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
110 depends on ARCH_S3C24XX
111 select ARM_S3C_CPUFREQ
112 help
113 This enables the CPUfreq driver for the Samsung S3C24XX family
114 of CPUs.
115
116 For details, take a look at <file:Documentation/cpu-freq>.
117
118 If in doubt, say N.
119
120config ARM_S3C24XX_CPUFREQ_DEBUG
121 bool "Debug CPUfreq Samsung driver core"
122 depends on ARM_S3C24XX_CPUFREQ
123 help
124 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
125
126config ARM_S3C24XX_CPUFREQ_IODEBUG
127 bool "Debug CPUfreq Samsung driver IO timing"
128 depends on ARM_S3C24XX_CPUFREQ
129 help
130 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
131
132config ARM_S3C24XX_CPUFREQ_DEBUGFS
133 bool "Export debugfs for CPUFreq"
134 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
135 help
136 Export status information via debugfs.
137
138config ARM_S3C2410_CPUFREQ
139 bool
140 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
141 select S3C2410_CPUFREQ_UTILS
142 help
143 CPU Frequency scaling support for S3C2410
144
145config ARM_S3C2412_CPUFREQ
146 bool
147 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
148 default y
149 select S3C2412_IOTIMING
150 help
151 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
152
Heiko Stübner34ee55072012-02-16 11:42:32 +0100153config ARM_S3C2416_CPUFREQ
154 bool "S3C2416 CPU Frequency scaling support"
155 depends on CPU_S3C2416
156 help
157 This adds the CPUFreq driver for the Samsung S3C2416 and
158 S3C2450 SoC. The S3C2416 supports changing the rate of the
159 armdiv clock source and also entering a so called dynamic
160 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300161 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100162
163 If in doubt, say N.
164
165config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b52012-10-02 11:16:53 -0700166 bool "Allow voltage scaling for S3C2416 arm core"
167 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100168 help
169 Enable CPU voltage scaling when entering the dvs mode.
170 It uses information gathered through existing hardware and
171 tests but not documented in any datasheet.
172
173 If in doubt, say N.
174
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000175config ARM_S3C2440_CPUFREQ
176 bool "S3C2440/S3C2442 CPU Frequency scaling support"
177 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
178 select S3C2410_CPUFREQ_UTILS
179 default y
180 help
181 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
182
Kukjin Kim15964d32011-06-06 18:43:01 -0700183config ARM_S3C64XX_CPUFREQ
184 bool "Samsung S3C64XX"
185 depends on CPU_S3C6410
186 default y
187 help
188 This adds the CPUFreq driver for Samsung S3C6410 SoC.
189
190 If in doubt, say N.
191
Kukjin Kimf7d77072011-06-01 14:18:22 -0700192config ARM_S5PV210_CPUFREQ
193 bool "Samsung S5PV210 and S5PC110"
194 depends on CPU_S5PV210
195 default y
196 help
197 This adds the CPUFreq driver for Samsung S5PV210 and
198 S5PC110 SoCs.
199
200 If in doubt, say N.
201
Viresh Kumar59a2e612013-04-04 12:54:16 +0000202config ARM_SA1100_CPUFREQ
203 bool
204
205config ARM_SA1110_CPUFREQ
206 bool
207
Sudeep Holla8def3102015-03-30 10:59:52 +0100208config ARM_SCPI_CPUFREQ
209 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000210 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100211 help
212 This adds the CPUfreq driver support for ARM big.LITTLE platforms
213 using SCPI protocol for CPU power management.
214
215 This driver uses SCPI Message Protocol driver to interact with the
216 firmware providing the CPU DVFS functionality.
217
Deepak Sikri42099322012-11-27 14:05:26 +0100218config ARM_SPEAR_CPUFREQ
219 bool "SPEAr CPUFreq support"
220 depends on PLAT_SPEAR
221 default y
222 help
223 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530224
Lee Jonesab0ea252015-12-10 09:42:16 +0000225config ARM_STI_CPUFREQ
226 tristate "STi CPUFreq support"
227 depends on SOC_STIH407
228 help
229 This driver uses the generic OPP framework to match the running
230 platform with a predefined set of suitable values. If not provided
231 we will fall-back so safe-values contained in Device Tree. Enable
232 this config option if you wish to add CPUFreq support for STi based
233 SoCs.
234
Marc Gonzalez9dbd2242017-07-18 18:48:39 +0200235config ARM_TANGO_CPUFREQ
236 bool
237 depends on CPUFREQ_DT && ARCH_TANGO
238 default y
239
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300240config ARM_TEGRA20_CPUFREQ
241 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530242 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530243 default y
244 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300245 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100246
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300247config ARM_TEGRA124_CPUFREQ
248 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100249 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300250 default y
251 help
252 This adds the CPUFreq driver support for Tegra124 SOCs.
253
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300254config ARM_TEGRA186_CPUFREQ
255 tristate "Tegra186 CPUFreq support"
256 depends on ARCH_TEGRA && TEGRA_BPMP
257 help
258 This adds the CPUFreq driver support for Tegra186 SOCs.
259
Dave Gerlache13cf042017-02-03 11:29:28 -0600260config ARM_TI_CPUFREQ
261 bool "Texas Instruments CPUFreq support"
262 depends on ARCH_OMAP2PLUS
263 help
264 This driver enables valid OPPs on the running platform based on
265 values contained within the SoC in use. Enable this in order to
266 use the cpufreq-dt driver on all Texas Instruments platforms that
267 provide dt based operating-points-v2 tables with opp-supported-hw
268 data provided. Required for cpufreq support on AM335x, AM437x,
269 DRA7x, and AM57x platforms.
270
Petr Cvek608eab22014-11-24 04:59:26 +0100271config ARM_PXA2xx_CPUFREQ
272 tristate "Intel PXA2xx CPUfreq driver"
273 depends on PXA27x || PXA25x
274 help
275 This add the CPUFreq driver support for Intel PXA2xx SOCs.
276
277 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400278
279config ACPI_CPPC_CPUFREQ
280 tristate "CPUFreq driver based on the ACPI CPPC spec"
Arnd Bergmanna5788842017-02-14 22:19:18 +0100281 depends on ACPI_PROCESSOR
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400282 select ACPI_CPPC_LIB
283 default n
284 help
285 This adds a CPUFreq driver which uses CPPC methods
286 as described in the ACPIv5.1 spec. CPPC stands for
287 Collaborative Processor Performance Controls. It
288 is based on an abstract continuous scale of CPU
289 performance values which allows the remote power
290 processor to flexibly optimize for power and
291 performance. CPPC relies on power management firmware
292 support for its operation.
293
294 If in doubt, say N.