11da177e4SLinus Torvaldsconfig CPU_FREQ 21da177e4SLinus Torvalds bool "CPU Frequency scaling" 31da177e4SLinus Torvalds help 41da177e4SLinus Torvalds CPU Frequency scaling allows you to change the clock speed of 51da177e4SLinus Torvalds CPUs on the fly. This is a nice method to save power, because 61da177e4SLinus Torvalds the lower the CPU clock speed, the less power the CPU consumes. 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds Note that this driver doesn't automatically change the CPU 91da177e4SLinus Torvalds clock speed, you need to either enable a dynamic cpufreq governor 101da177e4SLinus Torvalds (see below) after boot, or use a userspace tool. 111da177e4SLinus Torvalds 12*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 13*9101be53SMike Frysinger module will be called cpufreq. 14*9101be53SMike Frysinger 151da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq>. 161da177e4SLinus Torvalds 171da177e4SLinus Torvalds If in doubt, say N. 181da177e4SLinus Torvalds 191da177e4SLinus Torvaldsif CPU_FREQ 201da177e4SLinus Torvalds 211da177e4SLinus Torvaldsconfig CPU_FREQ_TABLE 22f0ec313aSAdrian Bunk tristate 231da177e4SLinus Torvalds 241da177e4SLinus Torvaldsconfig CPU_FREQ_DEBUG 251da177e4SLinus Torvalds bool "Enable CPUfreq debugging" 261da177e4SLinus Torvalds help 271da177e4SLinus Torvalds Say Y here to enable CPUfreq subsystem (including drivers) 281da177e4SLinus Torvalds debugging. You will need to activate it via the kernel 291da177e4SLinus Torvalds command line by passing 301da177e4SLinus Torvalds cpufreq.debug=<value> 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds To get <value>, add 331da177e4SLinus Torvalds 1 to activate CPUfreq core debugging, 341da177e4SLinus Torvalds 2 to activate CPUfreq drivers debugging, and 351da177e4SLinus Torvalds 4 to activate CPUfreq governor debugging 361da177e4SLinus Torvalds 371da177e4SLinus Torvaldsconfig CPU_FREQ_STAT 381da177e4SLinus Torvalds tristate "CPU frequency translation statistics" 391da177e4SLinus Torvalds select CPU_FREQ_TABLE 401da177e4SLinus Torvalds default y 411da177e4SLinus Torvalds help 421da177e4SLinus Torvalds This driver exports CPU frequency statistics information through sysfs 43*9101be53SMike Frysinger file system. 44*9101be53SMike Frysinger 45*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 46*9101be53SMike Frysinger module will be called cpufreq_stats. 47*9101be53SMike Frysinger 48*9101be53SMike Frysinger If in doubt, say N. 491da177e4SLinus Torvalds 501da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS 511da177e4SLinus Torvalds bool "CPU frequency translation statistics details" 521da177e4SLinus Torvalds depends on CPU_FREQ_STAT 531da177e4SLinus Torvalds help 541da177e4SLinus Torvalds This will show detail CPU frequency translation table in sysfs file 55*9101be53SMike Frysinger system. 56*9101be53SMike Frysinger 57*9101be53SMike Frysinger If in doubt, say N. 581da177e4SLinus Torvalds 5933100108SDave Jones# Note that it is not currently possible to set the other governors (such as ondemand) 6033100108SDave Jones# as the default, since if they fail to initialise, cpufreq will be 6133100108SDave Jones# left in an undefined state. 6233100108SDave Jones 631da177e4SLinus Torvaldschoice 641da177e4SLinus Torvalds prompt "Default CPUFreq governor" 651da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110 661da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_PERFORMANCE 671da177e4SLinus Torvalds help 681da177e4SLinus Torvalds This option sets which CPUFreq governor shall be loaded at 691da177e4SLinus Torvalds startup. If in doubt, select 'performance'. 701da177e4SLinus Torvalds 711da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE 721da177e4SLinus Torvalds bool "performance" 731da177e4SLinus Torvalds select CPU_FREQ_GOV_PERFORMANCE 741da177e4SLinus Torvalds help 751da177e4SLinus Torvalds Use the CPUFreq governor 'performance' as default. This sets 761da177e4SLinus Torvalds the frequency statically to the highest frequency supported by 771da177e4SLinus Torvalds the CPU. 781da177e4SLinus Torvalds 791da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE 801da177e4SLinus Torvalds bool "userspace" 811da177e4SLinus Torvalds select CPU_FREQ_GOV_USERSPACE 821da177e4SLinus Torvalds help 831da177e4SLinus Torvalds Use the CPUFreq governor 'userspace' as default. This allows 841da177e4SLinus Torvalds you to set the CPU frequency manually or when an userspace 851da177e4SLinus Torvalds program shall be able to set the CPU dynamically without having 861da177e4SLinus Torvalds to enable the userspace governor manually. 871da177e4SLinus Torvalds 881da177e4SLinus Torvaldsendchoice 891da177e4SLinus Torvalds 901da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE 911da177e4SLinus Torvalds tristate "'performance' governor" 921da177e4SLinus Torvalds help 931da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 941da177e4SLinus Torvalds highest available CPU frequency. 951da177e4SLinus Torvalds 96*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 97*9101be53SMike Frysinger module will be called cpufreq_performance. 98*9101be53SMike Frysinger 991da177e4SLinus Torvalds If in doubt, say Y. 1001da177e4SLinus Torvalds 1011da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE 1021da177e4SLinus Torvalds tristate "'powersave' governor" 1031da177e4SLinus Torvalds help 1041da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 1051da177e4SLinus Torvalds lowest available CPU frequency. 1061da177e4SLinus Torvalds 107*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 108*9101be53SMike Frysinger module will be called cpufreq_powersave. 109*9101be53SMike Frysinger 1101da177e4SLinus Torvalds If in doubt, say Y. 1111da177e4SLinus Torvalds 1121da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE 1131da177e4SLinus Torvalds tristate "'userspace' governor for userspace frequency scaling" 1141da177e4SLinus Torvalds help 1151da177e4SLinus Torvalds Enable this cpufreq governor when you either want to set the 1161da177e4SLinus Torvalds CPU frequency manually or when an userspace program shall 1171da177e4SLinus Torvalds be able to set the CPU dynamically, like on LART 1184c41251eSErik Mouw <http://www.lartmaker.nl/>. 1191da177e4SLinus Torvalds 120*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 121*9101be53SMike Frysinger module will be called cpufreq_userspace. 122*9101be53SMike Frysinger 1231da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq/>. 1241da177e4SLinus Torvalds 1251da177e4SLinus Torvalds If in doubt, say Y. 1261da177e4SLinus Torvalds 1271da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND 1281da177e4SLinus Torvalds tristate "'ondemand' cpufreq policy governor" 1296af6e1efSDave Jones select CPU_FREQ_TABLE 1301da177e4SLinus Torvalds help 1311da177e4SLinus Torvalds 'ondemand' - This driver adds a dynamic cpufreq policy governor. 1321da177e4SLinus Torvalds The governor does a periodic polling and 1331da177e4SLinus Torvalds changes frequency based on the CPU utilization. 1341da177e4SLinus Torvalds The support for this governor depends on CPU capability to 1351da177e4SLinus Torvalds do fast frequency switching (i.e, very low latency frequency 1361da177e4SLinus Torvalds transitions). 1371da177e4SLinus Torvalds 138*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 139*9101be53SMike Frysinger module will be called cpufreq_ondemand. 140*9101be53SMike Frysinger 1411da177e4SLinus Torvalds For details, take a look at linux/Documentation/cpu-freq. 1421da177e4SLinus Torvalds 1431da177e4SLinus Torvalds If in doubt, say N. 1441da177e4SLinus Torvalds 145b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE 146b9170836SDave Jones tristate "'conservative' cpufreq governor" 147b9170836SDave Jones depends on CPU_FREQ 148b9170836SDave Jones help 149b9170836SDave Jones 'conservative' - this driver is rather similar to the 'ondemand' 150b9170836SDave Jones governor both in its source code and its purpose, the difference is 151b9170836SDave Jones its optimisation for better suitability in a battery powered 152b9170836SDave Jones environment. The frequency is gracefully increased and decreased 153b9170836SDave Jones rather than jumping to 100% when speed is required. 154b9170836SDave Jones 155b9170836SDave Jones If you have a desktop machine then you should really be considering 156b9170836SDave Jones the 'ondemand' governor instead, however if you are using a laptop, 157b9170836SDave Jones PDA or even an AMD64 based computer (due to the unacceptable 158b9170836SDave Jones step-by-step latency issues between the minimum and maximum frequency 159b9170836SDave Jones transitions in the CPU) you will probably want to use this governor. 160b9170836SDave Jones 161*9101be53SMike Frysinger To compile this driver as a module, choose M here: the 162*9101be53SMike Frysinger module will be called cpufreq_conservative. 163*9101be53SMike Frysinger 164b9170836SDave Jones For details, take a look at linux/Documentation/cpu-freq. 165b9170836SDave Jones 166b9170836SDave Jones If in doubt, say N. 167b9170836SDave Jones 1681da177e4SLinus Torvaldsendif # CPU_FREQ 169