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_OMAP2PLUS_CPUFREQ 145 bool "TI OMAP2+" 146 depends on ARCH_OMAP2PLUS || COMPILE_TEST 147 default ARCH_OMAP2PLUS 148 149config ARM_QCOM_CPUFREQ_NVMEM 150 tristate "Qualcomm nvmem based CPUFreq" 151 depends on ARCH_QCOM || COMPILE_TEST 152 depends on NVMEM_QCOM_QFPROM 153 depends on QCOM_SMEM 154 select PM_OPP 155 help 156 This adds the CPUFreq driver for Qualcomm Kryo SoC based boards. 157 158 If in doubt, say N. 159 160config ARM_QCOM_CPUFREQ_HW 161 tristate "QCOM CPUFreq HW driver" 162 depends on ARCH_QCOM || COMPILE_TEST 163 depends on COMMON_CLK 164 help 165 Support for the CPUFreq HW driver. 166 Some QCOM chipsets have a HW engine to offload the steps 167 necessary for changing the frequency of the CPUs. Firmware loaded 168 in this engine exposes a programming interface to the OS. 169 The driver implements the cpufreq interface for this HW engine. 170 Say Y if you want to support CPUFreq HW. 171 172config ARM_RASPBERRYPI_CPUFREQ 173 tristate "Raspberry Pi cpufreq support" 174 depends on CLK_RASPBERRYPI || COMPILE_TEST 175 help 176 This adds the CPUFreq driver for Raspberry Pi 177 178 If in doubt, say N. 179 180config ARM_S3C64XX_CPUFREQ 181 bool "Samsung S3C64XX" 182 depends on CPU_S3C6410 || COMPILE_TEST 183 default CPU_S3C6410 184 help 185 This adds the CPUFreq driver for Samsung S3C6410 SoC. 186 187 If in doubt, say N. 188 189config ARM_S5PV210_CPUFREQ 190 bool "Samsung S5PV210 and S5PC110" 191 depends on CPU_S5PV210 || COMPILE_TEST 192 default CPU_S5PV210 193 help 194 This adds the CPUFreq driver for Samsung S5PV210 and 195 S5PC110 SoCs. 196 197 If in doubt, say N. 198 199config ARM_SA1110_CPUFREQ 200 bool 201 202config ARM_SCMI_CPUFREQ 203 tristate "SCMI based CPUfreq driver" 204 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST 205 select PM_OPP 206 help 207 This adds the CPUfreq driver support for ARM platforms using SCMI 208 protocol for CPU power management. 209 210 This driver uses SCMI Message Protocol driver to interact with the 211 firmware providing the CPU DVFS functionality. 212 213config ARM_SPEAR_CPUFREQ 214 bool "SPEAr CPUFreq support" 215 depends on PLAT_SPEAR || COMPILE_TEST 216 default PLAT_SPEAR 217 help 218 This adds the CPUFreq driver support for SPEAr SOCs. 219 220config ARM_STI_CPUFREQ 221 tristate "STi CPUFreq support" 222 depends on CPUFREQ_DT 223 depends on SOC_STIH407 || COMPILE_TEST 224 help 225 This driver uses the generic OPP framework to match the running 226 platform with a predefined set of suitable values. If not provided 227 we will fall-back so safe-values contained in Device Tree. Enable 228 this config option if you wish to add CPUFreq support for STi based 229 SoCs. 230 231config ARM_TEGRA20_CPUFREQ 232 tristate "Tegra20/30 CPUFreq support" 233 depends on ARCH_TEGRA || COMPILE_TEST 234 depends on CPUFREQ_DT 235 default ARCH_TEGRA 236 help 237 This adds the CPUFreq driver support for Tegra20/30 SOCs. 238 239config ARM_TEGRA124_CPUFREQ 240 tristate "Tegra124 CPUFreq support" 241 depends on ARCH_TEGRA || COMPILE_TEST 242 depends on CPUFREQ_DT 243 default ARCH_TEGRA 244 help 245 This adds the CPUFreq driver support for Tegra124 SOCs. 246 247config ARM_TEGRA186_CPUFREQ 248 tristate "Tegra186 CPUFreq support" 249 depends on ARCH_TEGRA || COMPILE_TEST 250 depends on TEGRA_BPMP 251 help 252 This adds the CPUFreq driver support for Tegra186 SOCs. 253 254config ARM_TEGRA194_CPUFREQ 255 tristate "Tegra194 CPUFreq support" 256 depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC || (64BIT && COMPILE_TEST) 257 depends on TEGRA_BPMP 258 default ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC 259 help 260 This adds CPU frequency driver support for Tegra194 SOCs. 261 262config ARM_TI_CPUFREQ 263 bool "Texas Instruments CPUFreq support" 264 depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST 265 default ARCH_OMAP2PLUS || ARCH_K3 266 help 267 This driver enables valid OPPs on the running platform based on 268 values contained within the SoC in use. Enable this in order to 269 use the cpufreq-dt driver on all Texas Instruments platforms that 270 provide dt based operating-points-v2 tables with opp-supported-hw 271 data provided. Required for cpufreq support on AM335x, AM437x, 272 DRA7x, and AM57x platforms. 273 274config ARM_PXA2xx_CPUFREQ 275 tristate "Intel PXA2xx CPUfreq driver" 276 depends on PXA27x || PXA25x || COMPILE_TEST 277 help 278 This add the CPUFreq driver support for Intel PXA2xx SOCs. 279 280 If in doubt, say N. 281