battery: sec_battery: export {CURRENT/VOLTAGE}_MAX to sysfs
[GitHub/LineageOS/android_kernel_samsung_universal7580.git] / drivers / cpufreq / Kconfig
CommitLineData
bb0a56ec
DJ
1menu "CPU Frequency scaling"
2
1da177e4
LT
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
9101be53 21 tristate
1da177e4 22
1e15f295
LF
23config CPU_FREQ_GOV_COMMON
24 bool
25
1da177e4 26config CPU_FREQ_STAT
9101be53
MF
27 tristate "CPU frequency translation statistics"
28 select CPU_FREQ_TABLE
29 default y
30 help
31 This driver exports CPU frequency statistics information through sysfs
32 file system.
33
34 To compile this driver as a module, choose M here: the
35 module will be called cpufreq_stats.
36
37 If in doubt, say N.
1da177e4
LT
38
39config CPU_FREQ_STAT_DETAILS
9101be53
MF
40 bool "CPU frequency translation statistics details"
41 depends on CPU_FREQ_STAT
42 help
43 This will show detail CPU frequency translation table in sysfs file
44 system.
45
46 If in doubt, say N.
1da177e4
LT
47
48choice
49 prompt "Default CPUFreq governor"
559f56c7 50 default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
1da177e4
LT
51 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
52 help
53 This option sets which CPUFreq governor shall be loaded at
54 startup. If in doubt, select 'performance'.
55
56config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
57 bool "performance"
58 select CPU_FREQ_GOV_PERFORMANCE
59 help
60 Use the CPUFreq governor 'performance' as default. This sets
61 the frequency statically to the highest frequency supported by
62 the CPU.
63
30d221db
AG
64config CPU_FREQ_DEFAULT_GOV_POWERSAVE
65 bool "powersave"
6a108a14 66 depends on EXPERT
30d221db
AG
67 select CPU_FREQ_GOV_POWERSAVE
68 help
69 Use the CPUFreq governor 'powersave' as default. This sets
70 the frequency statically to the lowest frequency supported by
71 the CPU.
72
1da177e4
LT
73config CPU_FREQ_DEFAULT_GOV_USERSPACE
74 bool "userspace"
75 select CPU_FREQ_GOV_USERSPACE
76 help
77 Use the CPUFreq governor 'userspace' as default. This allows
0211a9c8 78 you to set the CPU frequency manually or when a userspace
1da177e4
LT
79 program shall be able to set the CPU dynamically without having
80 to enable the userspace governor manually.
81
1c256245
TR
82config CPU_FREQ_DEFAULT_GOV_ONDEMAND
83 bool "ondemand"
84 select CPU_FREQ_GOV_ONDEMAND
85 select CPU_FREQ_GOV_PERFORMANCE
86 help
87 Use the CPUFreq governor 'ondemand' as default. This allows
88 you to get a full dynamic frequency capable system by simply
89 loading your cpufreq low-level hardware driver.
90 Be aware that not all cpufreq drivers support the ondemand
91 governor. If unsure have a look at the help section of the
92 driver. Fallback governor will be the performance governor.
93
94config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
95 bool "conservative"
96 select CPU_FREQ_GOV_CONSERVATIVE
97 select CPU_FREQ_GOV_PERFORMANCE
98 help
99 Use the CPUFreq governor 'conservative' as default. This allows
100 you to get a full dynamic frequency capable system by simply
101 loading your cpufreq low-level hardware driver.
102 Be aware that not all cpufreq drivers support the conservative
103 governor. If unsure have a look at the help section of the
104 driver. Fallback governor will be the performance governor.
3c2a0909
S
105
106config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
107 bool "interactive"
108 select CPU_FREQ_GOV_INTERACTIVE
109 help
110 Use the CPUFreq governor 'interactive' as default. This allows
111 you to get a full dynamic cpu frequency capable system by simply
112 loading your cpufreq low-level hardware driver, using the
113 'interactive' governor for latency-sensitive workloads.
114
1da177e4
LT
115endchoice
116
117config CPU_FREQ_GOV_PERFORMANCE
9101be53
MF
118 tristate "'performance' governor"
119 help
1da177e4
LT
120 This cpufreq governor sets the frequency statically to the
121 highest available CPU frequency.
122
9101be53
MF
123 To compile this driver as a module, choose M here: the
124 module will be called cpufreq_performance.
125
1da177e4
LT
126 If in doubt, say Y.
127
128config CPU_FREQ_GOV_POWERSAVE
9101be53
MF
129 tristate "'powersave' governor"
130 help
1da177e4
LT
131 This cpufreq governor sets the frequency statically to the
132 lowest available CPU frequency.
133
9101be53
MF
134 To compile this driver as a module, choose M here: the
135 module will be called cpufreq_powersave.
136
1da177e4
LT
137 If in doubt, say Y.
138
139config CPU_FREQ_GOV_USERSPACE
9101be53
MF
140 tristate "'userspace' governor for userspace frequency scaling"
141 help
1da177e4 142 Enable this cpufreq governor when you either want to set the
0211a9c8 143 CPU frequency manually or when a userspace program shall
1da177e4 144 be able to set the CPU dynamically, like on LART
4c41251e 145 <http://www.lartmaker.nl/>.
1da177e4 146
9101be53
MF
147 To compile this driver as a module, choose M here: the
148 module will be called cpufreq_userspace.
149
1da177e4
LT
150 For details, take a look at <file:Documentation/cpu-freq/>.
151
152 If in doubt, say Y.
153
154config CPU_FREQ_GOV_ONDEMAND
155 tristate "'ondemand' cpufreq policy governor"
6af6e1ef 156 select CPU_FREQ_TABLE
1e15f295 157 select CPU_FREQ_GOV_COMMON
1da177e4
LT
158 help
159 'ondemand' - This driver adds a dynamic cpufreq policy governor.
160 The governor does a periodic polling and
161 changes frequency based on the CPU utilization.
162 The support for this governor depends on CPU capability to
163 do fast frequency switching (i.e, very low latency frequency
164 transitions).
165
9101be53
MF
166 To compile this driver as a module, choose M here: the
167 module will be called cpufreq_ondemand.
168
1da177e4
LT
169 For details, take a look at linux/Documentation/cpu-freq.
170
171 If in doubt, say N.
172
3c2a0909
S
173config CPU_FREQ_GOV_INTERACTIVE
174 tristate "'interactive' cpufreq policy governor"
175 help
176 'interactive' - This driver adds a dynamic cpufreq policy governor
177 designed for latency-sensitive workloads.
178
179 This governor attempts to reduce the latency of clock
180 increases so that the system is more responsive to
181 interactive workloads.
182
183 To compile this driver as a module, choose M here: the
184 module will be called cpufreq_interactive.
185
186 For details, take a look at linux/Documentation/cpu-freq.
187
188 If in doubt, say N.
189
b9170836
DJ
190config CPU_FREQ_GOV_CONSERVATIVE
191 tristate "'conservative' cpufreq governor"
192 depends on CPU_FREQ
1e15f295 193 select CPU_FREQ_GOV_COMMON
b9170836
DJ
194 help
195 'conservative' - this driver is rather similar to the 'ondemand'
196 governor both in its source code and its purpose, the difference is
197 its optimisation for better suitability in a battery powered
198 environment. The frequency is gracefully increased and decreased
199 rather than jumping to 100% when speed is required.
200
201 If you have a desktop machine then you should really be considering
202 the 'ondemand' governor instead, however if you are using a laptop,
203 PDA or even an AMD64 based computer (due to the unacceptable
204 step-by-step latency issues between the minimum and maximum frequency
205 transitions in the CPU) you will probably want to use this governor.
206
9101be53
MF
207 To compile this driver as a module, choose M here: the
208 module will be called cpufreq_conservative.
209
b9170836
DJ
210 For details, take a look at linux/Documentation/cpu-freq.
211
212 If in doubt, say N.
213
95ceafd4 214config GENERIC_CPUFREQ_CPU0
5553f9e2 215 tristate "Generic CPU0 cpufreq driver"
95ceafd4
SG
216 depends on HAVE_CLK && REGULATOR && PM_OPP && OF
217 select CPU_FREQ_TABLE
218 help
219 This adds a generic cpufreq driver for CPU0 frequency management.
220 It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
221 systems which share clock and voltage across all CPUs.
222
223 If in doubt, say N.
224
bb0a56ec
DJ
225menu "x86 CPU frequency scaling drivers"
226depends on X86
227source "drivers/cpufreq/Kconfig.x86"
228endmenu
229
f7d77079 230menu "ARM CPU frequency scaling drivers"
3c2a0909 231depends on ARM || ARM64
f7d77079
KK
232source "drivers/cpufreq/Kconfig.arm"
233endmenu
234
81c720c9
VK
235menu "AVR32 CPU frequency scaling drivers"
236depends on AVR32
237
238config AVR32_AT32AP_CPUFREQ
239 bool "CPU frequency driver for AT32AP"
240 depends on PLATFORM_AT32AP
241 default n
242 help
243 This enables the CPU frequency driver for AT32AP processors.
244 If in doubt, say N.
245
246endmenu
247
ab423e43
VK
248menu "CPUFreq processor drivers"
249depends on IA64
250
251config IA64_ACPI_CPUFREQ
252 tristate "ACPI Processor P-States driver"
253 select CPU_FREQ_TABLE
254 depends on ACPI_PROCESSOR
255 help
256 This driver adds a CPUFreq driver which utilizes the ACPI
257 Processor Performance States.
258
259 For details, take a look at <file:Documentation/cpu-freq/>.
260
261 If in doubt, say N.
262
263endmenu
264
7a998935
VK
265menu "MIPS CPUFreq processor drivers"
266depends on MIPS
267
268config LOONGSON2_CPUFREQ
269 tristate "Loongson2 CPUFreq Driver"
270 select CPU_FREQ_TABLE
271 help
272 This option adds a CPUFreq driver for loongson processors which
273 support software configurable cpu frequency.
274
275 Loongson2F and it's successors support this feature.
276
277 For details, take a look at <file:Documentation/cpu-freq/>.
278
279 If in doubt, say N.
280
281endmenu
282
5d8c6658
DES
283menu "PowerPC CPU frequency scaling drivers"
284depends on PPC32 || PPC64
285source "drivers/cpufreq/Kconfig.powerpc"
286endmenu
287
764295ae
VK
288menu "SPARC CPU frequency scaling drivers"
289depends on SPARC64
290config SPARC_US3_CPUFREQ
291 tristate "UltraSPARC-III CPU Frequency driver"
292 select CPU_FREQ_TABLE
293 help
294 This adds the CPUFreq driver for UltraSPARC-III processors.
295
296 For details, take a look at <file:Documentation/cpu-freq>.
297
298 If in doubt, say N.
299
300config SPARC_US2E_CPUFREQ
301 tristate "UltraSPARC-IIe CPU Frequency driver"
302 select CPU_FREQ_TABLE
303 help
304 This adds the CPUFreq driver for UltraSPARC-IIe processors.
305
306 For details, take a look at <file:Documentation/cpu-freq>.
307
308 If in doubt, say N.
309endmenu
310
7258267e
VK
311menu "SH CPU Frequency scaling"
312depends on SUPERH
313config SH_CPU_FREQ
314 tristate "SuperH CPU Frequency driver"
315 select CPU_FREQ_TABLE
316 help
317 This adds the cpufreq driver for SuperH. Any CPU that supports
318 clock rate rounding through the clock framework can use this
319 driver. While it will make the kernel slightly larger, this is
320 harmless for CPUs that don't support rate rounding. The driver
321 will also generate a notice in the boot log before disabling
322 itself if the CPU in question is not capable of rate rounding.
323
324 For details, take a look at <file:Documentation/cpu-freq>.
325
326 If unsure, say N.
327endmenu
328
bb0a56ec
DJ
329endif
330endmenu