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