xref: /linux/drivers/cpufreq/Kconfig (revision 30d221db4439973076953e2ed44344fa92d1d09f)
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
19f0ec313aSAdrian 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
409101be53SMike Frysinger	  file system.
419101be53SMike Frysinger
429101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
439101be53SMike Frysinger	  module will be called cpufreq_stats.
449101be53SMike Frysinger
459101be53SMike Frysinger	  If in doubt, say N.
461da177e4SLinus Torvalds
471da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS
481da177e4SLinus Torvalds	bool "CPU frequency translation statistics details"
491da177e4SLinus Torvalds	depends on CPU_FREQ_STAT
501da177e4SLinus Torvalds	help
511da177e4SLinus Torvalds	  This will show detail CPU frequency translation table in sysfs file
529101be53SMike Frysinger	  system.
539101be53SMike Frysinger
549101be53SMike Frysinger	  If in doubt, say N.
551da177e4SLinus Torvalds
561da177e4SLinus Torvaldschoice
571da177e4SLinus Torvalds	prompt "Default CPUFreq governor"
581da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
591da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
601da177e4SLinus Torvalds	help
611da177e4SLinus Torvalds	  This option sets which CPUFreq governor shall be loaded at
621da177e4SLinus Torvalds	  startup. If in doubt, select 'performance'.
631da177e4SLinus Torvalds
641da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE
651da177e4SLinus Torvalds	bool "performance"
661da177e4SLinus Torvalds	select CPU_FREQ_GOV_PERFORMANCE
671da177e4SLinus Torvalds	help
681da177e4SLinus Torvalds	  Use the CPUFreq governor 'performance' as default. This sets
691da177e4SLinus Torvalds	  the frequency statically to the highest frequency supported by
701da177e4SLinus Torvalds	  the CPU.
711da177e4SLinus Torvalds
72*30d221dbSAlessandro Guidoconfig CPU_FREQ_DEFAULT_GOV_POWERSAVE
73*30d221dbSAlessandro Guido	bool "powersave"
74*30d221dbSAlessandro Guido	depends on EMBEDDED
75*30d221dbSAlessandro Guido	select CPU_FREQ_GOV_POWERSAVE
76*30d221dbSAlessandro Guido	help
77*30d221dbSAlessandro Guido	  Use the CPUFreq governor 'powersave' as default. This sets
78*30d221dbSAlessandro Guido	  the frequency statically to the lowest frequency supported by
79*30d221dbSAlessandro Guido	  the CPU.
80*30d221dbSAlessandro Guido
811da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE
821da177e4SLinus Torvalds	bool "userspace"
831da177e4SLinus Torvalds	select CPU_FREQ_GOV_USERSPACE
841da177e4SLinus Torvalds	help
851da177e4SLinus Torvalds	  Use the CPUFreq governor 'userspace' as default. This allows
861da177e4SLinus Torvalds	  you to set the CPU frequency manually or when an userspace
871da177e4SLinus Torvalds	  program shall be able to set the CPU dynamically without having
881da177e4SLinus Torvalds	  to enable the userspace governor manually.
891da177e4SLinus Torvalds
901c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_ONDEMAND
911c256245SThomas Renninger	bool "ondemand"
921c256245SThomas Renninger	select CPU_FREQ_GOV_ONDEMAND
931c256245SThomas Renninger	select CPU_FREQ_GOV_PERFORMANCE
941c256245SThomas Renninger	help
951c256245SThomas Renninger	  Use the CPUFreq governor 'ondemand' as default. This allows
961c256245SThomas Renninger	  you to get a full dynamic frequency capable system by simply
971c256245SThomas Renninger	  loading your cpufreq low-level hardware driver.
981c256245SThomas Renninger	  Be aware that not all cpufreq drivers support the ondemand
991c256245SThomas Renninger	  governor. If unsure have a look at the help section of the
1001c256245SThomas Renninger	  driver. Fallback governor will be the performance governor.
1011c256245SThomas Renninger
1021c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
1031c256245SThomas Renninger	bool "conservative"
1041c256245SThomas Renninger	select CPU_FREQ_GOV_CONSERVATIVE
1051c256245SThomas Renninger	select CPU_FREQ_GOV_PERFORMANCE
1061c256245SThomas Renninger	help
1071c256245SThomas Renninger	  Use the CPUFreq governor 'conservative' as default. This allows
1081c256245SThomas Renninger	  you to get a full dynamic frequency capable system by simply
1091c256245SThomas Renninger	  loading your cpufreq low-level hardware driver.
1101c256245SThomas Renninger	  Be aware that not all cpufreq drivers support the conservative
1111c256245SThomas Renninger	  governor. If unsure have a look at the help section of the
1121c256245SThomas Renninger	  driver. Fallback governor will be the performance governor.
1131da177e4SLinus Torvaldsendchoice
1141da177e4SLinus Torvalds
1151da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE
1161da177e4SLinus Torvalds	tristate "'performance' governor"
1171da177e4SLinus Torvalds	help
1181da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
1191da177e4SLinus Torvalds	  highest available CPU frequency.
1201da177e4SLinus Torvalds
1219101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1229101be53SMike Frysinger	  module will be called cpufreq_performance.
1239101be53SMike Frysinger
1241da177e4SLinus Torvalds	  If in doubt, say Y.
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE
1271da177e4SLinus Torvalds	tristate "'powersave' governor"
1281da177e4SLinus Torvalds	help
1291da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
1301da177e4SLinus Torvalds	  lowest available CPU frequency.
1311da177e4SLinus Torvalds
1329101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1339101be53SMike Frysinger	  module will be called cpufreq_powersave.
1349101be53SMike Frysinger
1351da177e4SLinus Torvalds	  If in doubt, say Y.
1361da177e4SLinus Torvalds
1371da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE
1381da177e4SLinus Torvalds	tristate "'userspace' governor for userspace frequency scaling"
1391da177e4SLinus Torvalds	help
1401da177e4SLinus Torvalds	  Enable this cpufreq governor when you either want to set the
1411da177e4SLinus Torvalds	  CPU frequency manually or when an userspace program shall
1421da177e4SLinus Torvalds	  be able to set the CPU dynamically, like on LART
1434c41251eSErik Mouw	  <http://www.lartmaker.nl/>.
1441da177e4SLinus Torvalds
1459101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1469101be53SMike Frysinger	  module will be called cpufreq_userspace.
1479101be53SMike Frysinger
1481da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq/>.
1491da177e4SLinus Torvalds
1501da177e4SLinus Torvalds	  If in doubt, say Y.
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND
1531da177e4SLinus Torvalds	tristate "'ondemand' cpufreq policy governor"
1546af6e1efSDave Jones	select CPU_FREQ_TABLE
1551da177e4SLinus Torvalds	help
1561da177e4SLinus Torvalds	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
1571da177e4SLinus Torvalds	  The governor does a periodic polling and
1581da177e4SLinus Torvalds	  changes frequency based on the CPU utilization.
1591da177e4SLinus Torvalds	  The support for this governor depends on CPU capability to
1601da177e4SLinus Torvalds	  do fast frequency switching (i.e, very low latency frequency
1611da177e4SLinus Torvalds	  transitions).
1621da177e4SLinus Torvalds
1639101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1649101be53SMike Frysinger	  module will be called cpufreq_ondemand.
1659101be53SMike Frysinger
1661da177e4SLinus Torvalds	  For details, take a look at linux/Documentation/cpu-freq.
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvalds	  If in doubt, say N.
1691da177e4SLinus Torvalds
170b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE
171b9170836SDave Jones	tristate "'conservative' cpufreq governor"
172b9170836SDave Jones	depends on CPU_FREQ
173b9170836SDave Jones	help
174b9170836SDave Jones	  'conservative' - this driver is rather similar to the 'ondemand'
175b9170836SDave Jones	  governor both in its source code and its purpose, the difference is
176b9170836SDave Jones	  its optimisation for better suitability in a battery powered
177b9170836SDave Jones	  environment.  The frequency is gracefully increased and decreased
178b9170836SDave Jones	  rather than jumping to 100% when speed is required.
179b9170836SDave Jones
180b9170836SDave Jones	  If you have a desktop machine then you should really be considering
181b9170836SDave Jones	  the 'ondemand' governor instead, however if you are using a laptop,
182b9170836SDave Jones	  PDA or even an AMD64 based computer (due to the unacceptable
183b9170836SDave Jones	  step-by-step latency issues between the minimum and maximum frequency
184b9170836SDave Jones	  transitions in the CPU) you will probably want to use this governor.
185b9170836SDave Jones
1869101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1879101be53SMike Frysinger	  module will be called cpufreq_conservative.
1889101be53SMike Frysinger
189b9170836SDave Jones	  For details, take a look at linux/Documentation/cpu-freq.
190b9170836SDave Jones
191b9170836SDave Jones	  If in doubt, say N.
192b9170836SDave Jones
1931da177e4SLinus Torvaldsendif	# CPU_FREQ
194