GNU Linux-libre 4.4.289-gnu1
[releases.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_S3C_CPUFREQ
99         bool
100         help
101           Internal configuration node for common cpufreq on Samsung SoC
102
103 config ARM_S3C24XX_CPUFREQ
104         bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
105         depends on ARCH_S3C24XX
106         select ARM_S3C_CPUFREQ
107         help
108           This enables the CPUfreq driver for the Samsung S3C24XX family
109           of CPUs.
110
111           For details, take a look at <file:Documentation/cpu-freq>.
112
113           If in doubt, say N.
114
115 config ARM_S3C24XX_CPUFREQ_DEBUG
116         bool "Debug CPUfreq Samsung driver core"
117         depends on ARM_S3C24XX_CPUFREQ
118         help
119           Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
120
121 config ARM_S3C24XX_CPUFREQ_IODEBUG
122         bool "Debug CPUfreq Samsung driver IO timing"
123         depends on ARM_S3C24XX_CPUFREQ
124         help
125           Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
126
127 config ARM_S3C24XX_CPUFREQ_DEBUGFS
128         bool "Export debugfs for CPUFreq"
129         depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
130         help
131           Export status information via debugfs.
132
133 config ARM_S3C2410_CPUFREQ
134         bool
135         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
136         select S3C2410_CPUFREQ_UTILS
137         help
138           CPU Frequency scaling support for S3C2410
139
140 config ARM_S3C2412_CPUFREQ
141         bool
142         depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
143         default y
144         select S3C2412_IOTIMING
145         help
146           CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
147
148 config ARM_S3C2416_CPUFREQ
149         bool "S3C2416 CPU Frequency scaling support"
150         depends on CPU_S3C2416
151         help
152           This adds the CPUFreq driver for the Samsung S3C2416 and
153           S3C2450 SoC. The S3C2416 supports changing the rate of the
154           armdiv clock source and also entering a so called dynamic
155           voltage scaling mode in which it is possible to reduce the
156           core voltage of the CPU.
157
158           If in doubt, say N.
159
160 config ARM_S3C2416_CPUFREQ_VCORESCALE
161         bool "Allow voltage scaling for S3C2416 arm core"
162         depends on ARM_S3C2416_CPUFREQ && REGULATOR
163         help
164           Enable CPU voltage scaling when entering the dvs mode.
165           It uses information gathered through existing hardware and
166           tests but not documented in any datasheet.
167
168           If in doubt, say N.
169
170 config ARM_S3C2440_CPUFREQ
171         bool "S3C2440/S3C2442 CPU Frequency scaling support"
172         depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
173         select S3C2410_CPUFREQ_UTILS
174         default y
175         help
176           CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
177
178 config ARM_S3C64XX_CPUFREQ
179         bool "Samsung S3C64XX"
180         depends on CPU_S3C6410
181         default y
182         help
183           This adds the CPUFreq driver for Samsung S3C6410 SoC.
184
185           If in doubt, say N.
186
187 config ARM_S5PV210_CPUFREQ
188         bool "Samsung S5PV210 and S5PC110"
189         depends on CPU_S5PV210
190         default y
191         help
192           This adds the CPUFreq driver for Samsung S5PV210 and
193           S5PC110 SoCs.
194
195           If in doubt, say N.
196
197 config ARM_SA1100_CPUFREQ
198         bool
199
200 config ARM_SA1110_CPUFREQ
201         bool
202
203 config ARM_SCPI_CPUFREQ
204         tristate "SCPI based CPUfreq driver"
205         depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
206         help
207           This adds the CPUfreq driver support for ARM big.LITTLE platforms
208           using SCPI protocol for CPU power management.
209
210           This driver uses SCPI Message Protocol driver to interact with the
211           firmware providing the CPU DVFS functionality.
212
213 config ARM_SPEAR_CPUFREQ
214         bool "SPEAr CPUFreq support"
215         depends on PLAT_SPEAR
216         default y
217         help
218           This adds the CPUFreq driver support for SPEAr SOCs.
219
220 config ARM_TEGRA20_CPUFREQ
221         bool "Tegra20 CPUFreq support"
222         depends on ARCH_TEGRA
223         default y
224         help
225           This adds the CPUFreq driver support for Tegra20 SOCs.
226
227 config ARM_TEGRA124_CPUFREQ
228         tristate "Tegra124 CPUFreq support"
229         depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
230         default y
231         help
232           This adds the CPUFreq driver support for Tegra124 SOCs.
233
234 config ARM_PXA2xx_CPUFREQ
235         tristate "Intel PXA2xx CPUfreq driver"
236         depends on PXA27x || PXA25x
237         help
238           This add the CPUFreq driver support for Intel PXA2xx SOCs.
239
240           If in doubt, say N.
241
242 config ACPI_CPPC_CPUFREQ
243         tristate "CPUFreq driver based on the ACPI CPPC spec"
244         depends on ACPI_PROCESSOR
245         select ACPI_CPPC_LIB
246         default n
247         help
248           This adds a CPUFreq driver which uses CPPC methods
249           as described in the ACPIv5.1 spec. CPPC stands for
250           Collaborative Processor Performance Controls. It
251           is based on an abstract continuous scale of CPU
252           performance values which allows the remote power
253           processor to flexibly optimize for power and
254           performance. CPPC relies on power management firmware
255           support for its operation.
256
257           If in doubt, say N.