Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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.