# SPDX-License-Identifier: GPL-2.0-only
#
# [31mCONFIG_ARM[0m CPU Frequency scaling drivers
#
config [31mCONFIG_ACPI_CPPC_CPUFREQ[0m
tristate "CPUFreq driver based on the ACPI CPPC spec"
depends on [31mCONFIG_ACPI_PROCESSOR[0m
select [31mCONFIG_ACPI_CPPC_LIB[0m
help
This adds a CPUFreq driver which uses CPPC methods
as described in the ACPIv5.1 spec. CPPC stands for
Collaborative Processor Performance Controls. It
is based on an abstract continuous scale of CPU
performance values which allows the remote power
processor to flexibly optimize for power and
performance. CPPC relies on power management firmware
support for its operation.
If in doubt, say N.
config [31mCONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM[0m
tristate "Allwinner nvmem based SUN50I CPUFreq driver"
depends on [31mCONFIG_ARCH_SUNXI[0m
depends on [31mCONFIG_NVMEM_SUNXI_SID[0m
select [31mCONFIG_PM_OPP[0m
help
This adds the nvmem based CPUFreq driver for Allwinner
h6 SoC.
To compile this driver as a module, choose [31mCONFIG_M[0m here: the
module will be called sun50i-cpufreq-nvmem.
config [31mCONFIG_ARM_ARMADA_37XX_CPUFREQ[0m
tristate "Armada 37xx CPUFreq support"
depends on [31mCONFIG_ARCH_MVEBU[0m && [31mCONFIG_CPUFREQ_DT[0m
help
This adds the CPUFreq driver support for Marvell Armada 37xx SoCs.
The Armada 37xx PMU supports 4 frequency and VDD levels.
config [31mCONFIG_ARM_ARMADA_8K_CPUFREQ[0m
tristate "Armada 8K CPUFreq driver"
depends on [31mCONFIG_ARCH_MVEBU[0m && [31mCONFIG_CPUFREQ_DT[0m
help
This enables the CPUFreq driver support for Marvell
Armada8k SOCs.
Armada8K device has the AP806 which supports scaling
to any full integer divider.
If in doubt, say N.
# big LITTLE core layer and glue drivers
config [31mCONFIG_ARM_BIG_LITTLE_CPUFREQ[0m
tristate "Generic ARM big LITTLE CPUfreq driver"
depends on [31mCONFIG_ARM_CPU_TOPOLOGY[0m && [31mCONFIG_HAVE_CLK[0m
select [31mCONFIG_PM_OPP[0m
help
This enables the Generic CPUfreq driver for [31mCONFIG_ARM[0m big.LITTLE platforms.
config [31mCONFIG_ARM_SCPI_CPUFREQ[0m
tristate "SCPI based CPUfreq driver"
depends on [31mCONFIG_ARM_SCPI_PROTOCOL[0m && [31mCONFIG_COMMON_CLK_SCPI[0m
help
This adds the CPUfreq driver support for [31mCONFIG_ARM[0m platforms using SCPI
protocol for CPU power management.
This driver uses SCPI Message Protocol driver to interact with the
firmware providing the CPU DVFS functionality.
config [31mCONFIG_ARM_VEXPRESS_SPC_CPUFREQ[0m
tristate "Versatile Express SPC based CPUfreq driver"
depends on [31mCONFIG_ARM_BIG_LITTLE_CPUFREQ[0m && [31mCONFIG_ARCH_VEXPRESS_SPC[0m
help
This add the CPUfreq driver support for Versatile Express
big.LITTLE platforms using SPC for power management.
config [31mCONFIG_ARM_BRCMSTB_AVS_CPUFREQ[0m
tristate "Broadcom STB AVS CPUfreq driver"
depends on [31mCONFIG_ARCH_BRCMSTB[0m || [31mCONFIG_COMPILE_TEST[0m
default y
help
Some Broadcom STB SoCs use a co-processor running proprietary firmware
("AVS") to handle voltage and frequency scaling. This driver provides
a standard CPUfreq interface to to the firmware.
Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
config [31mCONFIG_ARM_HIGHBANK_CPUFREQ[0m
tristate "Calxeda Highbank-based"
depends on [31mCONFIG_ARCH_HIGHBANK[0m && [31mCONFIG_CPUFREQ_DT[0m && [31mCONFIG_REGULATOR[0m
default m
help
This adds the CPUFreq driver for Calxeda Highbank SoC
based boards.
If in doubt, say N.
config [31mCONFIG_ARM_IMX6Q_CPUFREQ[0m
tristate "Freescale i.MX6 cpufreq support"
depends on [31mCONFIG_ARCH_MXC[0m
depends on [31mCONFIG_REGULATOR_ANATOP[0m
select [31mCONFIG_PM_OPP[0m
help
This adds cpufreq driver support for Freescale i.MX6 series SoCs.
If in doubt, say N.
config [31mCONFIG_ARM_IMX_CPUFREQ_DT[0m
tristate "Freescale i.MX8M cpufreq support"
depends on [31mCONFIG_ARCH_MXC[0m && [31mCONFIG_CPUFREQ_DT[0m
help
This adds cpufreq driver support for Freescale i.MX8M series SoCs,
based on cpufreq-dt.
If in doubt, say N.
config [31mCONFIG_ARM_KIRKWOOD_CPUFREQ[0m
def_bool [31mCONFIG_MACH_KIRKWOOD[0m
help
This adds the CPUFreq driver for Marvell Kirkwood
SoCs.
config [31mCONFIG_ARM_MEDIATEK_CPUFREQ[0m
tristate "CPU Frequency scaling support for MediaTek SoCs"
depends on [31mCONFIG_ARCH_MEDIATEK[0m && [31mCONFIG_REGULATOR[0m
select [31mCONFIG_PM_OPP[0m
help
This adds the CPUFreq driver support for MediaTek SoCs.
config [31mCONFIG_ARM_OMAP2PLUS_CPUFREQ[0m
bool "TI OMAP2+"
depends on [31mCONFIG_ARCH_OMAP2PLUS[0m
default [31mCONFIG_ARCH_OMAP2PLUS[0m
config [31mCONFIG_ARM_QCOM_CPUFREQ_NVMEM[0m
tristate "Qualcomm nvmem based CPUFreq"
depends on [31mCONFIG_ARM64[0m
depends on [31mCONFIG_QCOM_QFPROM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
select [31mCONFIG_PM_OPP[0m
help
This adds the CPUFreq driver for Qualcomm Kryo SoC based boards.
If in doubt, say N.
config [31mCONFIG_ARM_QCOM_CPUFREQ_HW[0m
tristate "QCOM CPUFreq HW driver"
depends on [31mCONFIG_ARCH_QCOM[0m || [31mCONFIG_COMPILE_TEST[0m
help
Support for the CPUFreq HW driver.
Some QCOM chipsets have a HW engine to offload the steps
necessary for changing the frequency of the CPUs. Firmware loaded
in this engine exposes a programming interface to the OS.
The driver implements the cpufreq interface for this HW engine.
Say Y if you want to support CPUFreq HW.
config [31mCONFIG_ARM_RASPBERRYPI_CPUFREQ[0m
tristate "Raspberry Pi cpufreq support"
depends on [31mCONFIG_CLK_RASPBERRYPI[0m || [31mCONFIG_COMPILE_TEST[0m
help
This adds the CPUFreq driver for Raspberry Pi
If in doubt, say N.
config [31mCONFIG_ARM_S3C_CPUFREQ[0m
bool
help
Internal configuration node for common cpufreq on Samsung SoC
config [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m
bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
depends on [31mCONFIG_ARCH_S3C24XX[0m
select [31mCONFIG_ARM_S3C_CPUFREQ[0m
help
This enables the CPUfreq driver for the Samsung S3C24XX family
of CPUs.
For details, take a look at <file:Documentation/cpu-freq>.
If in doubt, say N.
config [31mCONFIG_ARM_S3C24XX_CPUFREQ_DEBUG[0m
bool "Debug CPUfreq Samsung driver core"
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m
help
Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
config [31mCONFIG_ARM_S3C24XX_CPUFREQ_IODEBUG[0m
bool "Debug CPUfreq Samsung driver IO timing"
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m
help
Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
config [31mCONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS[0m
bool "Export debugfs for CPUFreq"
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m && [31mCONFIG_DEBUG_FS[0m
help
Export status information via debugfs.
config [31mCONFIG_ARM_S3C2410_CPUFREQ[0m
bool
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m && [31mCONFIG_CPU_S3C2410[0m
select [31mCONFIG_S3C2410_CPUFREQ_UTILS[0m
help
CPU Frequency scaling support for S3C2410
config [31mCONFIG_ARM_S3C2412_CPUFREQ[0m
bool
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m && [31mCONFIG_CPU_S3C2412[0m
default y
select [31mCONFIG_S3C2412_IOTIMING[0m
help
CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
config [31mCONFIG_ARM_S3C2416_CPUFREQ[0m
bool "S3C2416 CPU Frequency scaling support"
depends on [31mCONFIG_CPU_S3C2416[0m
help
This adds the CPUFreq driver for the Samsung S3C2416 and
S3C2450 SoC. The S3C2416 supports changing the rate of the
armdiv clock source and also entering a so called dynamic
voltage scaling mode in which it is possible to reduce the
core voltage of the CPU.
If in doubt, say N.
config [31mCONFIG_ARM_S3C2416_CPUFREQ_VCORESCALE[0m
bool "Allow voltage scaling for S3C2416 arm core"
depends on [31mCONFIG_ARM_S3C2416_CPUFREQ[0m && [31mCONFIG_REGULATOR[0m
help
Enable CPU voltage scaling when entering the dvs mode.
It uses information gathered through existing hardware and
tests but not documented in any datasheet.
If in doubt, say N.
config [31mCONFIG_ARM_S3C2440_CPUFREQ[0m
bool "S3C2440/S3C2442 CPU Frequency scaling support"
depends on [31mCONFIG_ARM_S3C24XX_CPUFREQ[0m && ([31mCONFIG_CPU_S3C2440[0m || [31mCONFIG_CPU_S3C2442[0m)
select [31mCONFIG_S3C2410_CPUFREQ_UTILS[0m
default y
help
CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs.
config [31mCONFIG_ARM_S3C64XX_CPUFREQ[0m
bool "Samsung S3C64XX"
depends on [31mCONFIG_CPU_S3C6410[0m
default y
help
This adds the CPUFreq driver for Samsung S3C6410 SoC.
If in doubt, say N.
config [31mCONFIG_ARM_S5PV210_CPUFREQ[0m
bool "Samsung S5PV210 and S5PC110"
depends on [31mCONFIG_CPU_S5PV210[0m
default y
help
This adds the CPUFreq driver for Samsung S5PV210 and
S5PC110 SoCs.
If in doubt, say N.
config [31mCONFIG_ARM_SA1100_CPUFREQ[0m
bool
config [31mCONFIG_ARM_SA1110_CPUFREQ[0m
bool
config [31mCONFIG_ARM_SCMI_CPUFREQ[0m
tristate "SCMI based CPUfreq driver"
depends on [31mCONFIG_ARM_SCMI_PROTOCOL[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_PM_OPP[0m
help
This adds the CPUfreq driver support for [31mCONFIG_ARM[0m platforms using SCMI
protocol for CPU power management.
This driver uses SCMI Message Protocol driver to interact with the
firmware providing the CPU DVFS functionality.
config [31mCONFIG_ARM_SPEAR_CPUFREQ[0m
bool "SPEAr CPUFreq support"
depends on [31mCONFIG_PLAT_SPEAR[0m
default y
help
This adds the CPUFreq driver support for SPEAr SOCs.
config [31mCONFIG_ARM_STI_CPUFREQ[0m
tristate "STi CPUFreq support"
depends on [31mCONFIG_SOC_STIH407[0m
help
This driver uses the generic OPP framework to match the running
platform with a predefined set of suitable values. If not provided
we will fall-back so safe-values contained in Device Tree. Enable
this config option if you wish to add CPUFreq support for STi based
SoCs.
config [31mCONFIG_ARM_TANGO_CPUFREQ[0m
bool
depends on [31mCONFIG_CPUFREQ_DT[0m && [31mCONFIG_ARCH_TANGO[0m
default y
config [31mCONFIG_ARM_TEGRA20_CPUFREQ[0m
tristate "Tegra20 CPUFreq support"
depends on [31mCONFIG_ARCH_TEGRA[0m
default y
help
This adds the CPUFreq driver support for Tegra20 SOCs.
config [31mCONFIG_ARM_TEGRA124_CPUFREQ[0m
bool "Tegra124 CPUFreq support"
depends on [31mCONFIG_ARCH_TEGRA[0m && [31mCONFIG_CPUFREQ_DT[0m
default y
help
This adds the CPUFreq driver support for Tegra124 SOCs.
config [31mCONFIG_ARM_TEGRA186_CPUFREQ[0m
tristate "Tegra186 CPUFreq support"
depends on [31mCONFIG_ARCH_TEGRA[0m && [31mCONFIG_TEGRA_BPMP[0m
help
This adds the CPUFreq driver support for Tegra186 SOCs.
config [31mCONFIG_ARM_TI_CPUFREQ[0m
bool "Texas Instruments CPUFreq support"
depends on [31mCONFIG_ARCH_OMAP2PLUS[0m
help
This driver enables valid OPPs on the running platform based on
values contained within the SoC in use. Enable this in order to
use the cpufreq-dt driver on all Texas Instruments platforms that
provide dt based operating-points-v2 tables with opp-supported-hw
data provided. Required for cpufreq support on AM335x, AM437x,
DRA7x, and AM57x platforms.
config [31mCONFIG_ARM_PXA2xx_CPUFREQ[0m
tristate "Intel PXA2xx CPUfreq driver"
depends on [31mCONFIG_PXA27x[0m || [31mCONFIG_PXA25x[0m
help
This add the CPUFreq driver support for Intel PXA2xx SOCs.
If in doubt, say N.