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