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