2 # ARM CPU Frequency scaling drivers
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
11 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
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
17 This enables probing via DT for Generic CPUfreq driver for ARM
18 big.LITTLE platform. This gets frequency tables from DT.
20 config ARM_VEXPRESS_SPC_CPUFREQ
21 tristate "Versatile Express SPC based CPUfreq driver"
22 depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC
24 This add the CPUfreq driver support for Versatile Express
25 big.LITTLE platforms using SPC for power management.
27 config ARM_EXYNOS5440_CPUFREQ
28 tristate "SAMSUNG EXYNOS5440"
29 depends on SOC_EXYNOS5440
30 depends on HAVE_CLK && OF
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.
41 config ARM_HIGHBANK_CPUFREQ
42 tristate "Calxeda Highbank-based"
43 depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR
46 This adds the CPUFreq driver for Calxeda Highbank SoC
51 config ARM_HISI_ACPU_CPUFREQ
52 tristate "Hisilicon ACPU CPUfreq driver"
53 depends on ARCH_HISI && CPUFREQ_DT
56 This enables the hisilicon ACPU CPUfreq driver.
60 config ARM_IMX6Q_CPUFREQ
61 tristate "Freescale i.MX6 cpufreq support"
63 depends on REGULATOR_ANATOP
66 This adds cpufreq driver support for Freescale i.MX6 series SoCs.
71 tristate "CPUfreq driver for ARM Integrator CPUs"
72 depends on ARCH_INTEGRATOR
75 This enables the CPUfreq driver for ARM Integrator CPUs.
78 config ARM_KIRKWOOD_CPUFREQ
79 def_bool MACH_KIRKWOOD
81 This adds the CPUFreq driver for Marvell Kirkwood
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
91 This adds the CPUFreq driver support for Mediatek MT8173 SoC.
93 config ARM_OMAP2PLUS_CPUFREQ
95 depends on ARCH_OMAP2PLUS
96 default ARCH_OMAP2PLUS
98 config ARM_ROCKCHIP_CPUFREQ
99 tristate "Rockchip CPUfreq driver"
100 depends on ARCH_ROCKCHIP && CPUFREQ_DT
103 This enables the rockchip CPUfreq driver.
107 config ARM_S3C_CPUFREQ
110 Internal configuration node for common cpufreq on Samsung SoC
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
117 This enables the CPUfreq driver for the Samsung S3C24XX family
120 For details, take a look at <file:Documentation/cpu-freq>.
124 config ARM_S3C24XX_CPUFREQ_DEBUG
125 bool "Debug CPUfreq Samsung driver core"
126 depends on ARM_S3C24XX_CPUFREQ
128 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
130 config ARM_S3C24XX_CPUFREQ_IODEBUG
131 bool "Debug CPUfreq Samsung driver IO timing"
132 depends on ARM_S3C24XX_CPUFREQ
134 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
136 config ARM_S3C24XX_CPUFREQ_DEBUGFS
137 bool "Export debugfs for CPUFreq"
138 depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS
140 Export status information via debugfs.
142 config ARM_S3C2410_CPUFREQ
144 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410
145 select S3C2410_CPUFREQ_UTILS
147 CPU Frequency scaling support for S3C2410
149 config ARM_S3C2412_CPUFREQ
151 depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412
153 select S3C2412_IOTIMING
155 CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
157 config ARM_S3C2416_CPUFREQ
158 bool "S3C2416 CPU Frequency scaling support"
159 depends on CPU_S3C2416
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.
169 config ARM_S3C2416_CPUFREQ_VCORESCALE
170 bool "Allow voltage scaling for S3C2416 arm core"
171 depends on ARM_S3C2416_CPUFREQ && REGULATOR
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.
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
185 CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
187 config ARM_S3C64XX_CPUFREQ
188 bool "Samsung S3C64XX"
189 depends on CPU_S3C6410
192 This adds the CPUFreq driver for Samsung S3C6410 SoC.
196 config ARM_S5PV210_CPUFREQ
197 bool "Samsung S5PV210 and S5PC110"
198 depends on CPU_S5PV210
201 This adds the CPUFreq driver for Samsung S5PV210 and
206 config ARM_SA1100_CPUFREQ
209 config ARM_SA1110_CPUFREQ
212 config ARM_SCPI_CPUFREQ
213 tristate "SCPI based CPUfreq driver"
214 depends on ARM_BIG_LITTLE_CPUFREQ && ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
216 This adds the CPUfreq driver support for ARM big.LITTLE platforms
217 using SCPI protocol for CPU power management.
219 This driver uses SCPI Message Protocol driver to interact with the
220 firmware providing the CPU DVFS functionality.
222 config ARM_SPEAR_CPUFREQ
223 bool "SPEAr CPUFreq support"
224 depends on PLAT_SPEAR
227 This adds the CPUFreq driver support for SPEAr SOCs.
229 config ARM_TEGRA20_CPUFREQ
230 bool "Tegra20 CPUFreq support"
231 depends on ARCH_TEGRA
234 This adds the CPUFreq driver support for Tegra20 SOCs.
236 config ARM_TEGRA124_CPUFREQ
237 tristate "Tegra124 CPUFreq support"
238 depends on ARCH_TEGRA && CPUFREQ_DT && REGULATOR
241 This adds the CPUFreq driver support for Tegra124 SOCs.
243 config ARM_PXA2xx_CPUFREQ
244 tristate "Intel PXA2xx CPUfreq driver"
245 depends on PXA27x || PXA25x
247 This add the CPUFreq driver support for Intel PXA2xx SOCs.
251 config ACPI_CPPC_CPUFREQ
252 tristate "CPUFreq driver based on the ACPI CPPC spec"
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.