Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / drivers / cpufreq / Kconfig.arm
1 #
2 # ARM CPU Frequency scaling drivers
3 #
4
5 config 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
21 config 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
28 # big LITTLE core layer and glue drivers
29 config ARM_BIG_LITTLE_CPUFREQ
30         tristate "Generic ARM big LITTLE CPUfreq driver"
31         depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
32         # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
33         depends on !CPU_THERMAL || THERMAL
34         select PM_OPP
35         help
36           This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
37
38 config 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
45 config ARM_SCPI_CPUFREQ
46         tristate "SCPI based CPUfreq driver"
47         depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
48         help
49           This adds the CPUfreq driver support for ARM big.LITTLE platforms
50           using SCPI protocol for CPU power management.
51
52           This driver uses SCPI Message Protocol driver to interact with the
53           firmware providing the CPU DVFS functionality.
54
55 config 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
62 config 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
73 config 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
83 config 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
97 config ARM_HIGHBANK_CPUFREQ
98         tristate "Calxeda Highbank-based"
99         depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
100         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
107 config ARM_IMX6Q_CPUFREQ
108         tristate "Freescale i.MX6 cpufreq support"
109         depends on ARCH_MXC
110         depends on REGULATOR_ANATOP
111         select PM_OPP
112         help
113           This adds cpufreq driver support for Freescale i.MX6 series SoCs.
114
115           If in doubt, say N.
116
117 config ARM_KIRKWOOD_CPUFREQ
118         def_bool MACH_KIRKWOOD
119         help
120           This adds the CPUFreq driver for Marvell Kirkwood
121           SoCs.
122
123 config ARM_MEDIATEK_CPUFREQ
124         tristate "CPU Frequency scaling support for MediaTek SoCs"
125         depends on ARCH_MEDIATEK && REGULATOR
126         depends on !CPU_THERMAL || THERMAL
127         select PM_OPP
128         help
129           This adds the CPUFreq driver support for MediaTek SoCs.
130
131 config ARM_OMAP2PLUS_CPUFREQ
132         bool "TI OMAP2+"
133         depends on ARCH_OMAP2PLUS
134         default ARCH_OMAP2PLUS
135
136 config ARM_S3C_CPUFREQ
137         bool
138         help
139           Internal configuration node for common cpufreq on Samsung SoC
140
141 config 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
153 config 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
159 config 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
165 config 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
171 config 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
178 config 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
186 config 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
194           core voltage of the CPU.
195
196           If in doubt, say N.
197
198 config ARM_S3C2416_CPUFREQ_VCORESCALE
199         bool "Allow voltage scaling for S3C2416 arm core"
200         depends on ARM_S3C2416_CPUFREQ && REGULATOR
201         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
208 config 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
216 config 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
225 config 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
235 config ARM_SA1100_CPUFREQ
236         bool
237
238 config ARM_SA1110_CPUFREQ
239         bool
240
241 config 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.
247
248 config 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
258 config ARM_TANGO_CPUFREQ
259         bool
260         depends on CPUFREQ_DT && ARCH_TANGO
261         default y
262
263 config ARM_TEGRA20_CPUFREQ
264         bool "Tegra20 CPUFreq support"
265         depends on ARCH_TEGRA
266         default y
267         help
268           This adds the CPUFreq driver support for Tegra20 SOCs.
269
270 config ARM_TEGRA124_CPUFREQ
271         tristate "Tegra124 CPUFreq support"
272         depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
273         default y
274         help
275           This adds the CPUFreq driver support for Tegra124 SOCs.
276
277 config 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
283 config 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
294 config 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.