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