1menu "CPU Frequency scaling" 2 3config CPU_FREQ 4 bool "CPU Frequency scaling" 5 help 6 CPU Frequency scaling allows you to change the clock speed of 7 CPUs on the fly. This is a nice method to save power, because 8 the lower the CPU clock speed, the less power the CPU consumes. 9 10 Note that this driver doesn't automatically change the CPU 11 clock speed, you need to either enable a dynamic cpufreq governor 12 (see below) after boot, or use a userspace tool. 13 14 For details, take a look at <file:Documentation/cpu-freq>. 15 16 If in doubt, say N. 17 18if CPU_FREQ 19 20config CPU_FREQ_TABLE 21 tristate 22 23config CPU_FREQ_GOV_COMMON 24 bool 25 26config CPU_FREQ_STAT 27 tristate "CPU frequency translation statistics" 28 select CPU_FREQ_TABLE 29 default y 30 help 31 This driver exports CPU frequency statistics information through sysfs 32 file system. 33 34 To compile this driver as a module, choose M here: the 35 module will be called cpufreq_stats. 36 37 If in doubt, say N. 38 39config CPU_FREQ_STAT_DETAILS 40 bool "CPU frequency translation statistics details" 41 depends on CPU_FREQ_STAT 42 help 43 This will show detail CPU frequency translation table in sysfs file 44 system. 45 46 If in doubt, say N. 47 48choice 49 prompt "Default CPUFreq governor" 50 default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ 51 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE 52 help 53 This option sets which CPUFreq governor shall be loaded at 54 startup. If in doubt, select 'performance'. 55 56config CPU_FREQ_DEFAULT_GOV_PERFORMANCE 57 bool "performance" 58 select CPU_FREQ_GOV_PERFORMANCE 59 help 60 Use the CPUFreq governor 'performance' as default. This sets 61 the frequency statically to the highest frequency supported by 62 the CPU. 63 64config CPU_FREQ_DEFAULT_GOV_POWERSAVE 65 bool "powersave" 66 depends on EXPERT 67 select CPU_FREQ_GOV_POWERSAVE 68 help 69 Use the CPUFreq governor 'powersave' as default. This sets 70 the frequency statically to the lowest frequency supported by 71 the CPU. 72 73config CPU_FREQ_DEFAULT_GOV_USERSPACE 74 bool "userspace" 75 select CPU_FREQ_GOV_USERSPACE 76 help 77 Use the CPUFreq governor 'userspace' as default. This allows 78 you to set the CPU frequency manually or when a userspace 79 program shall be able to set the CPU dynamically without having 80 to enable the userspace governor manually. 81 82config CPU_FREQ_DEFAULT_GOV_ONDEMAND 83 bool "ondemand" 84 select CPU_FREQ_GOV_ONDEMAND 85 select CPU_FREQ_GOV_PERFORMANCE 86 help 87 Use the CPUFreq governor 'ondemand' as default. This allows 88 you to get a full dynamic frequency capable system by simply 89 loading your cpufreq low-level hardware driver. 90 Be aware that not all cpufreq drivers support the ondemand 91 governor. If unsure have a look at the help section of the 92 driver. Fallback governor will be the performance governor. 93 94config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE 95 bool "conservative" 96 select CPU_FREQ_GOV_CONSERVATIVE 97 select CPU_FREQ_GOV_PERFORMANCE 98 help 99 Use the CPUFreq governor 'conservative' as default. This allows 100 you to get a full dynamic frequency capable system by simply 101 loading your cpufreq low-level hardware driver. 102 Be aware that not all cpufreq drivers support the conservative 103 governor. If unsure have a look at the help section of the 104 driver. Fallback governor will be the performance governor. 105 106config CPU_FREQ_DEFAULT_GOV_INTERACTIVE 107 bool "interactive" 108 select CPU_FREQ_GOV_INTERACTIVE 109 help 110 Use the CPUFreq governor 'interactive' as default. This allows 111 you to get a full dynamic cpu frequency capable system by simply 112 loading your cpufreq low-level hardware driver, using the 113 'interactive' governor for latency-sensitive workloads. 114 115endchoice 116 117config CPU_FREQ_GOV_PERFORMANCE 118 tristate "'performance' governor" 119 help 120 This cpufreq governor sets the frequency statically to the 121 highest available CPU frequency. 122 123 To compile this driver as a module, choose M here: the 124 module will be called cpufreq_performance. 125 126 If in doubt, say Y. 127 128config CPU_FREQ_GOV_POWERSAVE 129 tristate "'powersave' governor" 130 help 131 This cpufreq governor sets the frequency statically to the 132 lowest available CPU frequency. 133 134 To compile this driver as a module, choose M here: the 135 module will be called cpufreq_powersave. 136 137 If in doubt, say Y. 138 139config CPU_FREQ_GOV_USERSPACE 140 tristate "'userspace' governor for userspace frequency scaling" 141 help 142 Enable this cpufreq governor when you either want to set the 143 CPU frequency manually or when a userspace program shall 144 be able to set the CPU dynamically, like on LART 145 <http://www.lartmaker.nl/>. 146 147 To compile this driver as a module, choose M here: the 148 module will be called cpufreq_userspace. 149 150 For details, take a look at <file:Documentation/cpu-freq/>. 151 152 If in doubt, say Y. 153 154config CPU_FREQ_GOV_ONDEMAND 155 tristate "'ondemand' cpufreq policy governor" 156 select CPU_FREQ_TABLE 157 select CPU_FREQ_GOV_COMMON 158 help 159 'ondemand' - This driver adds a dynamic cpufreq policy governor. 160 The governor does a periodic polling and 161 changes frequency based on the CPU utilization. 162 The support for this governor depends on CPU capability to 163 do fast frequency switching (i.e, very low latency frequency 164 transitions). 165 166 To compile this driver as a module, choose M here: the 167 module will be called cpufreq_ondemand. 168 169 For details, take a look at linux/Documentation/cpu-freq. 170 171 If in doubt, say N. 172 173config CPU_FREQ_GOV_INTERACTIVE 174 tristate "'interactive' cpufreq policy governor" 175 help 176 'interactive' - This driver adds a dynamic cpufreq policy governor 177 designed for latency-sensitive workloads. 178 179 This governor attempts to reduce the latency of clock 180 increases so that the system is more responsive to 181 interactive workloads. 182 183 To compile this driver as a module, choose M here: the 184 module will be called cpufreq_interactive. 185 186 For details, take a look at linux/Documentation/cpu-freq. 187 188 If in doubt, say N. 189 190config CPU_FREQ_GOV_CONSERVATIVE 191 tristate "'conservative' cpufreq governor" 192 depends on CPU_FREQ 193 select CPU_FREQ_GOV_COMMON 194 help 195 'conservative' - this driver is rather similar to the 'ondemand' 196 governor both in its source code and its purpose, the difference is 197 its optimisation for better suitability in a battery powered 198 environment. The frequency is gracefully increased and decreased 199 rather than jumping to 100% when speed is required. 200 201 If you have a desktop machine then you should really be considering 202 the 'ondemand' governor instead, however if you are using a laptop, 203 PDA or even an AMD64 based computer (due to the unacceptable 204 step-by-step latency issues between the minimum and maximum frequency 205 transitions in the CPU) you will probably want to use this governor. 206 207 To compile this driver as a module, choose M here: the 208 module will be called cpufreq_conservative. 209 210 For details, take a look at linux/Documentation/cpu-freq. 211 212 If in doubt, say N. 213 214config GENERIC_CPUFREQ_CPU0 215 tristate "Generic CPU0 cpufreq driver" 216 depends on HAVE_CLK && REGULATOR && PM_OPP && OF 217 select CPU_FREQ_TABLE 218 help 219 This adds a generic cpufreq driver for CPU0 frequency management. 220 It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) 221 systems which share clock and voltage across all CPUs. 222 223 If in doubt, say N. 224 225menu "x86 CPU frequency scaling drivers" 226depends on X86 227source "drivers/cpufreq/Kconfig.x86" 228endmenu 229 230menu "ARM CPU frequency scaling drivers" 231depends on ARM 232source "drivers/cpufreq/Kconfig.arm" 233endmenu 234 235menu "AVR32 CPU frequency scaling drivers" 236depends on AVR32 237 238config AVR32_AT32AP_CPUFREQ 239 bool "CPU frequency driver for AT32AP" 240 depends on PLATFORM_AT32AP 241 default n 242 help 243 This enables the CPU frequency driver for AT32AP processors. 244 If in doubt, say N. 245 246endmenu 247 248menu "CPUFreq processor drivers" 249depends on IA64 250 251config IA64_ACPI_CPUFREQ 252 tristate "ACPI Processor P-States driver" 253 select CPU_FREQ_TABLE 254 depends on ACPI_PROCESSOR 255 help 256 This driver adds a CPUFreq driver which utilizes the ACPI 257 Processor Performance States. 258 259 For details, take a look at <file:Documentation/cpu-freq/>. 260 261 If in doubt, say N. 262 263endmenu 264 265menu "MIPS CPUFreq processor drivers" 266depends on MIPS 267 268config LOONGSON2_CPUFREQ 269 tristate "Loongson2 CPUFreq Driver" 270 select CPU_FREQ_TABLE 271 help 272 This option adds a CPUFreq driver for loongson processors which 273 support software configurable cpu frequency. 274 275 Loongson2F and it's successors support this feature. 276 277 For details, take a look at <file:Documentation/cpu-freq/>. 278 279 If in doubt, say N. 280 281endmenu 282 283menu "PowerPC CPU frequency scaling drivers" 284depends on PPC32 || PPC64 285source "drivers/cpufreq/Kconfig.powerpc" 286endmenu 287 288menu "SPARC CPU frequency scaling drivers" 289depends on SPARC64 290config SPARC_US3_CPUFREQ 291 tristate "UltraSPARC-III CPU Frequency driver" 292 select CPU_FREQ_TABLE 293 help 294 This adds the CPUFreq driver for UltraSPARC-III processors. 295 296 For details, take a look at <file:Documentation/cpu-freq>. 297 298 If in doubt, say N. 299 300config SPARC_US2E_CPUFREQ 301 tristate "UltraSPARC-IIe CPU Frequency driver" 302 select CPU_FREQ_TABLE 303 help 304 This adds the CPUFreq driver for UltraSPARC-IIe processors. 305 306 For details, take a look at <file:Documentation/cpu-freq>. 307 308 If in doubt, say N. 309endmenu 310 311menu "SH CPU Frequency scaling" 312depends on SUPERH 313config SH_CPU_FREQ 314 tristate "SuperH CPU Frequency driver" 315 select CPU_FREQ_TABLE 316 help 317 This adds the cpufreq driver for SuperH. Any CPU that supports 318 clock rate rounding through the clock framework can use this 319 driver. While it will make the kernel slightly larger, this is 320 harmless for CPUs that don't support rate rounding. The driver 321 will also generate a notice in the boot log before disabling 322 itself if the CPU in question is not capable of rate rounding. 323 324 For details, take a look at <file:Documentation/cpu-freq>. 325 326 If unsure, say N. 327endmenu 328 329endif 330endmenu 331