blob: e24a2a1b666661aab161c508bc6696bd3fe7979f [file] [log] [blame]
Dave Jonesbb0a56e2011-05-19 18:51:07 -04001menu "CPU Frequency scaling"
2
Linus Torvalds1da177e2005-04-16 15:20:36 -07003config CPU_FREQ
4 bool "CPU Frequency scaling"
5 help
6 CPU Frequency scaling allows you to change the clock speed of
7 CPUs on the fly. This is a nice method to save power, because
8 the lower the CPU clock speed, the less power the CPU consumes.
9
10 Note that this driver doesn't automatically change the CPU
11 clock speed, you need to either enable a dynamic cpufreq governor
12 (see below) after boot, or use a userspace tool.
13
14 For details, take a look at <file:Documentation/cpu-freq>.
15
16 If in doubt, say N.
17
18if CPU_FREQ
19
20config CPU_FREQ_TABLE
Mike Frysinger9101be52007-04-18 16:18:13 -040021 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Linus Torvalds1da177e2005-04-16 15:20:36 -070023config CPU_FREQ_STAT
Mike Frysinger9101be52007-04-18 16:18:13 -040024 tristate "CPU frequency translation statistics"
25 select CPU_FREQ_TABLE
26 default y
27 help
28 This driver exports CPU frequency statistics information through sysfs
29 file system.
30
31 To compile this driver as a module, choose M here: the
32 module will be called cpufreq_stats.
33
34 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36config CPU_FREQ_STAT_DETAILS
Mike Frysinger9101be52007-04-18 16:18:13 -040037 bool "CPU frequency translation statistics details"
38 depends on CPU_FREQ_STAT
39 help
40 This will show detail CPU frequency translation table in sysfs file
41 system.
42
43 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
Linus Torvalds1da177e2005-04-16 15:20:36 -070045choice
46 prompt "Default CPUFreq governor"
47 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
48 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
49 help
50 This option sets which CPUFreq governor shall be loaded at
51 startup. If in doubt, select 'performance'.
52
53config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
54 bool "performance"
55 select CPU_FREQ_GOV_PERFORMANCE
56 help
57 Use the CPUFreq governor 'performance' as default. This sets
58 the frequency statically to the highest frequency supported by
59 the CPU.
60
Alessandro Guido30d221d2008-04-18 13:31:13 -070061config CPU_FREQ_DEFAULT_GOV_POWERSAVE
62 bool "powersave"
David Rientjes6a108a12011-01-20 14:44:16 -080063 depends on EXPERT
Alessandro Guido30d221d2008-04-18 13:31:13 -070064 select CPU_FREQ_GOV_POWERSAVE
65 help
66 Use the CPUFreq governor 'powersave' as default. This sets
67 the frequency statically to the lowest frequency supported by
68 the CPU.
69
Linus Torvalds1da177e2005-04-16 15:20:36 -070070config CPU_FREQ_DEFAULT_GOV_USERSPACE
71 bool "userspace"
72 select CPU_FREQ_GOV_USERSPACE
73 help
74 Use the CPUFreq governor 'userspace' as default. This allows
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +010075 you to set the CPU frequency manually or when a userspace
Linus Torvalds1da177e2005-04-16 15:20:36 -070076 program shall be able to set the CPU dynamically without having
77 to enable the userspace governor manually.
78
Thomas Renninger1c256242007-10-02 13:28:12 -070079config CPU_FREQ_DEFAULT_GOV_ONDEMAND
80 bool "ondemand"
81 select CPU_FREQ_GOV_ONDEMAND
82 select CPU_FREQ_GOV_PERFORMANCE
83 help
84 Use the CPUFreq governor 'ondemand' as default. This allows
85 you to get a full dynamic frequency capable system by simply
86 loading your cpufreq low-level hardware driver.
87 Be aware that not all cpufreq drivers support the ondemand
88 governor. If unsure have a look at the help section of the
89 driver. Fallback governor will be the performance governor.
90
91config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
92 bool "conservative"
93 select CPU_FREQ_GOV_CONSERVATIVE
94 select CPU_FREQ_GOV_PERFORMANCE
95 help
96 Use the CPUFreq governor 'conservative' as default. This allows
97 you to get a full dynamic frequency capable system by simply
98 loading your cpufreq low-level hardware driver.
99 Be aware that not all cpufreq drivers support the conservative
100 governor. If unsure have a look at the help section of the
101 driver. Fallback governor will be the performance governor.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102endchoice
103
104config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -0400105 tristate "'performance' governor"
106 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 This cpufreq governor sets the frequency statically to the
108 highest available CPU frequency.
109
Mike Frysinger9101be52007-04-18 16:18:13 -0400110 To compile this driver as a module, choose M here: the
111 module will be called cpufreq_performance.
112
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 If in doubt, say Y.
114
115config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400116 tristate "'powersave' governor"
117 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 This cpufreq governor sets the frequency statically to the
119 lowest available CPU frequency.
120
Mike Frysinger9101be52007-04-18 16:18:13 -0400121 To compile this driver as a module, choose M here: the
122 module will be called cpufreq_powersave.
123
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 If in doubt, say Y.
125
126config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400127 tristate "'userspace' governor for userspace frequency scaling"
128 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 Enable this cpufreq governor when you either want to set the
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +0100130 CPU frequency manually or when a userspace program shall
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200132 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133
Mike Frysinger9101be52007-04-18 16:18:13 -0400134 To compile this driver as a module, choose M here: the
135 module will be called cpufreq_userspace.
136
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137 For details, take a look at <file:Documentation/cpu-freq/>.
138
139 If in doubt, say Y.
140
141config CPU_FREQ_GOV_ONDEMAND
142 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500143 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 help
145 'ondemand' - This driver adds a dynamic cpufreq policy governor.
146 The governor does a periodic polling and
147 changes frequency based on the CPU utilization.
148 The support for this governor depends on CPU capability to
149 do fast frequency switching (i.e, very low latency frequency
150 transitions).
151
Mike Frysinger9101be52007-04-18 16:18:13 -0400152 To compile this driver as a module, choose M here: the
153 module will be called cpufreq_ondemand.
154
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 For details, take a look at linux/Documentation/cpu-freq.
156
157 If in doubt, say N.
158
Dave Jonesb9170832005-05-31 19:03:47 -0700159config CPU_FREQ_GOV_CONSERVATIVE
160 tristate "'conservative' cpufreq governor"
161 depends on CPU_FREQ
162 help
163 'conservative' - this driver is rather similar to the 'ondemand'
164 governor both in its source code and its purpose, the difference is
165 its optimisation for better suitability in a battery powered
166 environment. The frequency is gracefully increased and decreased
167 rather than jumping to 100% when speed is required.
168
169 If you have a desktop machine then you should really be considering
170 the 'ondemand' governor instead, however if you are using a laptop,
171 PDA or even an AMD64 based computer (due to the unacceptable
172 step-by-step latency issues between the minimum and maximum frequency
173 transitions in the CPU) you will probably want to use this governor.
174
Mike Frysinger9101be52007-04-18 16:18:13 -0400175 To compile this driver as a module, choose M here: the
176 module will be called cpufreq_conservative.
177
Dave Jonesb9170832005-05-31 19:03:47 -0700178 For details, take a look at linux/Documentation/cpu-freq.
179
180 If in doubt, say N.
181
Dave Jonesbb0a56e2011-05-19 18:51:07 -0400182menu "x86 CPU frequency scaling drivers"
183depends on X86
184source "drivers/cpufreq/Kconfig.x86"
185endmenu
186
Kukjin Kimf7d77072011-06-01 14:18:22 -0700187menu "ARM CPU frequency scaling drivers"
188depends on ARM
189source "drivers/cpufreq/Kconfig.arm"
190endmenu
191
Dmitry Eremin-Solenikov5d8c6652011-06-29 05:07:56 +0000192menu "PowerPC CPU frequency scaling drivers"
193depends on PPC32 || PPC64
194source "drivers/cpufreq/Kconfig.powerpc"
195endmenu
196
Dave Jonesbb0a56e2011-05-19 18:51:07 -0400197endif
198endmenu