xref: /linux/drivers/cpufreq/Kconfig (revision f0ec313a89a7377f440c815f82b0370bd67f62c6)
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
121da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq>.
131da177e4SLinus Torvalds
141da177e4SLinus Torvalds	  If in doubt, say N.
151da177e4SLinus Torvalds
161da177e4SLinus Torvaldsif CPU_FREQ
171da177e4SLinus Torvalds
181da177e4SLinus Torvaldsconfig CPU_FREQ_TABLE
19*f0ec313aSAdrian Bunk       tristate
201da177e4SLinus Torvalds
211da177e4SLinus Torvaldsconfig CPU_FREQ_DEBUG
221da177e4SLinus Torvalds	bool "Enable CPUfreq debugging"
231da177e4SLinus Torvalds	help
241da177e4SLinus Torvalds	  Say Y here to enable CPUfreq subsystem (including drivers)
251da177e4SLinus Torvalds	  debugging. You will need to activate it via the kernel
261da177e4SLinus Torvalds	  command line by passing
271da177e4SLinus Torvalds	     cpufreq.debug=<value>
281da177e4SLinus Torvalds
291da177e4SLinus Torvalds	  To get <value>, add
301da177e4SLinus Torvalds	       1 to activate CPUfreq core debugging,
311da177e4SLinus Torvalds	       2 to activate CPUfreq drivers debugging, and
321da177e4SLinus Torvalds	       4 to activate CPUfreq governor debugging
331da177e4SLinus Torvalds
341da177e4SLinus Torvaldsconfig CPU_FREQ_STAT
351da177e4SLinus Torvalds       tristate "CPU frequency translation statistics"
361da177e4SLinus Torvalds       select CPU_FREQ_TABLE
371da177e4SLinus Torvalds       default y
381da177e4SLinus Torvalds       help
391da177e4SLinus Torvalds         This driver exports CPU frequency statistics information through sysfs
401da177e4SLinus Torvalds         file system
411da177e4SLinus Torvalds
421da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS
431da177e4SLinus Torvalds       bool "CPU frequency translation statistics details"
441da177e4SLinus Torvalds       depends on CPU_FREQ_STAT
451da177e4SLinus Torvalds       help
461da177e4SLinus Torvalds         This will show detail CPU frequency translation table in sysfs file
471da177e4SLinus Torvalds         system
481da177e4SLinus Torvalds
4933100108SDave Jones# Note that it is not currently possible to set the other governors (such as ondemand)
5033100108SDave Jones# as the default, since if they fail to initialise, cpufreq will be
5133100108SDave Jones# left in an undefined state.
5233100108SDave Jones
531da177e4SLinus Torvaldschoice
541da177e4SLinus Torvalds	prompt "Default CPUFreq governor"
551da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
561da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
571da177e4SLinus Torvalds	help
581da177e4SLinus Torvalds	  This option sets which CPUFreq governor shall be loaded at
591da177e4SLinus Torvalds	  startup. If in doubt, select 'performance'.
601da177e4SLinus Torvalds
611da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE
621da177e4SLinus Torvalds	bool "performance"
631da177e4SLinus Torvalds	select CPU_FREQ_GOV_PERFORMANCE
641da177e4SLinus Torvalds	help
651da177e4SLinus Torvalds	  Use the CPUFreq governor 'performance' as default. This sets
661da177e4SLinus Torvalds	  the frequency statically to the highest frequency supported by
671da177e4SLinus Torvalds	  the CPU.
681da177e4SLinus Torvalds
691da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE
701da177e4SLinus Torvalds	bool "userspace"
711da177e4SLinus Torvalds	select CPU_FREQ_GOV_USERSPACE
721da177e4SLinus Torvalds	help
731da177e4SLinus Torvalds	  Use the CPUFreq governor 'userspace' as default. This allows
741da177e4SLinus Torvalds	  you to set the CPU frequency manually or when an userspace
751da177e4SLinus Torvalds	  program shall be able to set the CPU dynamically without having
761da177e4SLinus Torvalds	  to enable the userspace governor manually.
771da177e4SLinus Torvalds
781da177e4SLinus Torvaldsendchoice
791da177e4SLinus Torvalds
801da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE
811da177e4SLinus Torvalds       tristate "'performance' governor"
821da177e4SLinus Torvalds       help
831da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
841da177e4SLinus Torvalds	  highest available CPU frequency.
851da177e4SLinus Torvalds
861da177e4SLinus Torvalds	  If in doubt, say Y.
871da177e4SLinus Torvalds
881da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE
891da177e4SLinus Torvalds       tristate "'powersave' governor"
901da177e4SLinus Torvalds       help
911da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
921da177e4SLinus Torvalds	  lowest available CPU frequency.
931da177e4SLinus Torvalds
941da177e4SLinus Torvalds	  If in doubt, say Y.
951da177e4SLinus Torvalds
961da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE
971da177e4SLinus Torvalds       tristate "'userspace' governor for userspace frequency scaling"
981da177e4SLinus Torvalds       help
991da177e4SLinus Torvalds	  Enable this cpufreq governor when you either want to set the
1001da177e4SLinus Torvalds	  CPU frequency manually or when an userspace program shall
1011da177e4SLinus Torvalds	  be able to set the CPU dynamically, like on LART
1024c41251eSErik Mouw	  <http://www.lartmaker.nl/>.
1031da177e4SLinus Torvalds
1041da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq/>.
1051da177e4SLinus Torvalds
1061da177e4SLinus Torvalds	  If in doubt, say Y.
1071da177e4SLinus Torvalds
1081da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND
1091da177e4SLinus Torvalds	tristate "'ondemand' cpufreq policy governor"
1106af6e1efSDave Jones	select CPU_FREQ_TABLE
1111da177e4SLinus Torvalds	help
1121da177e4SLinus Torvalds	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
1131da177e4SLinus Torvalds	  The governor does a periodic polling and
1141da177e4SLinus Torvalds	  changes frequency based on the CPU utilization.
1151da177e4SLinus Torvalds	  The support for this governor depends on CPU capability to
1161da177e4SLinus Torvalds	  do fast frequency switching (i.e, very low latency frequency
1171da177e4SLinus Torvalds	  transitions).
1181da177e4SLinus Torvalds
1191da177e4SLinus Torvalds	  For details, take a look at linux/Documentation/cpu-freq.
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  If in doubt, say N.
1221da177e4SLinus Torvalds
123b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE
124b9170836SDave Jones	tristate "'conservative' cpufreq governor"
125b9170836SDave Jones	depends on CPU_FREQ
126b9170836SDave Jones	help
127b9170836SDave Jones	  'conservative' - this driver is rather similar to the 'ondemand'
128b9170836SDave Jones	  governor both in its source code and its purpose, the difference is
129b9170836SDave Jones	  its optimisation for better suitability in a battery powered
130b9170836SDave Jones	  environment.  The frequency is gracefully increased and decreased
131b9170836SDave Jones	  rather than jumping to 100% when speed is required.
132b9170836SDave Jones
133b9170836SDave Jones	  If you have a desktop machine then you should really be considering
134b9170836SDave Jones	  the 'ondemand' governor instead, however if you are using a laptop,
135b9170836SDave Jones	  PDA or even an AMD64 based computer (due to the unacceptable
136b9170836SDave Jones	  step-by-step latency issues between the minimum and maximum frequency
137b9170836SDave Jones	  transitions in the CPU) you will probably want to use this governor.
138b9170836SDave Jones
139b9170836SDave Jones	  For details, take a look at linux/Documentation/cpu-freq.
140b9170836SDave Jones
141b9170836SDave Jones	  If in doubt, say N.
142b9170836SDave Jones
1431da177e4SLinus Torvaldsendif	# CPU_FREQ
144