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