• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1menu "CPU Frequency scaling"
2
3config 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
21	tristate
22
23config CPU_FREQ_STAT
24	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.
35
36config CPU_FREQ_STAT_DETAILS
37	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.
44
45choice
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
61config CPU_FREQ_DEFAULT_GOV_POWERSAVE
62	bool "powersave"
63	depends on EXPERT
64	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
70config 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
75	  you to set the CPU frequency manually or when a userspace
76	  program shall be able to set the CPU dynamically without having
77	  to enable the userspace governor manually.
78
79config 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.
102
103config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
104	bool "interactive"
105	select CPU_FREQ_GOV_INTERACTIVE
106	help
107	  Use the CPUFreq governor 'interactive' as default. This allows
108	  you to get a full dynamic cpu frequency capable system by simply
109	  loading your cpufreq low-level hardware driver, using the
110	  'interactive' governor for latency-sensitive workloads.
111
112endchoice
113
114config CPU_FREQ_GOV_PERFORMANCE
115	tristate "'performance' governor"
116	help
117	  This cpufreq governor sets the frequency statically to the
118	  highest available CPU frequency.
119
120	  To compile this driver as a module, choose M here: the
121	  module will be called cpufreq_performance.
122
123	  If in doubt, say Y.
124
125config CPU_FREQ_GOV_POWERSAVE
126	tristate "'powersave' governor"
127	help
128	  This cpufreq governor sets the frequency statically to the
129	  lowest available CPU frequency.
130
131	  To compile this driver as a module, choose M here: the
132	  module will be called cpufreq_powersave.
133
134	  If in doubt, say Y.
135
136config CPU_FREQ_GOV_USERSPACE
137	tristate "'userspace' governor for userspace frequency scaling"
138	help
139	  Enable this cpufreq governor when you either want to set the
140	  CPU frequency manually or when a userspace program shall
141	  be able to set the CPU dynamically, like on LART
142	  <http://www.lartmaker.nl/>.
143
144	  To compile this driver as a module, choose M here: the
145	  module will be called cpufreq_userspace.
146
147	  For details, take a look at <file:Documentation/cpu-freq/>.
148
149	  If in doubt, say Y.
150
151config CPU_FREQ_GOV_ONDEMAND
152	tristate "'ondemand' cpufreq policy governor"
153	select CPU_FREQ_TABLE
154	help
155	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
156	  The governor does a periodic polling and
157	  changes frequency based on the CPU utilization.
158	  The support for this governor depends on CPU capability to
159	  do fast frequency switching (i.e, very low latency frequency
160	  transitions).
161
162	  To compile this driver as a module, choose M here: the
163	  module will be called cpufreq_ondemand.
164
165	  For details, take a look at linux/Documentation/cpu-freq.
166
167	  If in doubt, say N.
168
169config CPU_FREQ_GOV_INTERACTIVE
170	tristate "'interactive' cpufreq policy governor"
171	help
172	  'interactive' - This driver adds a dynamic cpufreq policy governor
173	  designed for latency-sensitive workloads.
174
175	  This governor attempts to reduce the latency of clock
176	  increases so that the system is more responsive to
177	  interactive workloads.
178
179	  To compile this driver as a module, choose M here: the
180	  module will be called cpufreq_interactive.
181
182	  For details, take a look at linux/Documentation/cpu-freq.
183
184	  If in doubt, say N.
185
186config CPU_FREQ_GOV_CONSERVATIVE
187	tristate "'conservative' cpufreq governor"
188	depends on CPU_FREQ
189	help
190	  'conservative' - this driver is rather similar to the 'ondemand'
191	  governor both in its source code and its purpose, the difference is
192	  its optimisation for better suitability in a battery powered
193	  environment.  The frequency is gracefully increased and decreased
194	  rather than jumping to 100% when speed is required.
195
196	  If you have a desktop machine then you should really be considering
197	  the 'ondemand' governor instead, however if you are using a laptop,
198	  PDA or even an AMD64 based computer (due to the unacceptable
199	  step-by-step latency issues between the minimum and maximum frequency
200	  transitions in the CPU) you will probably want to use this governor.
201
202	  To compile this driver as a module, choose M here: the
203	  module will be called cpufreq_conservative.
204
205	  For details, take a look at linux/Documentation/cpu-freq.
206
207	  If in doubt, say N.
208
209menu "x86 CPU frequency scaling drivers"
210depends on X86
211source "drivers/cpufreq/Kconfig.x86"
212endmenu
213
214menu "ARM CPU frequency scaling drivers"
215depends on ARM
216source "drivers/cpufreq/Kconfig.arm"
217endmenu
218
219menu "PowerPC CPU frequency scaling drivers"
220depends on PPC32 || PPC64
221source "drivers/cpufreq/Kconfig.powerpc"
222endmenu
223
224endif
225endmenu
226