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