Merge back earlier 'pm-cpufreq' material.
[linux-2.6-microblaze.git] / drivers / cpufreq / Kconfig
1 menu "CPU Frequency scaling"
2
3 config 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
18 if CPU_FREQ
19
20 config CPU_FREQ_GOV_COMMON
21         bool
22
23 config CPU_FREQ_STAT
24         tristate "CPU frequency translation statistics"
25         default y
26         help
27           This driver exports CPU frequency statistics information through sysfs
28           file system.
29
30           To compile this driver as a module, choose M here: the
31           module will be called cpufreq_stats.
32
33           If in doubt, say N.
34
35 config CPU_FREQ_STAT_DETAILS
36         bool "CPU frequency translation statistics details"
37         depends on CPU_FREQ_STAT
38         help
39           This will show detail CPU frequency translation table in sysfs file
40           system.
41
42           If in doubt, say N.
43
44 choice
45         prompt "Default CPUFreq governor"
46         default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
47         default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
48         help
49           This option sets which CPUFreq governor shall be loaded at
50           startup. If in doubt, select 'performance'.
51
52 config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
53         bool "performance"
54         select CPU_FREQ_GOV_PERFORMANCE
55         help
56           Use the CPUFreq governor 'performance' as default. This sets
57           the frequency statically to the highest frequency supported by
58           the CPU.
59
60 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
61         bool "powersave"
62         depends on EXPERT
63         select CPU_FREQ_GOV_POWERSAVE
64         help
65           Use the CPUFreq governor 'powersave' as default. This sets
66           the frequency statically to the lowest frequency supported by
67           the CPU.
68
69 config CPU_FREQ_DEFAULT_GOV_USERSPACE
70         bool "userspace"
71         select CPU_FREQ_GOV_USERSPACE
72         help
73           Use the CPUFreq governor 'userspace' as default. This allows
74           you to set the CPU frequency manually or when a userspace 
75           program shall be able to set the CPU dynamically without having
76           to enable the userspace governor manually.
77
78 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
79         bool "ondemand"
80         select CPU_FREQ_GOV_ONDEMAND
81         select CPU_FREQ_GOV_PERFORMANCE
82         help
83           Use the CPUFreq governor 'ondemand' as default. This allows
84           you to get a full dynamic frequency capable system by simply
85           loading your cpufreq low-level hardware driver.
86           Be aware that not all cpufreq drivers support the ondemand
87           governor. If unsure have a look at the help section of the
88           driver. Fallback governor will be the performance governor.
89
90 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
91         bool "conservative"
92         select CPU_FREQ_GOV_CONSERVATIVE
93         select CPU_FREQ_GOV_PERFORMANCE
94         help
95           Use the CPUFreq governor 'conservative' as default. This allows
96           you to get a full dynamic frequency capable system by simply
97           loading your cpufreq low-level hardware driver.
98           Be aware that not all cpufreq drivers support the conservative
99           governor. If unsure have a look at the help section of the
100           driver. Fallback governor will be the performance governor.
101 endchoice
102
103 config CPU_FREQ_GOV_PERFORMANCE
104         tristate "'performance' governor"
105         help
106           This cpufreq governor sets the frequency statically to the
107           highest available CPU frequency.
108
109           To compile this driver as a module, choose M here: the
110           module will be called cpufreq_performance.
111
112           If in doubt, say Y.
113
114 config CPU_FREQ_GOV_POWERSAVE
115         tristate "'powersave' governor"
116         help
117           This cpufreq governor sets the frequency statically to the
118           lowest available CPU frequency.
119
120           To compile this driver as a module, choose M here: the
121           module will be called cpufreq_powersave.
122
123           If in doubt, say Y.
124
125 config CPU_FREQ_GOV_USERSPACE
126         tristate "'userspace' governor for userspace frequency scaling"
127         help
128           Enable this cpufreq governor when you either want to set the
129           CPU frequency manually or when a userspace program shall
130           be able to set the CPU dynamically, like on LART 
131           <http://www.lartmaker.nl/>.
132
133           To compile this driver as a module, choose M here: the
134           module will be called cpufreq_userspace.
135
136           For details, take a look at <file:Documentation/cpu-freq/>.
137
138           If in doubt, say Y.
139
140 config CPU_FREQ_GOV_ONDEMAND
141         tristate "'ondemand' cpufreq policy governor"
142         select CPU_FREQ_GOV_COMMON
143         help
144           'ondemand' - This driver adds a dynamic cpufreq policy governor.
145           The governor does a periodic polling and 
146           changes frequency based on the CPU utilization.
147           The support for this governor depends on CPU capability to
148           do fast frequency switching (i.e, very low latency frequency
149           transitions). 
150
151           To compile this driver as a module, choose M here: the
152           module will be called cpufreq_ondemand.
153
154           For details, take a look at linux/Documentation/cpu-freq.
155
156           If in doubt, say N.
157
158 config CPU_FREQ_GOV_CONSERVATIVE
159         tristate "'conservative' cpufreq governor"
160         depends on CPU_FREQ
161         select CPU_FREQ_GOV_COMMON
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
175           To compile this driver as a module, choose M here: the
176           module will be called cpufreq_conservative.
177
178           For details, take a look at linux/Documentation/cpu-freq.
179
180           If in doubt, say N.
181
182 config GENERIC_CPUFREQ_CPU0
183         tristate "Generic CPU0 cpufreq driver"
184         depends on HAVE_CLK && REGULATOR && OF
185         select PM_OPP
186         help
187           This adds a generic cpufreq driver for CPU0 frequency management.
188           It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
189           systems which share clock and voltage across all CPUs.
190
191           If in doubt, say N.
192
193 menu "x86 CPU frequency scaling drivers"
194 depends on X86
195 source "drivers/cpufreq/Kconfig.x86"
196 endmenu
197
198 menu "ARM CPU frequency scaling drivers"
199 depends on ARM
200 source "drivers/cpufreq/Kconfig.arm"
201 endmenu
202
203 menu "AVR32 CPU frequency scaling drivers"
204 depends on AVR32
205
206 config AVR32_AT32AP_CPUFREQ
207         bool "CPU frequency driver for AT32AP"
208         depends on PLATFORM_AT32AP
209         default n
210         help
211           This enables the CPU frequency driver for AT32AP processors.
212           If in doubt, say N.
213
214 endmenu
215
216 menu "CPUFreq processor drivers"
217 depends on IA64
218
219 config IA64_ACPI_CPUFREQ
220         tristate "ACPI Processor P-States driver"
221         depends on ACPI_PROCESSOR
222         help
223         This driver adds a CPUFreq driver which utilizes the ACPI
224         Processor Performance States.
225
226         For details, take a look at <file:Documentation/cpu-freq/>.
227
228         If in doubt, say N.
229
230 endmenu
231
232 menu "MIPS CPUFreq processor drivers"
233 depends on MIPS
234
235 config LOONGSON2_CPUFREQ
236         tristate "Loongson2 CPUFreq Driver"
237         help
238           This option adds a CPUFreq driver for loongson processors which
239           support software configurable cpu frequency.
240
241           Loongson2F and it's successors support this feature.
242
243           For details, take a look at <file:Documentation/cpu-freq/>.
244
245           If in doubt, say N.
246
247 endmenu
248
249 menu "PowerPC CPU frequency scaling drivers"
250 depends on PPC32 || PPC64
251 source "drivers/cpufreq/Kconfig.powerpc"
252 endmenu
253
254 menu "SPARC CPU frequency scaling drivers"
255 depends on SPARC64
256 config SPARC_US3_CPUFREQ
257         tristate "UltraSPARC-III CPU Frequency driver"
258         help
259           This adds the CPUFreq driver for UltraSPARC-III processors.
260
261           For details, take a look at <file:Documentation/cpu-freq>.
262
263           If in doubt, say N.
264
265 config SPARC_US2E_CPUFREQ
266         tristate "UltraSPARC-IIe CPU Frequency driver"
267         help
268           This adds the CPUFreq driver for UltraSPARC-IIe processors.
269
270           For details, take a look at <file:Documentation/cpu-freq>.
271
272           If in doubt, say N.
273 endmenu
274
275 menu "SH CPU Frequency scaling"
276 depends on SUPERH
277 config SH_CPU_FREQ
278         tristate "SuperH CPU Frequency driver"
279         help
280           This adds the cpufreq driver for SuperH. Any CPU that supports
281           clock rate rounding through the clock framework can use this
282           driver. While it will make the kernel slightly larger, this is
283           harmless for CPUs that don't support rate rounding. The driver
284           will also generate a notice in the boot log before disabling
285           itself if the CPU in question is not capable of rate rounding.
286
287           For details, take a look at <file:Documentation/cpu-freq>.
288
289           If unsure, say N.
290 endmenu
291
292 endif
293 endmenu