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