blob: 4e1131ef85ae109b7424cbf076d726afd611701a [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"
Miquel Raynal0cf442c2018-04-24 17:45:06 +020023 depends on ARCH_MVEBU && CPUFREQ_DT
Gregory CLEMENT92ce45f2017-12-14 16:00:05 +010024 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 Hollaa7314402018-10-24 14:44:57 +010031 depends on ARM_CPU_TOPOLOGY && 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_SCPI_CPUFREQ
39 tristate "SCPI based CPUfreq driver"
Sudeep Holla5c8b2622018-02-23 15:54:42 +000040 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Arnd Bergmann3478b242018-03-13 12:45:40 +010041 depends on !CPU_THERMAL || THERMAL
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010042 help
Sudeep Holla5c8b2622018-02-23 15:54:42 +000043 This adds the CPUfreq driver support for ARM platforms using SCPI
44 protocol for CPU power management.
Gregory CLEMENTb17d2f82017-12-13 18:05:35 +010045
46 This driver uses SCPI Message Protocol driver to interact with the
47 firmware providing the CPU DVFS functionality.
48
49config ARM_VEXPRESS_SPC_CPUFREQ
50 tristate "Versatile Express SPC based CPUfreq driver"
51 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
52 help
53 This add the CPUfreq driver support for Versatile Express
54 big.LITTLE platforms using SPC for power management.
55
Markus Mayerde322e02016-10-27 14:05:35 -070056config ARM_BRCMSTB_AVS_CPUFREQ
57 tristate "Broadcom STB AVS CPUfreq driver"
58 depends on ARCH_BRCMSTB || COMPILE_TEST
59 default y
60 help
61 Some Broadcom STB SoCs use a co-processor running proprietary firmware
62 ("AVS") to handle voltage and frequency scaling. This driver provides
63 a standard CPUfreq interface to to the firmware.
64
65 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
66
Viresh Kumara0ea0482013-04-04 12:54:09 +000067config ARM_HIGHBANK_CPUFREQ
68 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053069 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000070 default m
71 help
72 This adds the CPUFreq driver for Calxeda Highbank SoC
73 based boards.
74
75 If in doubt, say N.
76
77config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080078 tristate "Freescale i.MX6 cpufreq support"
79 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000080 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030081 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000082 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080083 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000084
85 If in doubt, say N.
86
87config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +020088 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +000089 help
90 This adds the CPUFreq driver for Marvell Kirkwood
91 SoCs.
92
Sean Wang501c5742017-07-18 14:01:43 +080093config ARM_MEDIATEK_CPUFREQ
94 tristate "CPU Frequency scaling support for MediaTek SoCs"
Pi-Cheng Chen14538632015-08-19 10:05:06 +080095 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010096 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +080097 select PM_OPP
98 help
Sean Wang501c5742017-07-18 14:01:43 +080099 This adds the CPUFreq driver support for MediaTek SoCs.
Pi-Cheng Chen14538632015-08-19 10:05:06 +0800100
Russell Kingb09db452012-02-15 11:01:11 -0800101config ARM_OMAP2PLUS_CPUFREQ
102 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700103 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800104 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800105
Ilia Lin46e28562018-05-30 05:39:28 +0300106config ARM_QCOM_CPUFREQ_KRYO
Arnd Bergmannac289272018-06-05 13:44:24 +0200107 tristate "Qualcomm Kryo based CPUFreq"
Ilia Lin46e28562018-05-30 05:39:28 +0300108 depends on ARM64
109 depends on QCOM_QFPROM
110 depends on QCOM_SMEM
111 select PM_OPP
112 help
113 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
114
115 If in doubt, say N.
116
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000117config ARM_S3C_CPUFREQ
118 bool
119 help
120 Internal configuration node for common cpufreq on Samsung SoC
121
122config ARM_S3C24XX_CPUFREQ
123 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
124 depends on ARCH_S3C24XX
125 select ARM_S3C_CPUFREQ
126 help
127 This enables the CPUfreq driver for the Samsung S3C24XX family
128 of CPUs.
129
130 For details, take a look at <file:Documentation/cpu-freq>.
131
132 If in doubt, say N.
133
134config ARM_S3C24XX_CPUFREQ_DEBUG
135 bool "Debug CPUfreq Samsung driver core"
136 depends on ARM_S3C24XX_CPUFREQ
137 help
138 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
139
140config ARM_S3C24XX_CPUFREQ_IODEBUG
141 bool "Debug CPUfreq Samsung driver IO timing"
142 depends on ARM_S3C24XX_CPUFREQ
143 help
144 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
145
146config ARM_S3C24XX_CPUFREQ_DEBUGFS
147 bool "Export debugfs for CPUFreq"
148 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
149 help
150 Export status information via debugfs.
151
152config ARM_S3C2410_CPUFREQ
153 bool
154 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
155 select S3C2410_CPUFREQ_UTILS
156 help
157 CPU Frequency scaling support for S3C2410
158
159config ARM_S3C2412_CPUFREQ
160 bool
161 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
162 default y
163 select S3C2412_IOTIMING
164 help
165 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
166
Heiko Stübner34ee55072012-02-16 11:42:32 +0100167config ARM_S3C2416_CPUFREQ
168 bool "S3C2416 CPU Frequency scaling support"
169 depends on CPU_S3C2416
170 help
171 This adds the CPUFreq driver for the Samsung S3C2416 and
172 S3C2450 SoC. The S3C2416 supports changing the rate of the
173 armdiv clock source and also entering a so called dynamic
174 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300175 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100176
177 If in doubt, say N.
178
179config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b562012-10-02 11:16:53 -0700180 bool "Allow voltage scaling for S3C2416 arm core"
181 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100182 help
183 Enable CPU voltage scaling when entering the dvs mode.
184 It uses information gathered through existing hardware and
185 tests but not documented in any datasheet.
186
187 If in doubt, say N.
188
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000189config ARM_S3C2440_CPUFREQ
190 bool "S3C2440/S3C2442 CPU Frequency scaling support"
191 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
192 select S3C2410_CPUFREQ_UTILS
193 default y
194 help
195 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
196
Kukjin Kim15964d32011-06-06 18:43:01 -0700197config ARM_S3C64XX_CPUFREQ
198 bool "Samsung S3C64XX"
199 depends on CPU_S3C6410
200 default y
201 help
202 This adds the CPUFreq driver for Samsung S3C6410 SoC.
203
204 If in doubt, say N.
205
Kukjin Kimf7d77072011-06-01 14:18:22 -0700206config ARM_S5PV210_CPUFREQ
207 bool "Samsung S5PV210 and S5PC110"
208 depends on CPU_S5PV210
209 default y
210 help
211 This adds the CPUFreq driver for Samsung S5PV210 and
212 S5PC110 SoCs.
213
214 If in doubt, say N.
215
Viresh Kumar59a2e612013-04-04 12:54:16 +0000216config ARM_SA1100_CPUFREQ
217 bool
218
219config ARM_SA1110_CPUFREQ
220 bool
221
Sudeep Holla99d6bdf2017-06-18 09:38:11 +0100222config ARM_SCMI_CPUFREQ
223 tristate "SCMI based CPUfreq driver"
224 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
Arnd Bergmann697a3a82018-03-13 10:37:33 +0100225 depends on !CPU_THERMAL || THERMAL
Sudeep Holla99d6bdf2017-06-18 09:38:11 +0100226 select PM_OPP
227 help
228 This adds the CPUfreq driver support for ARM platforms using SCMI
229 protocol for CPU power management.
230
231 This driver uses SCMI Message Protocol driver to interact with the
232 firmware providing the CPU DVFS functionality.
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
Dmitry Osipenko7732c9e2018-05-18 23:06:41 +0300257 tristate "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.