blob: 49ec1c0c395a94e54d06e74a28cde73330ce930a [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
Sean Wang501c5742017-07-18 14:01:43 +080099config ARM_MEDIATEK_CPUFREQ
100 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800101 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100102 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800103 select PM_OPP
104 help
Sean Wang501c5742017-07-18 14:01:43 +0800105 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800106
Russell Kingb09db452012-02-15 11:01:11 -0800107config ARM_OMAP2PLUS_CPUFREQ
108 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700109 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800110 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800111
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000112config ARM_S3C_CPUFREQ
113 bool
114 help
115 Internal configuration node for common cpufreq on Samsung SoC
116
117config ARM_S3C24XX_CPUFREQ
118 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
119 depends on ARCH_S3C24XX
120 select ARM_S3C_CPUFREQ
121 help
122 This enables the CPUfreq driver for the Samsung S3C24XX family
123 of CPUs.
124
125 For details, take a look at <file:Documentation/cpu-freq>.
126
127 If in doubt, say N.
128
129config ARM_S3C24XX_CPUFREQ_DEBUG
130 bool "Debug CPUfreq Samsung driver core"
131 depends on ARM_S3C24XX_CPUFREQ
132 help
133 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
134
135config ARM_S3C24XX_CPUFREQ_IODEBUG
136 bool "Debug CPUfreq Samsung driver IO timing"
137 depends on ARM_S3C24XX_CPUFREQ
138 help
139 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
140
141config ARM_S3C24XX_CPUFREQ_DEBUGFS
142 bool "Export debugfs for CPUFreq"
143 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
144 help
145 Export status information via debugfs.
146
147config ARM_S3C2410_CPUFREQ
148 bool
149 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
150 select S3C2410_CPUFREQ_UTILS
151 help
152 CPU Frequency scaling support for S3C2410
153
154config ARM_S3C2412_CPUFREQ
155 bool
156 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
157 default y
158 select S3C2412_IOTIMING
159 help
160 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
161
Heiko Stübner34ee55072012-02-16 11:42:32 +0100162config ARM_S3C2416_CPUFREQ
163 bool "S3C2416 CPU Frequency scaling support"
164 depends on CPU_S3C2416
165 help
166 This adds the CPUFreq driver for the Samsung S3C2416 and
167 S3C2450 SoC. The S3C2416 supports changing the rate of the
168 armdiv clock source and also entering a so called dynamic
169 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300170 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100171
172 If in doubt, say N.
173
174config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700175 bool "Allow voltage scaling for S3C2416 arm core"
176 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100177 help
178 Enable CPU voltage scaling when entering the dvs mode.
179 It uses information gathered through existing hardware and
180 tests but not documented in any datasheet.
181
182 If in doubt, say N.
183
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000184config ARM_S3C2440_CPUFREQ
185 bool "S3C2440/S3C2442 CPU Frequency scaling support"
186 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
187 select S3C2410_CPUFREQ_UTILS
188 default y
189 help
190 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
191
Kukjin Kim15964d32011-06-06 18:43:01 -0700192config ARM_S3C64XX_CPUFREQ
193 bool "Samsung S3C64XX"
194 depends on CPU_S3C6410
195 default y
196 help
197 This adds the CPUFreq driver for Samsung S3C6410 SoC.
198
199 If in doubt, say N.
200
Kukjin Kimf7d77072011-06-01 14:18:22 -0700201config ARM_S5PV210_CPUFREQ
202 bool "Samsung S5PV210 and S5PC110"
203 depends on CPU_S5PV210
204 default y
205 help
206 This adds the CPUFreq driver for Samsung S5PV210 and
207 S5PC110 SoCs.
208
209 If in doubt, say N.
210
Viresh Kumar59a2e612013-04-04 12:54:16 +0000211config ARM_SA1100_CPUFREQ
212 bool
213
214config ARM_SA1110_CPUFREQ
215 bool
216
Sudeep Holla8def3102015-03-30 10:59:52 +0100217config ARM_SCPI_CPUFREQ
218 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000219 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100220 help
221 This adds the CPUfreq driver support for ARM big.LITTLE platforms
222 using SCPI protocol for CPU power management.
223
224 This driver uses SCPI Message Protocol driver to interact with the
225 firmware providing the CPU DVFS functionality.
226
Deepak Sikri42099322012-11-27 14:05:26 +0100227config ARM_SPEAR_CPUFREQ
228 bool "SPEAr CPUFreq support"
229 depends on PLAT_SPEAR
230 default y
231 help
232 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530233
Lee Jonesab0ea252015-12-10 09:42:16 +0000234config ARM_STI_CPUFREQ
235 tristate "STi CPUFreq support"
236 depends on SOC_STIH407
237 help
238 This driver uses the generic OPP framework to match the running
239 platform with a predefined set of suitable values. If not provided
240 we will fall-back so safe-values contained in Device Tree. Enable
241 this config option if you wish to add CPUFreq support for STi based
242 SoCs.
243
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300244config ARM_TEGRA20_CPUFREQ
245 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530246 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530247 default y
248 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300249 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100250
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300251config ARM_TEGRA124_CPUFREQ
252 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100253 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300254 default y
255 help
256 This adds the CPUFreq driver support for Tegra124 SOCs.
257
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300258config ARM_TEGRA186_CPUFREQ
259 tristate "Tegra186 CPUFreq support"
260 depends on ARCH_TEGRA && TEGRA_BPMP
261 help
262 This adds the CPUFreq driver support for Tegra186 SOCs.
263
Dave Gerlache13cf042017-02-03 11:29:28 -0600264config ARM_TI_CPUFREQ
265 bool "Texas Instruments CPUFreq support"
266 depends on ARCH_OMAP2PLUS
267 help
268 This driver enables valid OPPs on the running platform based on
269 values contained within the SoC in use. Enable this in order to
270 use the cpufreq-dt driver on all Texas Instruments platforms that
271 provide dt based operating-points-v2 tables with opp-supported-hw
272 data provided. Required for cpufreq support on AM335x, AM437x,
273 DRA7x, and AM57x platforms.
274
Petr Cvek608eab22014-11-24 04:59:26 +0100275config ARM_PXA2xx_CPUFREQ
276 tristate "Intel PXA2xx CPUfreq driver"
277 depends on PXA27x || PXA25x
278 help
279 This add the CPUFreq driver support for Intel PXA2xx SOCs.
280
281 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400282
283config ACPI_CPPC_CPUFREQ
284 tristate "CPUFreq driver based on the ACPI CPPC spec"
Arnd Bergmanna5788842017-02-14 22:19:18 +0100285 depends on ACPI_PROCESSOR
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400286 select ACPI_CPPC_LIB
287 default n
288 help
289 This adds a CPUFreq driver which uses CPPC methods
290 as described in the ACPIv5.1 spec. CPPC stands for
291 Collaborative Processor Performance Controls. It
292 is based on an abstract continuous scale of CPU
293 performance values which allows the remote power
294 processor to flexibly optimize for power and
295 performance. CPPC relies on power management firmware
296 support for its operation.
297
298 If in doubt, say N.