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