xref: /linux/drivers/cpufreq/Kconfig.arm (revision 1fa9970a4e61e9383a8ee738b44e2194d4ce7ff5)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# ARM CPU Frequency scaling drivers
4#
5
6config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
7	tristate "Allwinner nvmem based SUN50I CPUFreq driver"
8	depends on ARCH_SUNXI || COMPILE_TEST
9	depends on NVMEM_SUNXI_SID
10	select PM_OPP
11	help
12	  This adds the nvmem based CPUFreq driver for Allwinner
13	  h6 SoC.
14
15	  To compile this driver as a module, choose M here: the
16	  module will be called sun50i-cpufreq-nvmem.
17
18config ARM_AIROHA_SOC_CPUFREQ
19	tristate "Airoha EN7581 SoC CPUFreq support"
20	depends on ARCH_AIROHA || COMPILE_TEST
21	depends on OF
22	select PM_OPP
23	default ARCH_AIROHA
24	help
25	  This adds the CPUFreq driver for Airoha EN7581 SoCs.
26
27config ARM_APPLE_SOC_CPUFREQ
28	tristate "Apple Silicon SoC CPUFreq support"
29	depends on ARCH_APPLE || (COMPILE_TEST && 64BIT)
30	select PM_OPP
31	default ARCH_APPLE
32	help
33	  This adds the CPUFreq driver for Apple Silicon machines
34	  (e.g. Apple M1).
35
36config ARM_ARMADA_37XX_CPUFREQ
37	tristate "Armada 37xx CPUFreq support"
38	depends on ARCH_MVEBU || COMPILE_TEST
39	depends on CPUFREQ_DT
40	help
41	  This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
42	  The Armada 37xx PMU supports 4 frequency and VDD levels.
43
44config ARM_ARMADA_8K_CPUFREQ
45	tristate "Armada 8K CPUFreq driver"
46	depends on ARCH_MVEBU || COMPILE_TEST
47	depends on CPUFREQ_DT
48	select ARMADA_AP_CPU_CLK if COMMON_CLK
49	help
50	  This enables the CPUFreq driver support for Marvell
51	  Armada8k SOCs.
52	  Armada8K device has the AP806 which supports scaling
53	  to any full integer divider.
54
55	  If in doubt, say N.
56
57config ARM_SCPI_CPUFREQ
58	tristate "SCPI based CPUfreq driver"
59	depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
60	help
61	  This adds the CPUfreq driver support for ARM platforms using SCPI
62	  protocol for CPU power management.
63
64	  This driver uses SCPI Message Protocol driver to interact with the
65	  firmware providing the CPU DVFS functionality.
66
67config ARM_VEXPRESS_SPC_CPUFREQ
68	tristate "Versatile Express SPC based CPUfreq driver"
69	depends on ARM_CPU_TOPOLOGY && HAVE_CLK
70	depends on ARCH_VEXPRESS_SPC || COMPILE_TEST
71	select PM_OPP
72	help
73	  This add the CPUfreq driver support for Versatile Express
74	  big.LITTLE platforms using SPC for power management.
75
76config ARM_BRCMSTB_AVS_CPUFREQ
77	tristate "Broadcom STB AVS CPUfreq driver"
78	depends on (ARCH_BRCMSTB && !ARM_SCMI_CPUFREQ) || COMPILE_TEST
79	default y
80	help
81	  Some Broadcom STB SoCs use a co-processor running proprietary firmware
82	  ("AVS") to handle voltage and frequency scaling. This driver provides
83	  a standard CPUfreq interface to the firmware.
84
85	  Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
86
87config ARM_HIGHBANK_CPUFREQ
88	tristate "Calxeda Highbank-based"
89	depends on ARCH_HIGHBANK || COMPILE_TEST
90	depends on CPUFREQ_DT && REGULATOR && PL320_MBOX
91	default m
92	help
93	  This adds the CPUFreq driver for Calxeda Highbank SoC
94	  based boards.
95
96	  If in doubt, say N.
97
98config ARM_IMX6Q_CPUFREQ
99	tristate "Freescale i.MX6 cpufreq support"
100	depends on ARCH_MXC
101	depends on REGULATOR_ANATOP
102	depends on NVMEM_IMX_OCOTP || COMPILE_TEST
103	select PM_OPP
104	help
105	  This adds cpufreq driver support for Freescale i.MX6 series SoCs.
106
107	  If in doubt, say N.
108
109config ARM_IMX_CPUFREQ_DT
110	tristate "Freescale i.MX8M cpufreq support"
111	depends on CPUFREQ_DT
112	depends on ARCH_MXC || COMPILE_TEST
113	help
114	  This adds cpufreq driver support for Freescale i.MX7/i.MX8M
115	  series SoCs, based on cpufreq-dt.
116
117	  If in doubt, say N.
118
119config ARM_KIRKWOOD_CPUFREQ
120	def_bool MACH_KIRKWOOD
121	help
122	  This adds the CPUFreq driver for Marvell Kirkwood
123	  SoCs.
124
125config ARM_MEDIATEK_CPUFREQ
126	tristate "CPU Frequency scaling support for MediaTek SoCs"
127	depends on ARCH_MEDIATEK || COMPILE_TEST
128	depends on REGULATOR
129	select PM_OPP
130	help
131	  This adds the CPUFreq driver support for MediaTek SoCs.
132
133config ARM_MEDIATEK_CPUFREQ_HW
134	tristate "MediaTek CPUFreq HW driver"
135	depends on ARCH_MEDIATEK || COMPILE_TEST
136	default m
137	help
138	  Support for the CPUFreq HW driver.
139	  Some MediaTek chipsets have a HW engine to offload the steps
140	  necessary for changing the frequency of the CPUs. Firmware loaded
141	  in this engine exposes a programming interface to the OS.
142	  The driver implements the cpufreq interface for this HW engine.
143	  Say Y if you want to support CPUFreq HW.
144
145config ARM_OMAP2PLUS_CPUFREQ
146	bool "TI OMAP2+"
147	depends on ARCH_OMAP2PLUS || COMPILE_TEST
148	default ARCH_OMAP2PLUS
149
150config ARM_QCOM_CPUFREQ_NVMEM
151	tristate "Qualcomm nvmem based CPUFreq"
152	depends on ARCH_QCOM || COMPILE_TEST
153	depends on NVMEM_QCOM_QFPROM
154	depends on QCOM_SMEM
155	select PM_OPP
156	help
157	  This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
158
159	  If in doubt, say N.
160
161config ARM_QCOM_CPUFREQ_HW
162	tristate "QCOM CPUFreq HW driver"
163	depends on ARCH_QCOM || COMPILE_TEST
164	depends on COMMON_CLK
165	help
166	  Support for the CPUFreq HW driver.
167	  Some QCOM chipsets have a HW engine to offload the steps
168	  necessary for changing the frequency of the CPUs. Firmware loaded
169	  in this engine exposes a programming interface to the OS.
170	  The driver implements the cpufreq interface for this HW engine.
171	  Say Y if you want to support CPUFreq HW.
172
173config ARM_RASPBERRYPI_CPUFREQ
174	tristate "Raspberry Pi cpufreq support"
175	depends on CLK_RASPBERRYPI || COMPILE_TEST
176	help
177	  This adds the CPUFreq driver for Raspberry Pi
178
179	  If in doubt, say N.
180
181config ARM_S3C64XX_CPUFREQ
182	bool "Samsung S3C64XX"
183	depends on CPU_S3C6410 || COMPILE_TEST
184	default y
185	help
186	  This adds the CPUFreq driver for Samsung S3C6410 SoC.
187
188	  If in doubt, say N.
189
190config ARM_S5PV210_CPUFREQ
191	bool "Samsung S5PV210 and S5PC110"
192	depends on CPU_S5PV210 || COMPILE_TEST
193	default y
194	help
195	  This adds the CPUFreq driver for Samsung S5PV210 and
196	  S5PC110 SoCs.
197
198	  If in doubt, say N.
199
200config ARM_SA1110_CPUFREQ
201	bool
202
203config ARM_SCMI_CPUFREQ
204	tristate "SCMI based CPUfreq driver"
205	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
206	select PM_OPP
207	help
208	  This adds the CPUfreq driver support for ARM platforms using SCMI
209	  protocol for CPU power management.
210
211	  This driver uses SCMI Message Protocol driver to interact with the
212	  firmware providing the CPU DVFS functionality.
213
214config ARM_SPEAR_CPUFREQ
215	bool "SPEAr CPUFreq support"
216	depends on PLAT_SPEAR || COMPILE_TEST
217	default y
218	help
219	  This adds the CPUFreq driver support for SPEAr SOCs.
220
221config ARM_STI_CPUFREQ
222	tristate "STi CPUFreq support"
223	depends on CPUFREQ_DT
224	depends on SOC_STIH407 || COMPILE_TEST
225	help
226	  This driver uses the generic OPP framework to match the running
227	  platform with a predefined set of suitable values.  If not provided
228	  we will fall-back so safe-values contained in Device Tree.  Enable
229	  this config option if you wish to add CPUFreq support for STi based
230	  SoCs.
231
232config ARM_TEGRA20_CPUFREQ
233	tristate "Tegra20/30 CPUFreq support"
234	depends on ARCH_TEGRA || COMPILE_TEST
235	depends on CPUFREQ_DT
236	default y
237	help
238	  This adds the CPUFreq driver support for Tegra20/30 SOCs.
239
240config ARM_TEGRA124_CPUFREQ
241	bool "Tegra124 CPUFreq support"
242	depends on ARCH_TEGRA || COMPILE_TEST
243	depends on CPUFREQ_DT
244	default y
245	help
246	  This adds the CPUFreq driver support for Tegra124 SOCs.
247
248config ARM_TEGRA186_CPUFREQ
249	tristate "Tegra186 CPUFreq support"
250	depends on ARCH_TEGRA || COMPILE_TEST
251	depends on TEGRA_BPMP
252	help
253	  This adds the CPUFreq driver support for Tegra186 SOCs.
254
255config ARM_TEGRA194_CPUFREQ
256	tristate "Tegra194 CPUFreq support"
257	depends on ARCH_TEGRA_194_SOC || (64BIT && COMPILE_TEST)
258	depends on TEGRA_BPMP
259	default y
260	help
261	  This adds CPU frequency driver support for Tegra194 SOCs.
262
263config ARM_TI_CPUFREQ
264	bool "Texas Instruments CPUFreq support"
265	depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
266	default y
267	help
268	  This driver enables valid OPPs on the running platform based on
269	  values contained within the SoC in use. Enable this in order to
270	  use the cpufreq-dt driver on all Texas Instruments platforms that
271	  provide dt based operating-points-v2 tables with opp-supported-hw
272	  data provided. Required for cpufreq support on AM335x, AM437x,
273	  DRA7x, and AM57x platforms.
274
275config ARM_PXA2xx_CPUFREQ
276	tristate "Intel PXA2xx CPUfreq driver"
277	depends on PXA27x || PXA25x || COMPILE_TEST
278	help
279	  This add the CPUFreq driver support for Intel PXA2xx SOCs.
280
281	  If in doubt, say N.
282