Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
[linux-2.6-microblaze.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 && CPUFREQ_DT
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_SCPI_PROTOCOL && COMMON_CLK_SCPI
48         depends on !CPU_THERMAL || THERMAL
49         help
50           This adds the CPUfreq driver support for ARM platforms using SCPI
51           protocol for CPU power management.
52
53           This driver uses SCPI Message Protocol driver to interact with the
54           firmware providing the CPU DVFS functionality.
55
56 config ARM_VEXPRESS_SPC_CPUFREQ
57         tristate "Versatile Express SPC based CPUfreq driver"
58         depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
59         help
60           This add the CPUfreq driver support for Versatile Express
61           big.LITTLE platforms using SPC for power management.
62
63 config ARM_BRCMSTB_AVS_CPUFREQ
64         tristate "Broadcom STB AVS CPUfreq driver"
65         depends on ARCH_BRCMSTB || COMPILE_TEST
66         default y
67         help
68           Some Broadcom STB SoCs use a co-processor running proprietary firmware
69           ("AVS") to handle voltage and frequency scaling. This driver provides
70           a standard CPUfreq interface to to the firmware.
71
72           Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
73
74 config ARM_EXYNOS5440_CPUFREQ
75         tristate "SAMSUNG EXYNOS5440"
76         depends on SOC_EXYNOS5440
77         depends on HAVE_CLK && OF
78         select PM_OPP
79         default y
80         help
81           This adds the CPUFreq driver for Samsung EXYNOS5440
82           SoC. The nature of exynos5440 clock controller is
83           different than previous exynos controllers so not using
84           the common exynos framework.
85
86           If in doubt, say N.
87
88 config ARM_HIGHBANK_CPUFREQ
89         tristate "Calxeda Highbank-based"
90         depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
91         default m
92         help
93           This adds the CPUFreq driver for Calxeda Highbank SoC
94           based boards.
95
96           If in doubt, say N.
97
98 config ARM_IMX6Q_CPUFREQ
99         tristate "Freescale i.MX6 cpufreq support"
100         depends on ARCH_MXC
101         depends on REGULATOR_ANATOP
102         select PM_OPP
103         help
104           This adds cpufreq driver support for Freescale i.MX6 series SoCs.
105
106           If in doubt, say N.
107
108 config ARM_KIRKWOOD_CPUFREQ
109         def_bool MACH_KIRKWOOD
110         help
111           This adds the CPUFreq driver for Marvell Kirkwood
112           SoCs.
113
114 config ARM_MEDIATEK_CPUFREQ
115         tristate "CPU Frequency scaling support for MediaTek SoCs"
116         depends on ARCH_MEDIATEK && REGULATOR
117         depends on !CPU_THERMAL || THERMAL
118         select PM_OPP
119         help
120           This adds the CPUFreq driver support for MediaTek SoCs.
121
122 config ARM_OMAP2PLUS_CPUFREQ
123         bool "TI OMAP2+"
124         depends on ARCH_OMAP2PLUS
125         default ARCH_OMAP2PLUS
126
127 config ARM_S3C_CPUFREQ
128         bool
129         help
130           Internal configuration node for common cpufreq on Samsung SoC
131
132 config ARM_S3C24XX_CPUFREQ
133         bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
134         depends on ARCH_S3C24XX
135         select ARM_S3C_CPUFREQ
136         help
137           This enables the CPUfreq driver for the Samsung S3C24XX family
138           of CPUs.
139
140           For details, take a look at <file:Documentation/cpu-freq>.
141
142           If in doubt, say N.
143
144 config ARM_S3C24XX_CPUFREQ_DEBUG
145         bool "Debug CPUfreq Samsung driver core"
146         depends on ARM_S3C24XX_CPUFREQ
147         help
148           Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
149
150 config ARM_S3C24XX_CPUFREQ_IODEBUG
151         bool "Debug CPUfreq Samsung driver IO timing"
152         depends on ARM_S3C24XX_CPUFREQ
153         help
154           Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
155
156 config ARM_S3C24XX_CPUFREQ_DEBUGFS
157         bool "Export debugfs for CPUFreq"
158         depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
159         help
160           Export status information via debugfs.
161
162 config ARM_S3C2410_CPUFREQ
163         bool
164         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
165         select S3C2410_CPUFREQ_UTILS
166         help
167           CPU Frequency scaling support for S3C2410
168
169 config ARM_S3C2412_CPUFREQ
170         bool
171         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
172         default y
173         select S3C2412_IOTIMING
174         help
175           CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
176
177 config ARM_S3C2416_CPUFREQ
178         bool "S3C2416 CPU Frequency scaling support"
179         depends on CPU_S3C2416
180         help
181           This adds the CPUFreq driver for the Samsung S3C2416 and
182           S3C2450 SoC. The S3C2416 supports changing the rate of the
183           armdiv clock source and also entering a so called dynamic
184           voltage scaling mode in which it is possible to reduce the
185           core voltage of the CPU.
186
187           If in doubt, say N.
188
189 config ARM_S3C2416_CPUFREQ_VCORESCALE
190         bool "Allow voltage scaling for S3C2416 arm core"
191         depends on ARM_S3C2416_CPUFREQ && REGULATOR
192         help
193           Enable CPU voltage scaling when entering the dvs mode.
194           It uses information gathered through existing hardware and
195           tests but not documented in any datasheet.
196
197           If in doubt, say N.
198
199 config ARM_S3C2440_CPUFREQ
200         bool "S3C2440/S3C2442 CPU Frequency scaling support"
201         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
202         select S3C2410_CPUFREQ_UTILS
203         default y
204         help
205           CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
206
207 config ARM_S3C64XX_CPUFREQ
208         bool "Samsung S3C64XX"
209         depends on CPU_S3C6410
210         default y
211         help
212           This adds the CPUFreq driver for Samsung S3C6410 SoC.
213
214           If in doubt, say N.
215
216 config ARM_S5PV210_CPUFREQ
217         bool "Samsung S5PV210 and S5PC110"
218         depends on CPU_S5PV210
219         default y
220         help
221           This adds the CPUFreq driver for Samsung S5PV210 and
222           S5PC110 SoCs.
223
224           If in doubt, say N.
225
226 config ARM_SA1100_CPUFREQ
227         bool
228
229 config ARM_SA1110_CPUFREQ
230         bool
231
232 config ARM_SCMI_CPUFREQ
233         tristate "SCMI based CPUfreq driver"
234         depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
235         depends on !CPU_THERMAL || THERMAL
236         select PM_OPP
237         help
238           This adds the CPUfreq driver support for ARM platforms using SCMI
239           protocol for CPU power management.
240
241           This driver uses SCMI Message Protocol driver to interact with the
242           firmware providing the CPU DVFS functionality.
243
244 config ARM_SPEAR_CPUFREQ
245         bool "SPEAr CPUFreq support"
246         depends on PLAT_SPEAR
247         default y
248         help
249           This adds the CPUFreq driver support for SPEAr SOCs.
250
251 config ARM_STI_CPUFREQ
252         tristate "STi CPUFreq support"
253         depends on SOC_STIH407
254         help
255           This driver uses the generic OPP framework to match the running
256           platform with a predefined set of suitable values.  If not provided
257           we will fall-back so safe-values contained in Device Tree.  Enable
258           this config option if you wish to add CPUFreq support for STi based
259           SoCs.
260
261 config ARM_TANGO_CPUFREQ
262         bool
263         depends on CPUFREQ_DT && ARCH_TANGO
264         default y
265
266 config ARM_TEGRA20_CPUFREQ
267         bool "Tegra20 CPUFreq support"
268         depends on ARCH_TEGRA
269         default y
270         help
271           This adds the CPUFreq driver support for Tegra20 SOCs.
272
273 config ARM_TEGRA124_CPUFREQ
274         tristate "Tegra124 CPUFreq support"
275         depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
276         default y
277         help
278           This adds the CPUFreq driver support for Tegra124 SOCs.
279
280 config ARM_TEGRA186_CPUFREQ
281         tristate "Tegra186 CPUFreq support"
282         depends on ARCH_TEGRA && TEGRA_BPMP
283         help
284           This adds the CPUFreq driver support for Tegra186 SOCs.
285
286 config ARM_TI_CPUFREQ
287         bool "Texas Instruments CPUFreq support"
288         depends on ARCH_OMAP2PLUS
289         help
290           This driver enables valid OPPs on the running platform based on
291           values contained within the SoC in use. Enable this in order to
292           use the cpufreq-dt driver on all Texas Instruments platforms that
293           provide dt based operating-points-v2 tables with opp-supported-hw
294           data provided. Required for cpufreq support on AM335x, AM437x,
295           DRA7x, and AM57x platforms.
296
297 config ARM_PXA2xx_CPUFREQ
298         tristate "Intel PXA2xx CPUfreq driver"
299         depends on PXA27x || PXA25x
300         help
301           This add the CPUFreq driver support for Intel PXA2xx SOCs.
302
303           If in doubt, say N.