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