1config 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	  To compile this driver as a module, choose M here: the
13	  module will be called cpufreq.
14
15	  For details, take a look at <file:Documentation/cpu-freq>.
16
17	  If in doubt, say N.
18
19if CPU_FREQ
20
21config CPU_FREQ_TABLE
22	tristate
23
24config CPU_FREQ_DEBUG
25	bool "Enable CPUfreq debugging"
26	help
27	  Say Y here to enable CPUfreq subsystem (including drivers)
28	  debugging. You will need to activate it via the kernel
29	  command line by passing
30	     cpufreq.debug=<value>
31
32	  To get <value>, add 
33	       1 to activate CPUfreq core debugging,
34	       2 to activate CPUfreq drivers debugging, and
35	       4 to activate CPUfreq governor debugging
36
37config CPU_FREQ_STAT
38	tristate "CPU frequency translation statistics"
39	select CPU_FREQ_TABLE
40	default y
41	help
42	  This driver exports CPU frequency statistics information through sysfs
43	  file system.
44
45	  To compile this driver as a module, choose M here: the
46	  module will be called cpufreq_stats.
47
48	  If in doubt, say N.
49
50config CPU_FREQ_STAT_DETAILS
51	bool "CPU frequency translation statistics details"
52	depends on CPU_FREQ_STAT
53	help
54	  This will show detail CPU frequency translation table in sysfs file
55	  system.
56
57	  If in doubt, say N.
58
59# Note that it is not currently possible to set the other governors (such as ondemand)
60# as the default, since if they fail to initialise, cpufreq will be
61# left in an undefined state.
62
63choice
64	prompt "Default CPUFreq governor"
65	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
66	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
67	help
68	  This option sets which CPUFreq governor shall be loaded at
69	  startup. If in doubt, select 'performance'.
70
71config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
72	bool "performance"
73	select CPU_FREQ_GOV_PERFORMANCE
74	help
75	  Use the CPUFreq governor 'performance' as default. This sets
76	  the frequency statically to the highest frequency supported by
77	  the CPU.
78
79config CPU_FREQ_DEFAULT_GOV_USERSPACE
80	bool "userspace"
81	select CPU_FREQ_GOV_USERSPACE
82	help
83	  Use the CPUFreq governor 'userspace' as default. This allows
84	  you to set the CPU frequency manually or when an userspace 
85	  program shall be able to set the CPU dynamically without having
86	  to enable the userspace governor manually.
87
88endchoice
89
90config CPU_FREQ_GOV_PERFORMANCE
91	tristate "'performance' governor"
92	help
93	  This cpufreq governor sets the frequency statically to the
94	  highest available CPU frequency.
95
96	  To compile this driver as a module, choose M here: the
97	  module will be called cpufreq_performance.
98
99	  If in doubt, say Y.
100
101config CPU_FREQ_GOV_POWERSAVE
102	tristate "'powersave' governor"
103	help
104	  This cpufreq governor sets the frequency statically to the
105	  lowest available CPU frequency.
106
107	  To compile this driver as a module, choose M here: the
108	  module will be called cpufreq_powersave.
109
110	  If in doubt, say Y.
111
112config CPU_FREQ_GOV_USERSPACE
113	tristate "'userspace' governor for userspace frequency scaling"
114	help
115	  Enable this cpufreq governor when you either want to set the
116	  CPU frequency manually or when an userspace program shall
117	  be able to set the CPU dynamically, like on LART 
118	  <http://www.lartmaker.nl/>.
119
120	  To compile this driver as a module, choose M here: the
121	  module will be called cpufreq_userspace.
122
123	  For details, take a look at <file:Documentation/cpu-freq/>.
124
125	  If in doubt, say Y.
126
127config CPU_FREQ_GOV_ONDEMAND
128	tristate "'ondemand' cpufreq policy governor"
129	select CPU_FREQ_TABLE
130	help
131	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
132	  The governor does a periodic polling and 
133	  changes frequency based on the CPU utilization.
134	  The support for this governor depends on CPU capability to
135	  do fast frequency switching (i.e, very low latency frequency
136	  transitions). 
137
138	  To compile this driver as a module, choose M here: the
139	  module will be called cpufreq_ondemand.
140
141	  For details, take a look at linux/Documentation/cpu-freq.
142
143	  If in doubt, say N.
144
145config CPU_FREQ_GOV_CONSERVATIVE
146	tristate "'conservative' cpufreq governor"
147	depends on CPU_FREQ
148	help
149	  'conservative' - this driver is rather similar to the 'ondemand'
150	  governor both in its source code and its purpose, the difference is
151	  its optimisation for better suitability in a battery powered
152	  environment.  The frequency is gracefully increased and decreased
153	  rather than jumping to 100% when speed is required.
154
155	  If you have a desktop machine then you should really be considering
156	  the 'ondemand' governor instead, however if you are using a laptop,
157	  PDA or even an AMD64 based computer (due to the unacceptable
158	  step-by-step latency issues between the minimum and maximum frequency
159	  transitions in the CPU) you will probably want to use this governor.
160
161	  To compile this driver as a module, choose M here: the
162	  module will be called cpufreq_conservative.
163
164	  For details, take a look at linux/Documentation/cpu-freq.
165
166	  If in doubt, say N.
167
168endif	# CPU_FREQ
169