blob: 2011fec2d6ad9d5b4ad1b089c38a1be23baeb509 [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
Arnd Bergmannbe0408d2017-05-11 14:12:29 +020074config ARM_DB8500_CPUFREQ
75 tristate "ST-Ericsson DB8500 cpufreq" if COMPILE_TEST && !ARCH_U8500
76 default ARCH_U8500
77 depends on HAS_IOMEM
78 depends on !CPU_THERMAL || THERMAL
79 help
80 This adds the CPUFreq driver for ST-Ericsson Ux500 (DB8500) SoC
81 series.
82
Viresh Kumara0ea0482013-04-04 12:54:09 +000083config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080084 tristate "Freescale i.MX6 cpufreq support"
85 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000086 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030087 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000088 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080089 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000090
91 If in doubt, say N.
92
93config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +020094 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +000095 help
96 This adds the CPUFreq driver for Marvell Kirkwood
97 SoCs.
98
Pi-Cheng Chen14538632015-08-19 10:05:06 +080099config ARM_MT8173_CPUFREQ
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100100 tristate "Mediatek MT8173 CPUFreq support"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800101 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann2d4ee302015-11-16 22:27:55 +0100102 depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100103 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800104 select PM_OPP
105 help
106 This adds the CPUFreq driver support for Mediatek MT8173 SoC.
107
Russell Kingb09db452012-02-15 11:01:11 -0800108config ARM_OMAP2PLUS_CPUFREQ
109 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700110 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800111 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800112
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000113config ARM_S3C_CPUFREQ
114 bool
115 help
116 Internal configuration node for common cpufreq on Samsung SoC
117
118config ARM_S3C24XX_CPUFREQ
119 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
120 depends on ARCH_S3C24XX
121 select ARM_S3C_CPUFREQ
122 help
123 This enables the CPUfreq driver for the Samsung S3C24XX family
124 of CPUs.
125
126 For details, take a look at <file:Documentation/cpu-freq>.
127
128 If in doubt, say N.
129
130config ARM_S3C24XX_CPUFREQ_DEBUG
131 bool "Debug CPUfreq Samsung driver core"
132 depends on ARM_S3C24XX_CPUFREQ
133 help
134 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
135
136config ARM_S3C24XX_CPUFREQ_IODEBUG
137 bool "Debug CPUfreq Samsung driver IO timing"
138 depends on ARM_S3C24XX_CPUFREQ
139 help
140 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
141
142config ARM_S3C24XX_CPUFREQ_DEBUGFS
143 bool "Export debugfs for CPUFreq"
144 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
145 help
146 Export status information via debugfs.
147
148config ARM_S3C2410_CPUFREQ
149 bool
150 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
151 select S3C2410_CPUFREQ_UTILS
152 help
153 CPU Frequency scaling support for S3C2410
154
155config ARM_S3C2412_CPUFREQ
156 bool
157 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
158 default y
159 select S3C2412_IOTIMING
160 help
161 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
162
Heiko Stübner34ee55072012-02-16 11:42:32 +0100163config ARM_S3C2416_CPUFREQ
164 bool "S3C2416 CPU Frequency scaling support"
165 depends on CPU_S3C2416
166 help
167 This adds the CPUFreq driver for the Samsung S3C2416 and
168 S3C2450 SoC. The S3C2416 supports changing the rate of the
169 armdiv clock source and also entering a so called dynamic
170 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300171 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100172
173 If in doubt, say N.
174
175config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b52012-10-02 11:16:53 -0700176 bool "Allow voltage scaling for S3C2416 arm core"
177 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100178 help
179 Enable CPU voltage scaling when entering the dvs mode.
180 It uses information gathered through existing hardware and
181 tests but not documented in any datasheet.
182
183 If in doubt, say N.
184
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000185config ARM_S3C2440_CPUFREQ
186 bool "S3C2440/S3C2442 CPU Frequency scaling support"
187 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
188 select S3C2410_CPUFREQ_UTILS
189 default y
190 help
191 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
192
Kukjin Kim15964d32011-06-06 18:43:01 -0700193config ARM_S3C64XX_CPUFREQ
194 bool "Samsung S3C64XX"
195 depends on CPU_S3C6410
196 default y
197 help
198 This adds the CPUFreq driver for Samsung S3C6410 SoC.
199
200 If in doubt, say N.
201
Kukjin Kimf7d77072011-06-01 14:18:22 -0700202config ARM_S5PV210_CPUFREQ
203 bool "Samsung S5PV210 and S5PC110"
204 depends on CPU_S5PV210
205 default y
206 help
207 This adds the CPUFreq driver for Samsung S5PV210 and
208 S5PC110 SoCs.
209
210 If in doubt, say N.
211
Viresh Kumar59a2e612013-04-04 12:54:16 +0000212config ARM_SA1100_CPUFREQ
213 bool
214
215config ARM_SA1110_CPUFREQ
216 bool
217
Sudeep Holla8def3102015-03-30 10:59:52 +0100218config ARM_SCPI_CPUFREQ
219 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000220 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100221 help
222 This adds the CPUfreq driver support for ARM big.LITTLE platforms
223 using SCPI protocol for CPU power management.
224
225 This driver uses SCPI Message Protocol driver to interact with the
226 firmware providing the CPU DVFS functionality.
227
Deepak Sikri42099322012-11-27 14:05:26 +0100228config ARM_SPEAR_CPUFREQ
229 bool "SPEAr CPUFreq support"
230 depends on PLAT_SPEAR
231 default y
232 help
233 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530234
Lee Jonesab0ea252015-12-10 09:42:16 +0000235config ARM_STI_CPUFREQ
236 tristate "STi CPUFreq support"
237 depends on SOC_STIH407
238 help
239 This driver uses the generic OPP framework to match the running
240 platform with a predefined set of suitable values. If not provided
241 we will fall-back so safe-values contained in Device Tree. Enable
242 this config option if you wish to add CPUFreq support for STi based
243 SoCs.
244
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300245config ARM_TEGRA20_CPUFREQ
246 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530247 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530248 default y
249 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300250 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100251
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300252config ARM_TEGRA124_CPUFREQ
253 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100254 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300255 default y
256 help
257 This adds the CPUFreq driver support for Tegra124 SOCs.
258
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300259config ARM_TEGRA186_CPUFREQ
260 tristate "Tegra186 CPUFreq support"
261 depends on ARCH_TEGRA && TEGRA_BPMP
262 help
263 This adds the CPUFreq driver support for Tegra186 SOCs.
264
Dave Gerlache13cf042017-02-03 11:29:28 -0600265config ARM_TI_CPUFREQ
266 bool "Texas Instruments CPUFreq support"
267 depends on ARCH_OMAP2PLUS
268 help
269 This driver enables valid OPPs on the running platform based on
270 values contained within the SoC in use. Enable this in order to
271 use the cpufreq-dt driver on all Texas Instruments platforms that
272 provide dt based operating-points-v2 tables with opp-supported-hw
273 data provided. Required for cpufreq support on AM335x, AM437x,
274 DRA7x, and AM57x platforms.
275
Petr Cvek608eab22014-11-24 04:59:26 +0100276config ARM_PXA2xx_CPUFREQ
277 tristate "Intel PXA2xx CPUfreq driver"
278 depends on PXA27x || PXA25x
279 help
280 This add the CPUFreq driver support for Intel PXA2xx SOCs.
281
282 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400283
284config ACPI_CPPC_CPUFREQ
285 tristate "CPUFreq driver based on the ACPI CPPC spec"
Arnd Bergmanna5788842017-02-14 22:19:18 +0100286 depends on ACPI_PROCESSOR
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400287 select ACPI_CPPC_LIB
288 default n
289 help
290 This adds a CPUFreq driver which uses CPPC methods
291 as described in the ACPIv5.1 spec. CPPC stands for
292 Collaborative Processor Performance Controls. It
293 is based on an abstract continuous scale of CPU
294 performance values which allows the remote power
295 processor to flexibly optimize for power and
296 performance. CPPC relies on power management firmware
297 support for its operation.
298
299 If in doubt, say N.