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