2 # ARM CPU Frequency scaling drivers
5 config ACPI_CPPC_CPUFREQ
6 tristate "CPUFreq driver based on the ACPI CPPC spec"
7 depends on ACPI_PROCESSOR
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.
21 config ARM_ARMADA_37XX_CPUFREQ
22 tristate "Armada 37xx CPUFreq support"
25 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
26 The Armada 37xx PMU supports 4 frequency and VDD levels.
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
36 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
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
42 This enables probing via DT for Generic CPUfreq driver for ARM
43 big.LITTLE platform. This gets frequency tables from DT.
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
50 This adds the CPUfreq driver support for ARM platforms using SCPI
51 protocol for CPU power management.
53 This driver uses SCPI Message Protocol driver to interact with the
54 firmware providing the CPU DVFS functionality.
56 config ARM_VEXPRESS_SPC_CPUFREQ
57 tristate "Versatile Express SPC based CPUfreq driver"
58 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
60 This add the CPUfreq driver support for Versatile Express
61 big.LITTLE platforms using SPC for power management.
63 config ARM_BRCMSTB_AVS_CPUFREQ
64 tristate "Broadcom STB AVS CPUfreq driver"
65 depends on ARCH_BRCMSTB || COMPILE_TEST
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.
72 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
74 config ARM_BRCMSTB_AVS_CPUFREQ_DEBUG
75 bool "Broadcom STB AVS CPUfreq driver sysfs debug capability"
76 depends on ARM_BRCMSTB_AVS_CPUFREQ
78 Enabling this option turns on debug support via sysfs under
79 /sys/kernel/debug/brcmstb-avs-cpufreq. It is possible to read all and
80 write some AVS mailbox registers through sysfs entries.
84 config ARM_EXYNOS5440_CPUFREQ
85 tristate "SAMSUNG EXYNOS5440"
86 depends on SOC_EXYNOS5440
87 depends on HAVE_CLK && OF
91 This adds the CPUFreq driver for Samsung EXYNOS5440
92 SoC. The nature of exynos5440 clock controller is
93 different than previous exynos controllers so not using
94 the common exynos framework.
98 config ARM_HIGHBANK_CPUFREQ
99 tristate "Calxeda Highbank-based"
100 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
103 This adds the CPUFreq driver for Calxeda Highbank SoC
108 config ARM_IMX6Q_CPUFREQ
109 tristate "Freescale i.MX6 cpufreq support"
111 depends on REGULATOR_ANATOP
114 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
118 config ARM_KIRKWOOD_CPUFREQ
119 def_bool MACH_KIRKWOOD
121 This adds the CPUFreq driver for Marvell Kirkwood
124 config ARM_MEDIATEK_CPUFREQ
125 tristate "CPU Frequency scaling support for MediaTek SoCs"
126 depends on ARCH_MEDIATEK && REGULATOR
127 depends on !CPU_THERMAL || THERMAL
130 This adds the CPUFreq driver support for MediaTek SoCs.
132 config ARM_OMAP2PLUS_CPUFREQ
134 depends on ARCH_OMAP2PLUS
135 default ARCH_OMAP2PLUS
137 config ARM_S3C_CPUFREQ
140 Internal configuration node for common cpufreq on Samsung SoC
142 config ARM_S3C24XX_CPUFREQ
143 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
144 depends on ARCH_S3C24XX
145 select ARM_S3C_CPUFREQ
147 This enables the CPUfreq driver for the Samsung S3C24XX family
150 For details, take a look at <file:Documentation/cpu-freq>.
154 config ARM_S3C24XX_CPUFREQ_DEBUG
155 bool "Debug CPUfreq Samsung driver core"
156 depends on ARM_S3C24XX_CPUFREQ
158 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
160 config ARM_S3C24XX_CPUFREQ_IODEBUG
161 bool "Debug CPUfreq Samsung driver IO timing"
162 depends on ARM_S3C24XX_CPUFREQ
164 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
166 config ARM_S3C24XX_CPUFREQ_DEBUGFS
167 bool "Export debugfs for CPUFreq"
168 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
170 Export status information via debugfs.
172 config ARM_S3C2410_CPUFREQ
174 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
175 select S3C2410_CPUFREQ_UTILS
177 CPU Frequency scaling support for S3C2410
179 config ARM_S3C2412_CPUFREQ
181 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
183 select S3C2412_IOTIMING
185 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
187 config ARM_S3C2416_CPUFREQ
188 bool "S3C2416 CPU Frequency scaling support"
189 depends on CPU_S3C2416
191 This adds the CPUFreq driver for the Samsung S3C2416 and
192 S3C2450 SoC. The S3C2416 supports changing the rate of the
193 armdiv clock source and also entering a so called dynamic
194 voltage scaling mode in which it is possible to reduce the
195 core voltage of the CPU.
199 config ARM_S3C2416_CPUFREQ_VCORESCALE
200 bool "Allow voltage scaling for S3C2416 arm core"
201 depends on ARM_S3C2416_CPUFREQ && REGULATOR
203 Enable CPU voltage scaling when entering the dvs mode.
204 It uses information gathered through existing hardware and
205 tests but not documented in any datasheet.
209 config ARM_S3C2440_CPUFREQ
210 bool "S3C2440/S3C2442 CPU Frequency scaling support"
211 depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442)
212 select S3C2410_CPUFREQ_UTILS
215 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
217 config ARM_S3C64XX_CPUFREQ
218 bool "Samsung S3C64XX"
219 depends on CPU_S3C6410
222 This adds the CPUFreq driver for Samsung S3C6410 SoC.
226 config ARM_S5PV210_CPUFREQ
227 bool "Samsung S5PV210 and S5PC110"
228 depends on CPU_S5PV210
231 This adds the CPUFreq driver for Samsung S5PV210 and
236 config ARM_SA1100_CPUFREQ
239 config ARM_SA1110_CPUFREQ
242 config ARM_SPEAR_CPUFREQ
243 bool "SPEAr CPUFreq support"
244 depends on PLAT_SPEAR
247 This adds the CPUFreq driver support for SPEAr SOCs.
249 config ARM_STI_CPUFREQ
250 tristate "STi CPUFreq support"
251 depends on SOC_STIH407
253 This driver uses the generic OPP framework to match the running
254 platform with a predefined set of suitable values. If not provided
255 we will fall-back so safe-values contained in Device Tree. Enable
256 this config option if you wish to add CPUFreq support for STi based
259 config ARM_TANGO_CPUFREQ
261 depends on CPUFREQ_DT && ARCH_TANGO
264 config ARM_TEGRA20_CPUFREQ
265 bool "Tegra20 CPUFreq support"
266 depends on ARCH_TEGRA
269 This adds the CPUFreq driver support for Tegra20 SOCs.
271 config ARM_TEGRA124_CPUFREQ
272 tristate "Tegra124 CPUFreq support"
273 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
276 This adds the CPUFreq driver support for Tegra124 SOCs.
278 config ARM_TEGRA186_CPUFREQ
279 tristate "Tegra186 CPUFreq support"
280 depends on ARCH_TEGRA && TEGRA_BPMP
282 This adds the CPUFreq driver support for Tegra186 SOCs.
284 config ARM_TI_CPUFREQ
285 bool "Texas Instruments CPUFreq support"
286 depends on ARCH_OMAP2PLUS
288 This driver enables valid OPPs on the running platform based on
289 values contained within the SoC in use. Enable this in order to
290 use the cpufreq-dt driver on all Texas Instruments platforms that
291 provide dt based operating-points-v2 tables with opp-supported-hw
292 data provided. Required for cpufreq support on AM335x, AM437x,
293 DRA7x, and AM57x platforms.
295 config ARM_PXA2xx_CPUFREQ
296 tristate "Intel PXA2xx CPUfreq driver"
297 depends on PXA27x || PXA25x
299 This add the CPUFreq driver support for Intel PXA2xx SOCs.