123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- # 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_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_QCOM_CPUFREQ_HW_DEBUG
- tristate "QCOM CPUFreq HW debug"
- depends on ARM_QCOM_CPUFREQ_HW
- help
- Support for the CPUFreq HW debug.
- CPUFreq HW debug provide the support to print the CPUFreq HW debug
- registers.
- Say Y if you want to support CPUFreq HW Debug.
- 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
- default ARCH_OMAP2PLUS
- 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.
|