upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / cpufreq / Kconfig
1 config CPU_FREQ
2         bool "CPU Frequency scaling"
3         help
4           CPU Frequency scaling allows you to change the clock speed of 
5           CPUs on the fly. This is a nice method to save power, because 
6           the lower the CPU clock speed, the less power the CPU consumes.
7
8           Note that this driver doesn't automatically change the CPU
9           clock speed, you need to either enable a dynamic cpufreq governor
10           (see below) after boot, or use a userspace tool.
11
12           For details, take a look at <file:Documentation/cpu-freq>.
13
14           If in doubt, say N.
15
16 if CPU_FREQ
17
18 config CPU_FREQ_TABLE
19         tristate
20
21 config CPU_FREQ_DEBUG
22         bool "Enable CPUfreq debugging"
23         help
24           Say Y here to enable CPUfreq subsystem (including drivers)
25           debugging. You will need to activate it via the kernel
26           command line by passing
27              cpufreq.debug=<value>
28
29           To get <value>, add 
30                1 to activate CPUfreq core debugging,
31                2 to activate CPUfreq drivers debugging, and
32                4 to activate CPUfreq governor debugging
33
34 config CPU_FREQ_STAT
35         tristate "CPU frequency translation statistics"
36         select CPU_FREQ_TABLE
37         default y
38         help
39           This driver exports CPU frequency statistics information through sysfs
40           file system.
41
42           To compile this driver as a module, choose M here: the
43           module will be called cpufreq_stats.
44
45           If in doubt, say N.
46
47 config CPU_FREQ_STAT_DETAILS
48         bool "CPU frequency translation statistics details"
49         depends on CPU_FREQ_STAT
50         help
51           This will show detail CPU frequency translation table in sysfs file
52           system.
53
54           If in doubt, say N.
55
56 config CPU_FREQ_TICKLE
57         bool "Enable CPU tickling from drivers and users"
58         help
59           This will open sysfs interfaces and export cpufreq_ticlke_cpu
60           function so that drivers and users can tickle a CPU; i.e., force
61           the CPU to operate at (or faster than) the specified (by percent to
62           the maximum) frequency at the moment of call. However, with variable
63           cpufreq governors such as ondemand and conservative, the frequency
64           will keep changing after tickling. Tickle-CPU is intended to provide
65           faster user-response time for ondemand and conservative; e.g., touch
66           screen driver tickles cpus when a user touches the screen. Tickling
67           cpus in such cases reduces the response time required for governors
68           to kick in after measuring cpuidle time.
69
70 choice
71         prompt "Default CPUFreq governor"
72         default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
73         default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
74         help
75           This option sets which CPUFreq governor shall be loaded at
76           startup. If in doubt, select 'performance'.
77
78 config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
79         bool "performance"
80         select CPU_FREQ_GOV_PERFORMANCE
81         help
82           Use the CPUFreq governor 'performance' as default. This sets
83           the frequency statically to the highest frequency supported by
84           the CPU.
85
86 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
87         bool "powersave"
88         depends on EMBEDDED
89         select CPU_FREQ_GOV_POWERSAVE
90         help
91           Use the CPUFreq governor 'powersave' as default. This sets
92           the frequency statically to the lowest frequency supported by
93           the CPU.
94
95 config CPU_FREQ_DEFAULT_GOV_USERSPACE
96         bool "userspace"
97         select CPU_FREQ_GOV_USERSPACE
98         help
99           Use the CPUFreq governor 'userspace' as default. This allows
100           you to set the CPU frequency manually or when a userspace 
101           program shall be able to set the CPU dynamically without having
102           to enable the userspace governor manually.
103
104 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
105         bool "ondemand"
106         select CPU_FREQ_GOV_ONDEMAND
107         select CPU_FREQ_GOV_PERFORMANCE
108         help
109           Use the CPUFreq governor 'ondemand' as default. This allows
110           you to get a full dynamic frequency capable system by simply
111           loading your cpufreq low-level hardware driver.
112           Be aware that not all cpufreq drivers support the ondemand
113           governor. If unsure have a look at the help section of the
114           driver. Fallback governor will be the performance governor.
115
116 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
117         bool "conservative"
118         select CPU_FREQ_GOV_CONSERVATIVE
119         select CPU_FREQ_GOV_PERFORMANCE
120         help
121           Use the CPUFreq governor 'conservative' as default. This allows
122           you to get a full dynamic frequency capable system by simply
123           loading your cpufreq low-level hardware driver.
124           Be aware that not all cpufreq drivers support the conservative
125           governor. If unsure have a look at the help section of the
126           driver. Fallback governor will be the performance governor.
127 endchoice
128
129 config CPU_FREQ_GOV_PERFORMANCE
130         tristate "'performance' governor"
131         help
132           This cpufreq governor sets the frequency statically to the
133           highest available CPU frequency.
134
135           To compile this driver as a module, choose M here: the
136           module will be called cpufreq_performance.
137
138           If in doubt, say Y.
139
140 config CPU_FREQ_GOV_POWERSAVE
141         tristate "'powersave' governor"
142         help
143           This cpufreq governor sets the frequency statically to the
144           lowest available CPU frequency.
145
146           To compile this driver as a module, choose M here: the
147           module will be called cpufreq_powersave.
148
149           If in doubt, say Y.
150
151 config CPU_FREQ_GOV_USERSPACE
152         tristate "'userspace' governor for userspace frequency scaling"
153         help
154           Enable this cpufreq governor when you either want to set the
155           CPU frequency manually or when a userspace program shall
156           be able to set the CPU dynamically, like on LART 
157           <http://www.lartmaker.nl/>.
158
159           To compile this driver as a module, choose M here: the
160           module will be called cpufreq_userspace.
161
162           For details, take a look at <file:Documentation/cpu-freq/>.
163
164           If in doubt, say Y.
165
166 config CPU_FREQ_GOV_ONDEMAND
167         tristate "'ondemand' cpufreq policy governor"
168         select CPU_FREQ_TABLE
169         help
170           'ondemand' - This driver adds a dynamic cpufreq policy governor.
171           The governor does a periodic polling and 
172           changes frequency based on the CPU utilization.
173           The support for this governor depends on CPU capability to
174           do fast frequency switching (i.e, very low latency frequency
175           transitions). 
176
177           To compile this driver as a module, choose M here: the
178           module will be called cpufreq_ondemand.
179
180           For details, take a look at linux/Documentation/cpu-freq.
181
182           If in doubt, say N.
183
184 config CPU_FREQ_GOV_ONDEMAND_FLEXRATE
185         bool "flexrate interface for 'ondemand' cpufreq policy governor"
186         depends on CPU_FREQ_GOV_ONDEMAND
187         help
188           Flexrate for 'ondemand' governor provides an interface to request
189           faster polling temporarily. This is to let it react quickly to
190           load changes when there is high probablity of load increase
191           in short time. For example, when a user event occurs, we have
192           use this interface. It does not increase the frequency
193           unconditionally; however, it allows ondemand to react fast
194           by temporarily decreasing sampling rate. Flexrate provides both
195           sysfs interface and in-kernel interface.
196
197 config CPU_FREQ_GOV_ONDEMAND_FLEXRATE_MAX_DURATION
198         int "flexrate's maximum duration of sampling rate override"
199         range 5 500
200         depends on CPU_FREQ_GOV_ONDEMAND_FLEXRATE
201         default "100"
202         help
203           The maximum number of ondemand sampling whose rate is
204           overriden by Flexrate for ondemand.
205
206 config CPU_FREQ_GOV_CONSERVATIVE
207         tristate "'conservative' cpufreq governor"
208         depends on CPU_FREQ
209         help
210           'conservative' - this driver is rather similar to the 'ondemand'
211           governor both in its source code and its purpose, the difference is
212           its optimisation for better suitability in a battery powered
213           environment.  The frequency is gracefully increased and decreased
214           rather than jumping to 100% when speed is required.
215
216           If you have a desktop machine then you should really be considering
217           the 'ondemand' governor instead, however if you are using a laptop,
218           PDA or even an AMD64 based computer (due to the unacceptable
219           step-by-step latency issues between the minimum and maximum frequency
220           transitions in the CPU) you will probably want to use this governor.
221
222           To compile this driver as a module, choose M here: the
223           module will be called cpufreq_conservative.
224
225           For details, take a look at linux/Documentation/cpu-freq.
226
227           If in doubt, say N.
228
229 endif   # CPU_FREQ