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 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 if ARCH_BRCMSTB && !ARM_SCMI_CPUFREQ
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 if ARCH_HIGHBANK
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 if ARCH_MEDIATEK
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 CPU_S3C6410
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 CPU_S5PV210
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 PLAT_SPEAR
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 ARCH_TEGRA
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 ARCH_TEGRA
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 || ARCH_TEGRA_234_SOC || (64BIT && COMPILE_TEST)
258 depends on TEGRA_BPMP
259 default ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC
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 ARCH_OMAP2PLUS || ARCH_K3
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.