| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # |
| 3 | # ARM CPU Frequency scaling drivers |
| 4 | # |
| 5 | |
| 6 | config 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 | |
| 18 | config 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 | |
| 27 | config 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 | |
| 35 | config 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 | |
| 43 | config 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 | |
| 56 | config 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 | |
| 66 | config 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 | |
| 75 | config 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 | |
| 86 | config 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 | |
| 97 | config 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 | |
| 108 | config 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 | |
| 118 | config ARM_KIRKWOOD_CPUFREQ |
| 119 | def_bool MACH_KIRKWOOD |
| 120 | help |
| 121 | This adds the CPUFreq driver for Marvell Kirkwood |
| 122 | SoCs. |
| 123 | |
| 124 | config 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 | |
| 132 | config 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 | |
| 144 | config 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 | |
| 155 | config ARM_QCOM_CPUFREQ_HW |
| 156 | tristate "Qualcomm 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 | |
| 167 | config 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 | |
| 175 | config 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 | |
| 184 | config 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 | |
| 194 | config ARM_SA1110_CPUFREQ |
| 195 | bool |
| 196 | |
| 197 | config 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 | |
| 208 | config 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 | |
| 215 | config 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 | |
| 226 | config 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 | |
| 234 | config 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 | |
| 242 | config 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 | |
| 249 | config ARM_TEGRA194_CPUFREQ |
| 250 | tristate "Tegra194 CPUFreq support" |
| 251 | depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC |
| 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 | |
| 257 | config 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 | |
| 269 | config 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. |