xref: /linux/drivers/cpufreq/Kconfig (revision 1c2562459faedc35927546cfa5273ec6c2884cce)
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
129101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
139101be53SMike Frysinger	  module will be called cpufreq.
149101be53SMike 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
439101be53SMike Frysinger	  file system.
449101be53SMike Frysinger
459101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
469101be53SMike Frysinger	  module will be called cpufreq_stats.
479101be53SMike Frysinger
489101be53SMike 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
559101be53SMike Frysinger	  system.
569101be53SMike Frysinger
579101be53SMike Frysinger	  If in doubt, say N.
581da177e4SLinus Torvalds
591da177e4SLinus Torvaldschoice
601da177e4SLinus Torvalds	prompt "Default CPUFreq governor"
611da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
621da177e4SLinus Torvalds	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  This option sets which CPUFreq governor shall be loaded at
651da177e4SLinus Torvalds	  startup. If in doubt, select 'performance'.
661da177e4SLinus Torvalds
671da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE
681da177e4SLinus Torvalds	bool "performance"
691da177e4SLinus Torvalds	select CPU_FREQ_GOV_PERFORMANCE
701da177e4SLinus Torvalds	help
711da177e4SLinus Torvalds	  Use the CPUFreq governor 'performance' as default. This sets
721da177e4SLinus Torvalds	  the frequency statically to the highest frequency supported by
731da177e4SLinus Torvalds	  the CPU.
741da177e4SLinus Torvalds
751da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE
761da177e4SLinus Torvalds	bool "userspace"
771da177e4SLinus Torvalds	select CPU_FREQ_GOV_USERSPACE
781da177e4SLinus Torvalds	help
791da177e4SLinus Torvalds	  Use the CPUFreq governor 'userspace' as default. This allows
801da177e4SLinus Torvalds	  you to set the CPU frequency manually or when an userspace
811da177e4SLinus Torvalds	  program shall be able to set the CPU dynamically without having
821da177e4SLinus Torvalds	  to enable the userspace governor manually.
831da177e4SLinus Torvalds
84*1c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_ONDEMAND
85*1c256245SThomas Renninger	bool "ondemand"
86*1c256245SThomas Renninger	select CPU_FREQ_GOV_ONDEMAND
87*1c256245SThomas Renninger	select CPU_FREQ_GOV_PERFORMANCE
88*1c256245SThomas Renninger	help
89*1c256245SThomas Renninger	  Use the CPUFreq governor 'ondemand' as default. This allows
90*1c256245SThomas Renninger	  you to get a full dynamic frequency capable system by simply
91*1c256245SThomas Renninger	  loading your cpufreq low-level hardware driver.
92*1c256245SThomas Renninger	  Be aware that not all cpufreq drivers support the ondemand
93*1c256245SThomas Renninger	  governor. If unsure have a look at the help section of the
94*1c256245SThomas Renninger	  driver. Fallback governor will be the performance governor.
95*1c256245SThomas Renninger
96*1c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
97*1c256245SThomas Renninger	bool "conservative"
98*1c256245SThomas Renninger	select CPU_FREQ_GOV_CONSERVATIVE
99*1c256245SThomas Renninger	select CPU_FREQ_GOV_PERFORMANCE
100*1c256245SThomas Renninger	help
101*1c256245SThomas Renninger	  Use the CPUFreq governor 'conservative' as default. This allows
102*1c256245SThomas Renninger	  you to get a full dynamic frequency capable system by simply
103*1c256245SThomas Renninger	  loading your cpufreq low-level hardware driver.
104*1c256245SThomas Renninger	  Be aware that not all cpufreq drivers support the conservative
105*1c256245SThomas Renninger	  governor. If unsure have a look at the help section of the
106*1c256245SThomas Renninger	  driver. Fallback governor will be the performance governor.
1071da177e4SLinus Torvaldsendchoice
1081da177e4SLinus Torvalds
1091da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE
1101da177e4SLinus Torvalds	tristate "'performance' governor"
1111da177e4SLinus Torvalds	help
1121da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
1131da177e4SLinus Torvalds	  highest available CPU frequency.
1141da177e4SLinus Torvalds
1159101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1169101be53SMike Frysinger	  module will be called cpufreq_performance.
1179101be53SMike Frysinger
1181da177e4SLinus Torvalds	  If in doubt, say Y.
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE
1211da177e4SLinus Torvalds	tristate "'powersave' governor"
1221da177e4SLinus Torvalds	help
1231da177e4SLinus Torvalds	  This cpufreq governor sets the frequency statically to the
1241da177e4SLinus Torvalds	  lowest available CPU frequency.
1251da177e4SLinus Torvalds
1269101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1279101be53SMike Frysinger	  module will be called cpufreq_powersave.
1289101be53SMike Frysinger
1291da177e4SLinus Torvalds	  If in doubt, say Y.
1301da177e4SLinus Torvalds
1311da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE
1321da177e4SLinus Torvalds	tristate "'userspace' governor for userspace frequency scaling"
1331da177e4SLinus Torvalds	help
1341da177e4SLinus Torvalds	  Enable this cpufreq governor when you either want to set the
1351da177e4SLinus Torvalds	  CPU frequency manually or when an userspace program shall
1361da177e4SLinus Torvalds	  be able to set the CPU dynamically, like on LART
1374c41251eSErik Mouw	  <http://www.lartmaker.nl/>.
1381da177e4SLinus Torvalds
1399101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1409101be53SMike Frysinger	  module will be called cpufreq_userspace.
1419101be53SMike Frysinger
1421da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq/>.
1431da177e4SLinus Torvalds
1441da177e4SLinus Torvalds	  If in doubt, say Y.
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND
1471da177e4SLinus Torvalds	tristate "'ondemand' cpufreq policy governor"
1486af6e1efSDave Jones	select CPU_FREQ_TABLE
1491da177e4SLinus Torvalds	help
1501da177e4SLinus Torvalds	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
1511da177e4SLinus Torvalds	  The governor does a periodic polling and
1521da177e4SLinus Torvalds	  changes frequency based on the CPU utilization.
1531da177e4SLinus Torvalds	  The support for this governor depends on CPU capability to
1541da177e4SLinus Torvalds	  do fast frequency switching (i.e, very low latency frequency
1551da177e4SLinus Torvalds	  transitions).
1561da177e4SLinus Torvalds
1579101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1589101be53SMike Frysinger	  module will be called cpufreq_ondemand.
1599101be53SMike Frysinger
1601da177e4SLinus Torvalds	  For details, take a look at linux/Documentation/cpu-freq.
1611da177e4SLinus Torvalds
1621da177e4SLinus Torvalds	  If in doubt, say N.
1631da177e4SLinus Torvalds
164b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE
165b9170836SDave Jones	tristate "'conservative' cpufreq governor"
166b9170836SDave Jones	depends on CPU_FREQ
167b9170836SDave Jones	help
168b9170836SDave Jones	  'conservative' - this driver is rather similar to the 'ondemand'
169b9170836SDave Jones	  governor both in its source code and its purpose, the difference is
170b9170836SDave Jones	  its optimisation for better suitability in a battery powered
171b9170836SDave Jones	  environment.  The frequency is gracefully increased and decreased
172b9170836SDave Jones	  rather than jumping to 100% when speed is required.
173b9170836SDave Jones
174b9170836SDave Jones	  If you have a desktop machine then you should really be considering
175b9170836SDave Jones	  the 'ondemand' governor instead, however if you are using a laptop,
176b9170836SDave Jones	  PDA or even an AMD64 based computer (due to the unacceptable
177b9170836SDave Jones	  step-by-step latency issues between the minimum and maximum frequency
178b9170836SDave Jones	  transitions in the CPU) you will probably want to use this governor.
179b9170836SDave Jones
1809101be53SMike Frysinger	  To compile this driver as a module, choose M here: the
1819101be53SMike Frysinger	  module will be called cpufreq_conservative.
1829101be53SMike Frysinger
183b9170836SDave Jones	  For details, take a look at linux/Documentation/cpu-freq.
184b9170836SDave Jones
185b9170836SDave Jones	  If in doubt, say N.
186b9170836SDave Jones
1871da177e4SLinus Torvaldsendif	# CPU_FREQ
188