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