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