xref: /linux/drivers/cpufreq/Kconfig (revision 9101be532a3c60c7e8773868395e3b75259d84c3)
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