xref: /linux/drivers/cpufreq/Kconfig (revision 96de0e252cedffad61b3cb5e05662c591898e69a)
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
59choice
60	prompt "Default CPUFreq governor"
61	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
62	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
63	help
64	  This option sets which CPUFreq governor shall be loaded at
65	  startup. If in doubt, select 'performance'.
66
67config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
68	bool "performance"
69	select CPU_FREQ_GOV_PERFORMANCE
70	help
71	  Use the CPUFreq governor 'performance' as default. This sets
72	  the frequency statically to the highest frequency supported by
73	  the CPU.
74
75config CPU_FREQ_DEFAULT_GOV_USERSPACE
76	bool "userspace"
77	select CPU_FREQ_GOV_USERSPACE
78	help
79	  Use the CPUFreq governor 'userspace' as default. This allows
80	  you to set the CPU frequency manually or when an userspace
81	  program shall be able to set the CPU dynamically without having
82	  to enable the userspace governor manually.
83
84config CPU_FREQ_DEFAULT_GOV_ONDEMAND
85	bool "ondemand"
86	select CPU_FREQ_GOV_ONDEMAND
87	select CPU_FREQ_GOV_PERFORMANCE
88	help
89	  Use the CPUFreq governor 'ondemand' as default. This allows
90	  you to get a full dynamic frequency capable system by simply
91	  loading your cpufreq low-level hardware driver.
92	  Be aware that not all cpufreq drivers support the ondemand
93	  governor. If unsure have a look at the help section of the
94	  driver. Fallback governor will be the performance governor.
95
96config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
97	bool "conservative"
98	select CPU_FREQ_GOV_CONSERVATIVE
99	select CPU_FREQ_GOV_PERFORMANCE
100	help
101	  Use the CPUFreq governor 'conservative' as default. This allows
102	  you to get a full dynamic frequency capable system by simply
103	  loading your cpufreq low-level hardware driver.
104	  Be aware that not all cpufreq drivers support the conservative
105	  governor. If unsure have a look at the help section of the
106	  driver. Fallback governor will be the performance governor.
107endchoice
108
109config CPU_FREQ_GOV_PERFORMANCE
110	tristate "'performance' governor"
111	help
112	  This cpufreq governor sets the frequency statically to the
113	  highest available CPU frequency.
114
115	  To compile this driver as a module, choose M here: the
116	  module will be called cpufreq_performance.
117
118	  If in doubt, say Y.
119
120config CPU_FREQ_GOV_POWERSAVE
121	tristate "'powersave' governor"
122	help
123	  This cpufreq governor sets the frequency statically to the
124	  lowest available CPU frequency.
125
126	  To compile this driver as a module, choose M here: the
127	  module will be called cpufreq_powersave.
128
129	  If in doubt, say Y.
130
131config CPU_FREQ_GOV_USERSPACE
132	tristate "'userspace' governor for userspace frequency scaling"
133	help
134	  Enable this cpufreq governor when you either want to set the
135	  CPU frequency manually or when an userspace program shall
136	  be able to set the CPU dynamically, like on LART
137	  <http://www.lartmaker.nl/>.
138
139	  To compile this driver as a module, choose M here: the
140	  module will be called cpufreq_userspace.
141
142	  For details, take a look at <file:Documentation/cpu-freq/>.
143
144	  If in doubt, say Y.
145
146config CPU_FREQ_GOV_ONDEMAND
147	tristate "'ondemand' cpufreq policy governor"
148	select CPU_FREQ_TABLE
149	help
150	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
151	  The governor does a periodic polling and
152	  changes frequency based on the CPU utilization.
153	  The support for this governor depends on CPU capability to
154	  do fast frequency switching (i.e, very low latency frequency
155	  transitions).
156
157	  To compile this driver as a module, choose M here: the
158	  module will be called cpufreq_ondemand.
159
160	  For details, take a look at linux/Documentation/cpu-freq.
161
162	  If in doubt, say N.
163
164config CPU_FREQ_GOV_CONSERVATIVE
165	tristate "'conservative' cpufreq governor"
166	depends on CPU_FREQ
167	help
168	  'conservative' - this driver is rather similar to the 'ondemand'
169	  governor both in its source code and its purpose, the difference is
170	  its optimisation for better suitability in a battery powered
171	  environment.  The frequency is gracefully increased and decreased
172	  rather than jumping to 100% when speed is required.
173
174	  If you have a desktop machine then you should really be considering
175	  the 'ondemand' governor instead, however if you are using a laptop,
176	  PDA or even an AMD64 based computer (due to the unacceptable
177	  step-by-step latency issues between the minimum and maximum frequency
178	  transitions in the CPU) you will probably want to use this governor.
179
180	  To compile this driver as a module, choose M here: the
181	  module will be called cpufreq_conservative.
182
183	  For details, take a look at linux/Documentation/cpu-freq.
184
185	  If in doubt, say N.
186
187endif	# CPU_FREQ
188