blob: 74ed7e9a7f27cd333a6bdf48144c0de4e6e7469e [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
Pi-Cheng Chen14538632015-08-19 10:05:06 +080090config ARM_MT8173_CPUFREQ
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010091 tristate "Mediatek MT8173 CPUFreq support"
Pi-Cheng Chen14538632015-08-19 10:05:06 +080092 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann2d4ee302015-11-16 22:27:55 +010093 depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010094 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +080095 select PM_OPP
96 help
97 This adds the CPUFreq driver support for Mediatek MT8173 SoC.
98
Russell Kingb09db452012-02-15 11:01:11 -080099config ARM_OMAP2PLUS_CPUFREQ
100 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -0700101 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800102 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -0800103
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000104config ARM_S3C_CPUFREQ
105 bool
106 help
107 Internal configuration node for common cpufreq on Samsung SoC
108
109config ARM_S3C24XX_CPUFREQ
110 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
111 depends on ARCH_S3C24XX
112 select ARM_S3C_CPUFREQ
113 help
114 This enables the CPUfreq driver for the Samsung S3C24XX family
115 of CPUs.
116
117 For details, take a look at <file:Documentation/cpu-freq>.
118
119 If in doubt, say N.
120
121config ARM_S3C24XX_CPUFREQ_DEBUG
122 bool "Debug CPUfreq Samsung driver core"
123 depends on ARM_S3C24XX_CPUFREQ
124 help
125 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
126
127config ARM_S3C24XX_CPUFREQ_IODEBUG
128 bool "Debug CPUfreq Samsung driver IO timing"
129 depends on ARM_S3C24XX_CPUFREQ
130 help
131 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
132
133config ARM_S3C24XX_CPUFREQ_DEBUGFS
134 bool "Export debugfs for CPUFreq"
135 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
136 help
137 Export status information via debugfs.
138
139config ARM_S3C2410_CPUFREQ
140 bool
141 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
142 select S3C2410_CPUFREQ_UTILS
143 help
144 CPU Frequency scaling support for S3C2410
145
146config ARM_S3C2412_CPUFREQ
147 bool
148 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
149 default y
150 select S3C2412_IOTIMING
151 help
152 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
153
Heiko Stübner34ee55072012-02-16 11:42:32 +0100154config ARM_S3C2416_CPUFREQ
155 bool "S3C2416 CPU Frequency scaling support"
156 depends on CPU_S3C2416
157 help
158 This adds the CPUFreq driver for the Samsung S3C2416 and
159 S3C2450 SoC. The S3C2416 supports changing the rate of the
160 armdiv clock source and also entering a so called dynamic
161 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300162 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100163
164 If in doubt, say N.
165
166config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b52012-10-02 11:16:53 -0700167 bool "Allow voltage scaling for S3C2416 arm core"
168 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100169 help
170 Enable CPU voltage scaling when entering the dvs mode.
171 It uses information gathered through existing hardware and
172 tests but not documented in any datasheet.
173
174 If in doubt, say N.
175
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000176config ARM_S3C2440_CPUFREQ
177 bool "S3C2440/S3C2442 CPU Frequency scaling support"
178 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
179 select S3C2410_CPUFREQ_UTILS
180 default y
181 help
182 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
183
Kukjin Kim15964d32011-06-06 18:43:01 -0700184config ARM_S3C64XX_CPUFREQ
185 bool "Samsung S3C64XX"
186 depends on CPU_S3C6410
187 default y
188 help
189 This adds the CPUFreq driver for Samsung S3C6410 SoC.
190
191 If in doubt, say N.
192
Kukjin Kimf7d77072011-06-01 14:18:22 -0700193config ARM_S5PV210_CPUFREQ
194 bool "Samsung S5PV210 and S5PC110"
195 depends on CPU_S5PV210
196 default y
197 help
198 This adds the CPUFreq driver for Samsung S5PV210 and
199 S5PC110 SoCs.
200
201 If in doubt, say N.
202
Viresh Kumar59a2e612013-04-04 12:54:16 +0000203config ARM_SA1100_CPUFREQ
204 bool
205
206config ARM_SA1110_CPUFREQ
207 bool
208
Sudeep Holla8def3102015-03-30 10:59:52 +0100209config ARM_SCPI_CPUFREQ
210 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000211 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100212 help
213 This adds the CPUfreq driver support for ARM big.LITTLE platforms
214 using SCPI protocol for CPU power management.
215
216 This driver uses SCPI Message Protocol driver to interact with the
217 firmware providing the CPU DVFS functionality.
218
Deepak Sikri42099322012-11-27 14:05:26 +0100219config ARM_SPEAR_CPUFREQ
220 bool "SPEAr CPUFreq support"
221 depends on PLAT_SPEAR
222 default y
223 help
224 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530225
Lee Jonesab0ea252015-12-10 09:42:16 +0000226config ARM_STI_CPUFREQ
227 tristate "STi CPUFreq support"
228 depends on SOC_STIH407
229 help
230 This driver uses the generic OPP framework to match the running
231 platform with a predefined set of suitable values. If not provided
232 we will fall-back so safe-values contained in Device Tree. Enable
233 this config option if you wish to add CPUFreq support for STi based
234 SoCs.
235
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300236config ARM_TEGRA20_CPUFREQ
237 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530238 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530239 default y
240 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300241 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100242
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300243config ARM_TEGRA124_CPUFREQ
244 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100245 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300246 default y
247 help
248 This adds the CPUFreq driver support for Tegra124 SOCs.
249
Mikko Perttunen939dc6f2017-04-11 11:09:15 +0300250config ARM_TEGRA186_CPUFREQ
251 tristate "Tegra186 CPUFreq support"
252 depends on ARCH_TEGRA && TEGRA_BPMP
253 help
254 This adds the CPUFreq driver support for Tegra186 SOCs.
255
Dave Gerlache13cf042017-02-03 11:29:28 -0600256config ARM_TI_CPUFREQ
257 bool "Texas Instruments CPUFreq support"
258 depends on ARCH_OMAP2PLUS
259 help
260 This driver enables valid OPPs on the running platform based on
261 values contained within the SoC in use. Enable this in order to
262 use the cpufreq-dt driver on all Texas Instruments platforms that
263 provide dt based operating-points-v2 tables with opp-supported-hw
264 data provided. Required for cpufreq support on AM335x, AM437x,
265 DRA7x, and AM57x platforms.
266
Petr Cvek608eab22014-11-24 04:59:26 +0100267config ARM_PXA2xx_CPUFREQ
268 tristate "Intel PXA2xx CPUfreq driver"
269 depends on PXA27x || PXA25x
270 help
271 This add the CPUFreq driver support for Intel PXA2xx SOCs.
272
273 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400274
275config ACPI_CPPC_CPUFREQ
276 tristate "CPUFreq driver based on the ACPI CPPC spec"
Arnd Bergmanna5788842017-02-14 22:19:18 +0100277 depends on ACPI_PROCESSOR
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400278 select ACPI_CPPC_LIB
279 default n
280 help
281 This adds a CPUFreq driver which uses CPPC methods
282 as described in the ACPIv5.1 spec. CPPC stands for
283 Collaborative Processor Performance Controls. It
284 is based on an abstract continuous scale of CPU
285 performance values which allows the remote power
286 processor to flexibly optimize for power and
287 performance. CPPC relies on power management firmware
288 support for its operation.
289
290 If in doubt, say N.