blob: 04f7862eacd3969dc0777748a92e0ac063f02b03 [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
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000026config ARM_DT_BL_CPUFREQ
Viresh Kumar99af7712013-05-04 12:03:54 +053027 tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
28 depends on ARM_BIG_LITTLE_CPUFREQ && OF
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000029 help
Viresh Kumar99af7712013-05-04 12:03:54 +053030 This enables probing via DT for Generic CPUfreq driver for ARM
31 big.LITTLE platform. This gets frequency tables from DT.
Viresh Kumar8a67f0e2013-04-01 12:57:49 +000032
viresh kumar3b84d582014-03-14 12:10:54 +053033config ARM_VEXPRESS_SPC_CPUFREQ
34 tristate "Versatile Express SPC based CPUfreq driver"
35 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
36 help
37 This add the CPUfreq driver support for Versatile Express
38 big.LITTLE platforms using SPC for power management.
39
Arnd Bergmann8b2b4a42015-01-31 14:35:18 -040040config ARM_EXYNOS5440_CPUFREQ
41 tristate "SAMSUNG EXYNOS5440"
42 depends on SOC_EXYNOS5440
43 depends on HAVE_CLK && OF
44 select PM_OPP
45 default y
46 help
47 This adds the CPUFreq driver for Samsung EXYNOS5440
48 SoC. The nature of exynos5440 clock controller is
49 different than previous exynos controllers so not using
50 the common exynos framework.
51
52 If in doubt, say N.
53
Viresh Kumara0ea0482013-04-04 12:54:09 +000054config ARM_HIGHBANK_CPUFREQ
55 tristate "Calxeda Highbank-based"
Viresh Kumarbbcf0712014-09-09 19:58:03 +053056 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
Viresh Kumara0ea0482013-04-04 12:54:09 +000057 default m
58 help
59 This adds the CPUFreq driver for Calxeda Highbank SoC
60 based boards.
61
62 If in doubt, say N.
63
64config ARM_IMX6Q_CPUFREQ
Shawn Guo1d0eaae2013-12-20 10:12:16 +080065 tristate "Freescale i.MX6 cpufreq support"
66 depends on ARCH_MXC
Viresh Kumara0ea0482013-04-04 12:54:09 +000067 depends on REGULATOR_ANATOP
Nicolas Del Piano7e021682014-07-13 18:59:00 -030068 select PM_OPP
Viresh Kumara0ea0482013-04-04 12:54:09 +000069 help
Shawn Guo1d0eaae2013-12-20 10:12:16 +080070 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
Viresh Kumara0ea0482013-04-04 12:54:09 +000071
72 If in doubt, say N.
73
74config ARM_KIRKWOOD_CPUFREQ
Andrew Lunn6c8df112014-08-30 18:46:12 +020075 def_bool MACH_KIRKWOOD
Viresh Kumara0ea0482013-04-04 12:54:09 +000076 help
77 This adds the CPUFreq driver for Marvell Kirkwood
78 SoCs.
79
Pi-Cheng Chen14538632015-08-19 10:05:06 +080080config ARM_MT8173_CPUFREQ
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010081 tristate "Mediatek MT8173 CPUFreq support"
Pi-Cheng Chen14538632015-08-19 10:05:06 +080082 depends on ARCH_MEDIATEK && REGULATOR
Arnd Bergmann2d4ee302015-11-16 22:27:55 +010083 depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
Arnd Bergmann3c2002a2016-02-29 17:04:21 +010084 depends on !CPU_THERMAL || THERMAL
Pi-Cheng Chen14538632015-08-19 10:05:06 +080085 select PM_OPP
86 help
87 This adds the CPUFreq driver support for Mediatek MT8173 SoC.
88
Russell Kingb09db452012-02-15 11:01:11 -080089config ARM_OMAP2PLUS_CPUFREQ
90 bool "TI OMAP2+"
Kevin Hilman2d59dcf2012-04-13 13:32:30 -070091 depends on ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -080092 default ARCH_OMAP2PLUS
Russell Kingb09db452012-02-15 11:01:11 -080093
Viresh Kumarf023f8d2013-04-04 12:54:15 +000094config ARM_S3C_CPUFREQ
95 bool
96 help
97 Internal configuration node for common cpufreq on Samsung SoC
98
99config ARM_S3C24XX_CPUFREQ
100 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
101 depends on ARCH_S3C24XX
102 select ARM_S3C_CPUFREQ
103 help
104 This enables the CPUfreq driver for the Samsung S3C24XX family
105 of CPUs.
106
107 For details, take a look at <file:Documentation/cpu-freq>.
108
109 If in doubt, say N.
110
111config ARM_S3C24XX_CPUFREQ_DEBUG
112 bool "Debug CPUfreq Samsung driver core"
113 depends on ARM_S3C24XX_CPUFREQ
114 help
115 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
116
117config ARM_S3C24XX_CPUFREQ_IODEBUG
118 bool "Debug CPUfreq Samsung driver IO timing"
119 depends on ARM_S3C24XX_CPUFREQ
120 help
121 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
122
123config ARM_S3C24XX_CPUFREQ_DEBUGFS
124 bool "Export debugfs for CPUFreq"
125 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
126 help
127 Export status information via debugfs.
128
129config ARM_S3C2410_CPUFREQ
130 bool
131 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
132 select S3C2410_CPUFREQ_UTILS
133 help
134 CPU Frequency scaling support for S3C2410
135
136config ARM_S3C2412_CPUFREQ
137 bool
138 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
139 default y
140 select S3C2412_IOTIMING
141 help
142 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
143
Heiko Stübner34ee55072012-02-16 11:42:32 +0100144config ARM_S3C2416_CPUFREQ
145 bool "S3C2416 CPU Frequency scaling support"
146 depends on CPU_S3C2416
147 help
148 This adds the CPUFreq driver for the Samsung S3C2416 and
149 S3C2450 SoC. The S3C2416 supports changing the rate of the
150 armdiv clock source and also entering a so called dynamic
151 voltage scaling mode in which it is possible to reduce the
Stratos Karafotis735dc242014-04-22 22:40:10 +0300152 core voltage of the CPU.
Heiko Stübner34ee55072012-02-16 11:42:32 +0100153
154 If in doubt, say N.
155
156config ARM_S3C2416_CPUFREQ_VCORESCALE
Kees Cook0f194b52012-10-02 11:16:53 -0700157 bool "Allow voltage scaling for S3C2416 arm core"
158 depends on ARM_S3C2416_CPUFREQ && REGULATOR
Heiko Stübner34ee55072012-02-16 11:42:32 +0100159 help
160 Enable CPU voltage scaling when entering the dvs mode.
161 It uses information gathered through existing hardware and
162 tests but not documented in any datasheet.
163
164 If in doubt, say N.
165
Viresh Kumarf023f8d2013-04-04 12:54:15 +0000166config ARM_S3C2440_CPUFREQ
167 bool "S3C2440/S3C2442 CPU Frequency scaling support"
168 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
169 select S3C2410_CPUFREQ_UTILS
170 default y
171 help
172 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
173
Kukjin Kim15964d32011-06-06 18:43:01 -0700174config ARM_S3C64XX_CPUFREQ
175 bool "Samsung S3C64XX"
176 depends on CPU_S3C6410
177 default y
178 help
179 This adds the CPUFreq driver for Samsung S3C6410 SoC.
180
181 If in doubt, say N.
182
Kukjin Kimf7d77072011-06-01 14:18:22 -0700183config ARM_S5PV210_CPUFREQ
184 bool "Samsung S5PV210 and S5PC110"
185 depends on CPU_S5PV210
186 default y
187 help
188 This adds the CPUFreq driver for Samsung S5PV210 and
189 S5PC110 SoCs.
190
191 If in doubt, say N.
192
Viresh Kumar59a2e612013-04-04 12:54:16 +0000193config ARM_SA1100_CPUFREQ
194 bool
195
196config ARM_SA1110_CPUFREQ
197 bool
198
Sudeep Holla8def3102015-03-30 10:59:52 +0100199config ARM_SCPI_CPUFREQ
200 tristate "SCPI based CPUfreq driver"
Punit Agrawal73124ce2015-11-18 13:52:44 +0000201 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
Sudeep Holla8def3102015-03-30 10:59:52 +0100202 help
203 This adds the CPUfreq driver support for ARM big.LITTLE platforms
204 using SCPI protocol for CPU power management.
205
206 This driver uses SCPI Message Protocol driver to interact with the
207 firmware providing the CPU DVFS functionality.
208
Deepak Sikri42099322012-11-27 14:05:26 +0100209config ARM_SPEAR_CPUFREQ
210 bool "SPEAr CPUFreq support"
211 depends on PLAT_SPEAR
212 default y
213 help
214 This adds the CPUFreq driver support for SPEAr SOCs.
Viresh Kumardbb8d762013-06-12 12:05:48 +0530215
Lee Jonesab0ea252015-12-10 09:42:16 +0000216config ARM_STI_CPUFREQ
217 tristate "STi CPUFreq support"
218 depends on SOC_STIH407
219 help
220 This driver uses the generic OPP framework to match the running
221 platform with a predefined set of suitable values. If not provided
222 we will fall-back so safe-values contained in Device Tree. Enable
223 this config option if you wish to add CPUFreq support for STi based
224 SoCs.
225
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300226config ARM_TEGRA20_CPUFREQ
227 bool "Tegra20 CPUFreq support"
Viresh Kumardbb8d762013-06-12 12:05:48 +0530228 depends on ARCH_TEGRA
Viresh Kumardbb8d762013-06-12 12:05:48 +0530229 default y
230 help
Tuomas Tynkkynen109e13e2015-05-13 17:58:47 +0300231 This adds the CPUFreq driver support for Tegra20 SOCs.
Petr Cvek608eab22014-11-24 04:59:26 +0100232
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300233config ARM_TEGRA124_CPUFREQ
234 tristate "Tegra124 CPUFreq support"
Arnd Bergmannb5832e42015-12-08 22:52:45 +0100235 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
Tuomas Tynkkynen9eb15db2015-05-13 17:58:48 +0300236 default y
237 help
238 This adds the CPUFreq driver support for Tegra124 SOCs.
239
Petr Cvek608eab22014-11-24 04:59:26 +0100240config ARM_PXA2xx_CPUFREQ
241 tristate "Intel PXA2xx CPUfreq driver"
242 depends on PXA27x || PXA25x
243 help
244 This add the CPUFreq driver support for Intel PXA2xx SOCs.
245
246 If in doubt, say N.
Ashwin Chaugule5477fb32015-10-02 10:04:01 -0400247
248config ACPI_CPPC_CPUFREQ
249 tristate "CPUFreq driver based on the ACPI CPPC spec"
250 depends on ACPI
251 select ACPI_CPPC_LIB
252 default n
253 help
254 This adds a CPUFreq driver which uses CPPC methods
255 as described in the ACPIv5.1 spec. CPPC stands for
256 Collaborative Processor Performance Controls. It
257 is based on an abstract continuous scale of CPU
258 performance values which allows the remote power
259 processor to flexibly optimize for power and
260 performance. CPPC relies on power management firmware
261 support for its operation.
262
263 If in doubt, say N.