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_QCOM_CPUFREQ_NVMEM
145 tristate "Qualcomm nvmem based CPUFreq"
146 depends on ARCH_QCOM || COMPILE_TEST
147 depends on NVMEM_QCOM_QFPROM
148 depends on QCOM_SMEM
149 select PM_OPP
150 help
151 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
152
153 If in doubt, say N.
154
155config ARM_QCOM_CPUFREQ_HW
156 tristate "QCOM CPUFreq HW driver"
157 depends on ARCH_QCOM || COMPILE_TEST
158 depends on COMMON_CLK
159 help
160 Support for the CPUFreq HW driver.
161 Some QCOM chipsets have a HW engine to offload the steps
162 necessary for changing the frequency of the CPUs. Firmware loaded
163 in this engine exposes a programming interface to the OS.
164 The driver implements the cpufreq interface for this HW engine.
165 Say Y if you want to support CPUFreq HW.
166
167config ARM_RASPBERRYPI_CPUFREQ
168 tristate "Raspberry Pi cpufreq support"
169 depends on CLK_RASPBERRYPI || COMPILE_TEST
170 help
171 This adds the CPUFreq driver for Raspberry Pi
172
173 If in doubt, say N.
174
175config ARM_S3C64XX_CPUFREQ
176 bool "Samsung S3C64XX"
177 depends on CPU_S3C6410 || COMPILE_TEST
178 default CPU_S3C6410
179 help
180 This adds the CPUFreq driver for Samsung S3C6410 SoC.
181
182 If in doubt, say N.
183
184config ARM_S5PV210_CPUFREQ
185 bool "Samsung S5PV210 and S5PC110"
186 depends on CPU_S5PV210 || COMPILE_TEST
187 default CPU_S5PV210
188 help
189 This adds the CPUFreq driver for Samsung S5PV210 and
190 S5PC110 SoCs.
191
192 If in doubt, say N.
193
194config ARM_SA1110_CPUFREQ
195 bool
196
197config ARM_SCMI_CPUFREQ
198 tristate "SCMI based CPUfreq driver"
199 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
200 select PM_OPP
201 help
202 This adds the CPUfreq driver support for ARM platforms using SCMI
203 protocol for CPU power management.
204
205 This driver uses SCMI Message Protocol driver to interact with the
206 firmware providing the CPU DVFS functionality.
207
208config ARM_SPEAR_CPUFREQ
209 bool "SPEAr CPUFreq support"
210 depends on PLAT_SPEAR || COMPILE_TEST
211 default PLAT_SPEAR
212 help
213 This adds the CPUFreq driver support for SPEAr SOCs.
214
215config ARM_STI_CPUFREQ
216 tristate "STi CPUFreq support"
217 depends on CPUFREQ_DT
218 depends on SOC_STIH407 || COMPILE_TEST
219 help
220 This driver uses the generic OPP framework to match the running
221 platform with a predefined set of suitable values. If not provided
222 we will fall-back so safe-values contained in Device Tree. Enable
223 this config option if you wish to add CPUFreq support for STi based
224 SoCs.
225
226config ARM_TEGRA20_CPUFREQ
227 tristate "Tegra20/30 CPUFreq support"
228 depends on ARCH_TEGRA || COMPILE_TEST
229 depends on CPUFREQ_DT
230 default ARCH_TEGRA
231 help
232 This adds the CPUFreq driver support for Tegra20/30 SOCs.
233
234config ARM_TEGRA124_CPUFREQ
235 tristate "Tegra124 CPUFreq support"
236 depends on ARCH_TEGRA || COMPILE_TEST
237 depends on CPUFREQ_DT
238 default ARCH_TEGRA
239 help
240 This adds the CPUFreq driver support for Tegra124 SOCs.
241
242config ARM_TEGRA186_CPUFREQ
243 tristate "Tegra186 CPUFreq support"
244 depends on ARCH_TEGRA || COMPILE_TEST
245 depends on TEGRA_BPMP
246 help
247 This adds the CPUFreq driver support for Tegra186 SOCs.
248
249config ARM_TEGRA194_CPUFREQ
250 tristate "Tegra194 CPUFreq support"
251 depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC
252 depends on TEGRA_BPMP
253 default ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC
254 help
255 This adds CPU frequency driver support for Tegra194 SOCs.
256
257config ARM_TI_CPUFREQ
258 bool "Texas Instruments CPUFreq support"
259 depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
260 default ARCH_OMAP2PLUS || ARCH_K3
261 help
262 This driver enables valid OPPs on the running platform based on
263 values contained within the SoC in use. Enable this in order to
264 use the cpufreq-dt driver on all Texas Instruments platforms that
265 provide dt based operating-points-v2 tables with opp-supported-hw
266 data provided. Required for cpufreq support on AM335x, AM437x,
267 DRA7x, and AM57x platforms.
268
269config ARM_PXA2xx_CPUFREQ
270 tristate "Intel PXA2xx CPUfreq driver"
271 depends on PXA27x || PXA25x || COMPILE_TEST
272 help
273 This add the CPUFreq driver support for Intel PXA2xx SOCs.
274
275 If in doubt, say N.