| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # ARM CPU Frequency scaling drivers |
| # |
| |
| config ACPI_CPPC_CPUFREQ |
| tristate "CPUFreq driver based on the ACPI CPPC spec" |
| depends on ACPI_PROCESSOR |
| select ACPI_CPPC_LIB |
| 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 ACPI_CPPC_CPUFREQ_FIE |
| bool "Frequency Invariance support for CPPC cpufreq driver" |
| depends on ACPI_CPPC_CPUFREQ && GENERIC_ARCH_TOPOLOGY |
| default y |
| help |
| This extends frequency invariance support in the CPPC cpufreq driver, |
| by using CPPC delivered and reference performance counters. |
| |
| If in doubt, say N. |
| |
| config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM |
| tristate "Allwinner nvmem based SUN50I CPUFreq driver" |
| depends on ARCH_SUNXI |
| depends on NVMEM_SUNXI_SID |
| select PM_OPP |
| help |
| This adds the nvmem based CPUFreq driver for Allwinner |
| h6 SoC. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called sun50i-cpufreq-nvmem. |
| |
| config ARM_APPLE_SOC_CPUFREQ |
| tristate "Apple Silicon SoC CPUFreq support" |
| depends on ARCH_APPLE || (COMPILE_TEST && 64BIT) |
| select PM_OPP |
| default ARCH_APPLE |
| help |
| This adds the CPUFreq driver for Apple Silicon machines |
| (e.g. Apple M1). |
| |
| config ARM_ARMADA_37XX_CPUFREQ |
| tristate "Armada 37xx CPUFreq support" |
| depends on ARCH_MVEBU && CPUFREQ_DT |
| help |
| This adds the CPUFreq driver support for Marvell Armada 37xx SoCs. |
| The Armada 37xx PMU supports 4 frequency and VDD levels. |
| |
| config ARM_ARMADA_8K_CPUFREQ |
| tristate "Armada 8K CPUFreq driver" |
| depends on ARCH_MVEBU && CPUFREQ_DT |
| select ARMADA_AP_CPU_CLK |
| 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. |
| |
| config ARM_SCPI_CPUFREQ |
| tristate "SCPI based CPUfreq driver" |
| depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI |
| help |
| This adds the CPUfreq driver support for ARM 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 ARM_VEXPRESS_SPC_CPUFREQ |
| tristate "Versatile Express SPC based CPUfreq driver" |
| depends on ARM_CPU_TOPOLOGY && HAVE_CLK |
| depends on ARCH_VEXPRESS_SPC |
| select PM_OPP |
| help |
| This add the CPUfreq driver support for Versatile Express |
| big.LITTLE platforms using SPC for power management. |
| |
| config ARM_BRCMSTB_AVS_CPUFREQ |
| tristate "Broadcom STB AVS CPUfreq driver" |
| depends on ARCH_BRCMSTB || COMPILE_TEST |
| 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 ARM_HIGHBANK_CPUFREQ |
| tristate "Calxeda Highbank-based" |
| depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR |
| default m |
| help |
| This adds the CPUFreq driver for Calxeda Highbank SoC |
| based boards. |
| |
| If in doubt, say N. |
| |
| config ARM_IMX6Q_CPUFREQ |
| tristate "Freescale i.MX6 cpufreq support" |
| depends on ARCH_MXC |
| depends on REGULATOR_ANATOP |
| depends on NVMEM_IMX_OCOTP || COMPILE_TEST |
| select PM_OPP |
| help |
| This adds cpufreq driver support for Freescale i.MX6 series SoCs. |
| |
| If in doubt, say N. |
| |
| config ARM_IMX_CPUFREQ_DT |
| tristate "Freescale i.MX8M cpufreq support" |
| depends on ARCH_MXC && CPUFREQ_DT |
| help |
| This adds cpufreq driver support for Freescale i.MX8M series SoCs, |
| based on cpufreq-dt. |
| |
| If in doubt, say N. |
| |
| config ARM_KIRKWOOD_CPUFREQ |
| def_bool MACH_KIRKWOOD |
| help |
| This adds the CPUFreq driver for Marvell Kirkwood |
| SoCs. |
| |
| config ARM_MEDIATEK_CPUFREQ |
| tristate "CPU Frequency scaling support for MediaTek SoCs" |
| depends on ARCH_MEDIATEK && REGULATOR |
| select PM_OPP |
| help |
| This adds the CPUFreq driver support for MediaTek SoCs. |
| |
| config ARM_MEDIATEK_CPUFREQ_HW |
| tristate "MediaTek CPUFreq HW driver" |
| depends on ARCH_MEDIATEK || COMPILE_TEST |
| default m |
| help |
| Support for the CPUFreq HW driver. |
| Some MediaTek 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 ARM_OMAP2PLUS_CPUFREQ |
| bool "TI OMAP2+" |
| depends on ARCH_OMAP2PLUS |
| default ARCH_OMAP2PLUS |
| |
| config ARM_QCOM_CPUFREQ_NVMEM |
| tristate "Qualcomm nvmem based CPUFreq" |
| depends on ARCH_QCOM |
| depends on NVMEM_QCOM_QFPROM |
| depends on QCOM_SMEM |
| select PM_OPP |
| help |
| This adds the CPUFreq driver for Qualcomm Kryo SoC based boards. |
| |
| If in doubt, say N. |
| |
| config ARM_QCOM_CPUFREQ_HW |
| tristate "QCOM CPUFreq HW driver" |
| depends on ARCH_QCOM || COMPILE_TEST |
| 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 ARM_RASPBERRYPI_CPUFREQ |
| tristate "Raspberry Pi cpufreq support" |
| depends on CLK_RASPBERRYPI || COMPILE_TEST |
| help |
| This adds the CPUFreq driver for Raspberry Pi |
| |
| If in doubt, say N. |
| |
| config ARM_S3C_CPUFREQ |
| bool |
| help |
| Internal configuration node for common cpufreq on Samsung SoC |
| |
| config ARM_S3C24XX_CPUFREQ |
| bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" |
| depends on ARCH_S3C24XX |
| select ARM_S3C_CPUFREQ |
| 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 ARM_S3C24XX_CPUFREQ_DEBUG |
| bool "Debug CPUfreq Samsung driver core" |
| depends on ARM_S3C24XX_CPUFREQ |
| help |
| Enable s3c_freq_dbg for the Samsung S3C CPUfreq core |
| |
| config ARM_S3C24XX_CPUFREQ_IODEBUG |
| bool "Debug CPUfreq Samsung driver IO timing" |
| depends on ARM_S3C24XX_CPUFREQ |
| help |
| Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core |
| |
| config ARM_S3C24XX_CPUFREQ_DEBUGFS |
| bool "Export debugfs for CPUFreq" |
| depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS |
| help |
| Export status information via debugfs. |
| |
| config ARM_S3C2410_CPUFREQ |
| bool |
| depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410 |
| help |
| CPU Frequency scaling support for S3C2410 |
| |
| config ARM_S3C2412_CPUFREQ |
| bool |
| depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412 |
| default y |
| select S3C2412_IOTIMING |
| help |
| CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs. |
| |
| config ARM_S3C2416_CPUFREQ |
| bool "S3C2416 CPU Frequency scaling support" |
| depends on CPU_S3C2416 |
| 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 ARM_S3C2416_CPUFREQ_VCORESCALE |
| bool "Allow voltage scaling for S3C2416 arm core" |
| depends on ARM_S3C2416_CPUFREQ && REGULATOR |
| 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 ARM_S3C2440_CPUFREQ |
| bool "S3C2440/S3C2442 CPU Frequency scaling support" |
| depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442) |
| default y |
| help |
| CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs. |
| |
| config ARM_S3C64XX_CPUFREQ |
| bool "Samsung S3C64XX" |
| depends on CPU_S3C6410 |
| default y |
| help |
| This adds the CPUFreq driver for Samsung S3C6410 SoC. |
| |
| If in doubt, say N. |
| |
| config ARM_S5PV210_CPUFREQ |
| bool "Samsung S5PV210 and S5PC110" |
| depends on CPU_S5PV210 |
| default y |
| help |
| This adds the CPUFreq driver for Samsung S5PV210 and |
| S5PC110 SoCs. |
| |
| If in doubt, say N. |
| |
| config ARM_SA1100_CPUFREQ |
| bool |
| |
| config ARM_SA1110_CPUFREQ |
| bool |
| |
| config ARM_SCMI_CPUFREQ |
| tristate "SCMI based CPUfreq driver" |
| depends on ARM_SCMI_PROTOCOL || COMPILE_TEST |
| select PM_OPP |
| help |
| This adds the CPUfreq driver support for ARM 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 ARM_SPEAR_CPUFREQ |
| bool "SPEAr CPUFreq support" |
| depends on PLAT_SPEAR |
| default y |
| help |
| This adds the CPUFreq driver support for SPEAr SOCs. |
| |
| config ARM_STI_CPUFREQ |
| tristate "STi CPUFreq support" |
| depends on CPUFREQ_DT && SOC_STIH407 |
| 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 ARM_TEGRA20_CPUFREQ |
| tristate "Tegra20/30 CPUFreq support" |
| depends on ARCH_TEGRA && CPUFREQ_DT |
| default y |
| help |
| This adds the CPUFreq driver support for Tegra20/30 SOCs. |
| |
| config ARM_TEGRA124_CPUFREQ |
| bool "Tegra124 CPUFreq support" |
| depends on ARCH_TEGRA && CPUFREQ_DT |
| default y |
| help |
| This adds the CPUFreq driver support for Tegra124 SOCs. |
| |
| config ARM_TEGRA186_CPUFREQ |
| tristate "Tegra186 CPUFreq support" |
| depends on ARCH_TEGRA && TEGRA_BPMP |
| help |
| This adds the CPUFreq driver support for Tegra186 SOCs. |
| |
| config ARM_TEGRA194_CPUFREQ |
| tristate "Tegra194 CPUFreq support" |
| depends on ARCH_TEGRA_194_SOC && TEGRA_BPMP |
| default y |
| help |
| This adds CPU frequency driver support for Tegra194 SOCs. |
| |
| config ARM_TI_CPUFREQ |
| bool "Texas Instruments CPUFreq support" |
| depends on ARCH_OMAP2PLUS || ARCH_K3 |
| default y |
| 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 ARM_PXA2xx_CPUFREQ |
| tristate "Intel PXA2xx CPUfreq driver" |
| depends on PXA27x || PXA25x |
| help |
| This add the CPUFreq driver support for Intel PXA2xx SOCs. |
| |
| If in doubt, say N. |