Merge tag 'gcc-plugins-v4.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / drivers / cpufreq / Kconfig.arm
1 #
2 # ARM CPU Frequency scaling drivers
3 #
4
5 # big LITTLE core layer and glue drivers
6 config ARM_BIG_LITTLE_CPUFREQ
7         tristate "Generic ARM big LITTLE CPUfreq driver"
8         depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK
9         # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
10         depends on !CPU_THERMAL || THERMAL
11         select PM_OPP
12         help
13           This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
14
15 config ARM_DT_BL_CPUFREQ
16         tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
17         depends on ARM_BIG_LITTLE_CPUFREQ && OF
18         help
19           This enables probing via DT for Generic CPUfreq driver for ARM
20           big.LITTLE platform. This gets frequency tables from DT.
21
22 config ARM_VEXPRESS_SPC_CPUFREQ
23         tristate "Versatile Express SPC based CPUfreq driver"
24         depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
25         help
26           This add the CPUfreq driver support for Versatile Express
27           big.LITTLE platforms using SPC for power management.
28
29 config ARM_EXYNOS5440_CPUFREQ
30         tristate "SAMSUNG EXYNOS5440"
31         depends on SOC_EXYNOS5440
32         depends on HAVE_CLK && OF
33         select PM_OPP
34         default y
35         help
36           This adds the CPUFreq driver for Samsung EXYNOS5440
37           SoC. The nature of exynos5440 clock controller is
38           different than previous exynos controllers so not using
39           the common exynos framework.
40
41           If in doubt, say N.
42
43 config ARM_HIGHBANK_CPUFREQ
44         tristate "Calxeda Highbank-based"
45         depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
46         default m
47         help
48           This adds the CPUFreq driver for Calxeda Highbank SoC
49           based boards.
50
51           If in doubt, say N.
52
53 config ARM_IMX6Q_CPUFREQ
54         tristate "Freescale i.MX6 cpufreq support"
55         depends on ARCH_MXC
56         depends on REGULATOR_ANATOP
57         select PM_OPP
58         help
59           This adds cpufreq driver support for Freescale i.MX6 series SoCs.
60
61           If in doubt, say N.
62
63 config ARM_INTEGRATOR
64         tristate "CPUfreq driver for ARM Integrator CPUs"
65         depends on ARCH_INTEGRATOR
66         default y
67         help
68           This enables the CPUfreq driver for ARM Integrator CPUs.
69           If in doubt, say Y.
70
71 config ARM_KIRKWOOD_CPUFREQ
72         def_bool MACH_KIRKWOOD
73         help
74           This adds the CPUFreq driver for Marvell Kirkwood
75           SoCs.
76
77 config ARM_MT8173_CPUFREQ
78         tristate "Mediatek MT8173 CPUFreq support"
79         depends on ARCH_MEDIATEK && REGULATOR
80         depends on ARM64 || (ARM_CPU_TOPOLOGY && COMPILE_TEST)
81         depends on !CPU_THERMAL || THERMAL
82         select PM_OPP
83         help
84           This adds the CPUFreq driver support for Mediatek MT8173 SoC.
85
86 config ARM_OMAP2PLUS_CPUFREQ
87         bool "TI OMAP2+"
88         depends on ARCH_OMAP2PLUS
89         default ARCH_OMAP2PLUS
90
91 config ARM_S3C_CPUFREQ
92         bool
93         help
94           Internal configuration node for common cpufreq on Samsung SoC
95
96 config ARM_S3C24XX_CPUFREQ
97         bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
98         depends on ARCH_S3C24XX
99         select ARM_S3C_CPUFREQ
100         help
101           This enables the CPUfreq driver for the Samsung S3C24XX family
102           of CPUs.
103
104           For details, take a look at <file:Documentation/cpu-freq>.
105
106           If in doubt, say N.
107
108 config ARM_S3C24XX_CPUFREQ_DEBUG
109         bool "Debug CPUfreq Samsung driver core"
110         depends on ARM_S3C24XX_CPUFREQ
111         help
112           Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
113
114 config ARM_S3C24XX_CPUFREQ_IODEBUG
115         bool "Debug CPUfreq Samsung driver IO timing"
116         depends on ARM_S3C24XX_CPUFREQ
117         help
118           Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
119
120 config ARM_S3C24XX_CPUFREQ_DEBUGFS
121         bool "Export debugfs for CPUFreq"
122         depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
123         help
124           Export status information via debugfs.
125
126 config ARM_S3C2410_CPUFREQ
127         bool
128         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
129         select S3C2410_CPUFREQ_UTILS
130         help
131           CPU Frequency scaling support for S3C2410
132
133 config ARM_S3C2412_CPUFREQ
134         bool
135         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
136         default y
137         select S3C2412_IOTIMING
138         help
139           CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
140
141 config ARM_S3C2416_CPUFREQ
142         bool "S3C2416 CPU Frequency scaling support"
143         depends on CPU_S3C2416
144         help
145           This adds the CPUFreq driver for the Samsung S3C2416 and
146           S3C2450 SoC. The S3C2416 supports changing the rate of the
147           armdiv clock source and also entering a so called dynamic
148           voltage scaling mode in which it is possible to reduce the
149           core voltage of the CPU.
150
151           If in doubt, say N.
152
153 config ARM_S3C2416_CPUFREQ_VCORESCALE
154         bool "Allow voltage scaling for S3C2416 arm core"
155         depends on ARM_S3C2416_CPUFREQ && REGULATOR
156         help
157           Enable CPU voltage scaling when entering the dvs mode.
158           It uses information gathered through existing hardware and
159           tests but not documented in any datasheet.
160
161           If in doubt, say N.
162
163 config ARM_S3C2440_CPUFREQ
164         bool "S3C2440/S3C2442 CPU Frequency scaling support"
165         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
166         select S3C2410_CPUFREQ_UTILS
167         default y
168         help
169           CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
170
171 config ARM_S3C64XX_CPUFREQ
172         bool "Samsung S3C64XX"
173         depends on CPU_S3C6410
174         default y
175         help
176           This adds the CPUFreq driver for Samsung S3C6410 SoC.
177
178           If in doubt, say N.
179
180 config ARM_S5PV210_CPUFREQ
181         bool "Samsung S5PV210 and S5PC110"
182         depends on CPU_S5PV210
183         default y
184         help
185           This adds the CPUFreq driver for Samsung S5PV210 and
186           S5PC110 SoCs.
187
188           If in doubt, say N.
189
190 config ARM_SA1100_CPUFREQ
191         bool
192
193 config ARM_SA1110_CPUFREQ
194         bool
195
196 config ARM_SCPI_CPUFREQ
197         tristate "SCPI based CPUfreq driver"
198         depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
199         help
200           This adds the CPUfreq driver support for ARM big.LITTLE platforms
201           using SCPI protocol for CPU power management.
202
203           This driver uses SCPI Message Protocol driver to interact with the
204           firmware providing the CPU DVFS functionality.
205
206 config ARM_SPEAR_CPUFREQ
207         bool "SPEAr CPUFreq support"
208         depends on PLAT_SPEAR
209         default y
210         help
211           This adds the CPUFreq driver support for SPEAr SOCs.
212
213 config ARM_STI_CPUFREQ
214         tristate "STi CPUFreq support"
215         depends on SOC_STIH407
216         help
217           This driver uses the generic OPP framework to match the running
218           platform with a predefined set of suitable values.  If not provided
219           we will fall-back so safe-values contained in Device Tree.  Enable
220           this config option if you wish to add CPUFreq support for STi based
221           SoCs.
222
223 config ARM_TEGRA20_CPUFREQ
224         bool "Tegra20 CPUFreq support"
225         depends on ARCH_TEGRA
226         default y
227         help
228           This adds the CPUFreq driver support for Tegra20 SOCs.
229
230 config ARM_TEGRA124_CPUFREQ
231         tristate "Tegra124 CPUFreq support"
232         depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
233         default y
234         help
235           This adds the CPUFreq driver support for Tegra124 SOCs.
236
237 config ARM_PXA2xx_CPUFREQ
238         tristate "Intel PXA2xx CPUfreq driver"
239         depends on PXA27x || PXA25x
240         help
241           This add the CPUFreq driver support for Intel PXA2xx SOCs.
242
243           If in doubt, say N.
244
245 config ACPI_CPPC_CPUFREQ
246         tristate "CPUFreq driver based on the ACPI CPPC spec"
247         depends on ACPI
248         select ACPI_CPPC_LIB
249         default n
250         help
251           This adds a CPUFreq driver which uses CPPC methods
252           as described in the ACPIv5.1 spec. CPPC stands for
253           Collaborative Processor Performance Controls. It
254           is based on an abstract continuous scale of CPU
255           performance values which allows the remote power
256           processor to flexibly optimize for power and
257           performance. CPPC relies on power management firmware
258           support for its operation.
259
260           If in doubt, say N.