blob: fb586e09682d84704a28748673cdc4c571c28105 [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"
23 depends on ARCH_MVEBU
24 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
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010048 help
Sudeep Holla5c8b2622018-02-23 15:54:42 +000049 This adds the CPUfreq driver support for ARM platforms using SCPI
50 protocol for CPU power management.
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010051
52 This driver uses SCPI Message Protocol driver to interact with the
53 firmware providing the CPU DVFS functionality.
54
55config ARM_VEXPRESS_SPC_CPUFREQ
56 tristate "Versatile Express SPC based CPUfreq driver"
57 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
58 help
59 This add the CPUfreq driver support for Versatile Express
60 big.LITTLE platforms using SPC for power management.
61
Markus Mayerde322e02016-10-27 14:05:35 -070062config ARM_BRCMSTB_AVS_CPUFREQ
63 tristate "Broadcom STB AVS CPUfreq driver"
64 depends on ARCH_BRCMSTB || COMPILE_TEST
65 default y
66 help
67 Some Broadcom STB SoCs use a co-processor running proprietary firmware
68 ("AVS") to handle voltage and frequency scaling. This driver provides
69 a standard CPUfreq interface to to the firmware.
70
71 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
72
Markus Mayer33de45c2016-10-27 14:05:36 -070073config ARM_BRCMSTB_AVS_CPUFREQ_DEBUG
74 bool "Broadcom STB AVS CPUfreq driver sysfs debug capability"
75 depends on ARM_BRCMSTB_AVS_CPUFREQ
76 help
77 Enabling this option turns on debug support via sysfs under
78 /sys/kernel/debug/brcmstb-avs-cpufreq. It is possible to read all and
79 write some AVS mailbox registers through sysfs entries.
80
81 If in doubt, say N.
82
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040083config ARM_EXYNOS5440_CPUFREQ
84 tristate "SAMSUNG EXYNOS5440"
85 depends on SOC_EXYNOS5440
86 depends on HAVE_CLK && OF
87 select PM_OPP
88 default y
89 help
90 This adds the CPUFreq driver for Samsung EXYNOS5440
91 SoC. The nature of exynos5440 clock controller is
92 different than previous exynos controllers so not using
93 the common exynos framework.
94
95 If in doubt, say N.
96
Viresh Kumara0ea0482013-04-04 12:54:09 +000097config ARM_HIGHBANK_CPUFREQ
98 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053099 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +0000100 default m
101 help
102 This adds the CPUFreq driver for Calxeda Highbank SoC
103 based boards.
104
105 If in doubt, say N.
106
107config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +0800108 tristate "Freescale i.MX6 cpufreq support"
109 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +0000110 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -0300111 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +0000112 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +0800113 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +0000114
115 If in doubt, say N.
116
117config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +0200118 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +0000119 help
120 This adds the CPUFreq driver for Marvell Kirkwood
121 SoCs.
122
Sean Wang501c5742017-07-18 14:01:43 +0800123config ARM_MEDIATEK_CPUFREQ
124 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800125 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +0100126 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800127 select PM_OPP
128 help
Sean Wang501c5742017-07-18 14:01:43 +0800129 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800130
Russell Kingb09db452012-02-15 11:01:11 -0800131config ARM_OMAP2PLUS_CPUFREQ
132 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700133 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800134 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800135
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000136config ARM_S3C_CPUFREQ
137 bool
138 help
139 Internal configuration node for common cpufreq on Samsung SoC
140
141config ARM_S3C24XX_CPUFREQ
142 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
143 depends on ARCH_S3C24XX
144 select ARM_S3C_CPUFREQ
145 help
146 This enables the CPUfreq driver for the Samsung S3C24XX family
147 of CPUs.
148
149 For details, take a look at <file:Documentation/cpu-freq>.
150
151 If in doubt, say N.
152
153config ARM_S3C24XX_CPUFREQ_DEBUG
154 bool "Debug CPUfreq Samsung driver core"
155 depends on ARM_S3C24XX_CPUFREQ
156 help
157 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
158
159config ARM_S3C24XX_CPUFREQ_IODEBUG
160 bool "Debug CPUfreq Samsung driver IO timing"
161 depends on ARM_S3C24XX_CPUFREQ
162 help
163 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
164
165config ARM_S3C24XX_CPUFREQ_DEBUGFS
166 bool "Export debugfs for CPUFreq"
167 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
168 help
169 Export status information via debugfs.
170
171config ARM_S3C2410_CPUFREQ
172 bool
173 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
174 select S3C2410_CPUFREQ_UTILS
175 help
176 CPU Frequency scaling support for S3C2410
177
178config ARM_S3C2412_CPUFREQ
179 bool
180 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
181 default y
182 select S3C2412_IOTIMING
183 help
184 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
185
Heiko Stübner34ee55072012-02-16 11:42:32 +0100186config ARM_S3C2416_CPUFREQ
187 bool "S3C2416 CPU Frequency scaling support"
188 depends on CPU_S3C2416
189 help
190 This adds the CPUFreq driver for the Samsung S3C2416 and
191 S3C2450 SoC. The S3C2416 supports changing the rate of the
192 armdiv clock source and also entering a so called dynamic
193 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300194 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100195
196 If in doubt, say N.
197
198config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700199 bool "Allow voltage scaling for S3C2416 arm core"
200 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100201 help
202 Enable CPU voltage scaling when entering the dvs mode.
203 It uses information gathered through existing hardware and
204 tests but not documented in any datasheet.
205
206 If in doubt, say N.
207
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000208config ARM_S3C2440_CPUFREQ
209 bool "S3C2440/S3C2442 CPU Frequency scaling support"
210 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
211 select S3C2410_CPUFREQ_UTILS
212 default y
213 help
214 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
215
Kukjin Kim15964d32011-06-06 18:43:01 -0700216config ARM_S3C64XX_CPUFREQ
217 bool "Samsung S3C64XX"
218 depends on CPU_S3C6410
219 default y
220 help
221 This adds the CPUFreq driver for Samsung S3C6410 SoC.
222
223 If in doubt, say N.
224
Kukjin Kimf7d77072011-06-01 14:18:22 -0700225config ARM_S5PV210_CPUFREQ
226 bool "Samsung S5PV210 and S5PC110"
227 depends on CPU_S5PV210
228 default y
229 help
230 This adds the CPUFreq driver for Samsung S5PV210 and
231 S5PC110 SoCs.
232
233 If in doubt, say N.
234
Viresh Kumar59a2e612013-04-04 12:54:16 +0000235config ARM_SA1100_CPUFREQ
236 bool
237
238config ARM_SA1110_CPUFREQ
239 bool
240
Deepak Sikri42099322012-11-27 14:05:26 +0100241config ARM_SPEAR_CPUFREQ
242 bool "SPEAr CPUFreq support"
243 depends on PLAT_SPEAR
244 default y
245 help
246 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530247
Lee Jonesab0ea252015-12-10 09:42:16 +0000248config ARM_STI_CPUFREQ
249 tristate "STi CPUFreq support"
250 depends on SOC_STIH407
251 help
252 This driver uses the generic OPP framework to match the running
253 platform with a predefined set of suitable values. If not provided
254 we will fall-back so safe-values contained in Device Tree. Enable
255 this config option if you wish to add CPUFreq support for STi based
256 SoCs.
257
Marc Gonzalez9dbd2242017-07-18 18:48:39 +0200258config ARM_TANGO_CPUFREQ
259 bool
260 depends on CPUFREQ_DT && ARCH_TANGO
261 default y
262
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300263config ARM_TEGRA20_CPUFREQ
264 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530265 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530266 default y
267 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300268 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100269
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300270config ARM_TEGRA124_CPUFREQ
271 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100272 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300273 default y
274 help
275 This adds the CPUFreq driver support for Tegra124 SOCs.
276
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300277config ARM_TEGRA186_CPUFREQ
278 tristate "Tegra186 CPUFreq support"
279 depends on ARCH_TEGRA && TEGRA_BPMP
280 help
281 This adds the CPUFreq driver support for Tegra186 SOCs.
282
Dave Gerlache13cf042017-02-03 11:29:28 -0600283config ARM_TI_CPUFREQ
284 bool "Texas Instruments CPUFreq support"
285 depends on ARCH_OMAP2PLUS
286 help
287 This driver enables valid OPPs on the running platform based on
288 values contained within the SoC in use. Enable this in order to
289 use the cpufreq-dt driver on all Texas Instruments platforms that
290 provide dt based operating-points-v2 tables with opp-supported-hw
291 data provided. Required for cpufreq support on AM335x, AM437x,
292 DRA7x, and AM57x platforms.
293
Petr Cvek608eab22014-11-24 04:59:26 +0100294config ARM_PXA2xx_CPUFREQ
295 tristate "Intel PXA2xx CPUfreq driver"
296 depends on PXA27x || PXA25x
297 help
298 This add the CPUFreq driver support for Intel PXA2xx SOCs.
299
300 If in doubt, say N.