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