import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / Kconfig.kernel
1 # TODO naming refine
2 menu "Kernel Configurations"
3
4 menu "MTK Cluster MultiProcessor Scheduler"
5 config MTK_SCHED_CMP
6 bool "Enable CMP scheduler"
7 depends on SMP && SCHED_MC
8 default n
9 help
10 CMP Scheduler Enhancement for MTK SoC.
11 Attempts to introspectively select tasks to optimize
12 energy and performance.
13 say no if not sure.
14
15 config MTK_SCHED_CMP_TGS
16 bool "Enable thread group scheduling"
17 depends on MTK_SCHED_CMP
18 default n
19
20 config MTK_SCHED_CMP_TGS_WAKEUP
21 bool "Enable thread group scheduling"
22 depends on MTK_SCHED_CMP_TGS
23 default n
24
25 config MTK_SCHED_CMP_PACK_SMALL_TASK
26 bool "Packing small task"
27 depends on MTK_SCHED_CMP && MTK_SCHED_CMP_TGS
28 default n
29
30 config MTK_SCHED_CMP_LAZY_BALANCE
31 bool "Enable CMP lazy balance"
32 depends on MTK_SCHED_CMP_PACK_SMALL_TASK
33 default n
34
35 config MTK_SCHED_CMP_POWER_AWARE_CONTROLLER
36 bool "(EXPERIMENTAL) Power-aware Scheduler for MP Controller"
37 depends on MTK_SCHED_CMP_PACK_SMALL_TASK && MTK_SCHED_CMP_LAZY_BALANCE
38 help
39 Power-aware scheduler for MP controller and status interface
40 endmenu
41
42 menu "Tracer Related"
43 config MTK_SCHED_TRACERS
44 bool "MTK Sched Tracers"
45 depends on TRACING
46 select CONTEXT_SWITCH_TRACER
47 default n
48 help
49 Trace context swicth, set_scheduler, Interrupt Handler
50
51 config MTK_FTRACE_DEFAULT_ENABLE
52 bool "enable MTK events by default"
53 depends on MTK_SCHED_TRACERS
54 default n
55 help
56 update ring buffer and enable MTK events by default
57
58 config MTK_KERNEL_MARKER
59 bool "MTK Kernel Marker API"
60 depends on TRACING && KALLSYMS
61 default n
62 help
63 Mark the user-defined points, such as systrace events in
64 user space, to visualize via systrace html files
65
66 config FUNCTION_DURATION_TRACER
67 bool "Kernel Function Duration Tracer"
68 depends on FUNCTION_GRAPH_TRACER
69 help
70 Enable the kernel to record function durations, with
71 filtering. Can also be used in early startup.
72 See Documentation/trace/func-duration.txt
73
74 config MT65XX_TRACER
75 bool "MT65XX Tracer"
76 select CONTEXT_SWITCH_TRACER
77 select GENERIC_TRACER
78 default n
79
80 config GENERIC_TRACER
81 bool "Scheduler Switch Tracer"
82
83 menu "MET"
84
85 config MTK_MET
86 tristate "MET core driver"
87 default n
88 help
89 The core module of MTK MET profiling tool
90
91 config MTK_MET_PLF
92 tristate "MET platform-related driver"
93 depends on MTK_MET
94 default n
95 help
96 The platform module of MTK MET profiling tool
97
98 endmenu
99
100 endmenu
101
102 menu "MTPROF tools"
103
104 config MTK_MUTATION
105 bool "Support some MTK debug/profiling patches"
106 default y
107
108 config MTPROF_CPUTIME
109 bool "thread cputime profiling"
110 depends on SCHEDSTATS
111
112 endmenu
113
114 config MTPROF_IRQ_DURATION
115 bool "mt IRQ/ISR profiling"
116
117 config MTK_AEE_FEATURE
118 tristate "Enable Android Exception Enhancement"
119 default n
120 select FIQ_GLUE if !TRUSTONIC_TEE_SUPPORT && !ARM_PSCI
121 ---help---
122 Enable Android Exception Enhancement
123
124 config MTK_AEE_AED
125 tristate "Enable AEE Kernel Exception Report Daemon"
126 default y
127
128 config MTK_AEE_IPANIC
129 tristate "Enable AEE Kernel Panic Dump"
130 default y
131
132 config MTK_AEE_POWERKEY_HANG_DETECT
133 bool "powerkey monitor"
134 default n
135
136 config MTK_AEE_MRDUMP
137 tristate "Enable AEE RAMDUMP support"
138 default y
139
140 config ANDROID_VMEM
141 tristate "Virutally continuous memory allocator"
142 default y
143
144 config CPUTIME_SUPPORT
145 bool "cputime profiling support for functions"
146 default n
147
148 config CPUTIME_STATS
149 tristate "cputime profiling module for functions"
150 select CPUTIME_SUPPORT
151 default n
152
153 config MTK_RAM_CONSOLE
154 bool "mt ram console"
155
156 config MTK_RAM_CONSOLE_USING_SRAM
157 bool "Using SRAM as ram console storage"
158 depends on MTK_RAM_CONSOLE
159
160 config MTK_RAM_CONSOLE_USING_DRAM
161 bool "Using DRAM as ram console storage"
162 depends on MTK_RAM_CONSOLE
163
164 config MTK_RAM_CONSOLE_SIZE
165 hex "MTK RAM console address"
166 default 0
167 depends on MTK_RAM_CONSOLE
168
169 config MTK_RAM_CONSOLE_ADDR
170 hex "MTK RAM console buffer size"
171 default 0
172 depends on MTK_RAM_CONSOLE
173
174 config MTK_RAM_CONSOLE_DRAM_SIZE
175 hex "MTK RAM console dram address"
176 default 0
177 depends on MTK_RAM_CONSOLE
178
179 config MTK_RAM_CONSOLE_DRAM_ADDR
180 hex "MTK RAM console dram size"
181 default 0
182 depends on MTK_RAM_CONSOLE
183
184 config PREEMPT_MONITOR
185 bool "mt preempt monitor"
186 default n
187
188 config ISR_MONITOR
189 bool "mt ISR monitor"
190 default n
191
192 config MT_SCHED_MONITOR
193 bool "mt scheduler monitor"
194 default n
195
196 config MT_CHRDEV_REG
197 bool "mt char driver number table"
198 default n
199
200 config MT_LOCK_DEBUG
201 bool "Record lock table and detect some possible deadlock"
202 default n
203
204 config MT_DEBUG_MUTEXES
205 bool "show mutex owner info"
206 depends on DEBUG_MUTEXES
207 default n
208
209 config PRINTK_PROCESS_INFO
210 bool "Prefix pid/process_name to each kernel log"
211 default n
212
213 config MT_PRINTK_UART_CONSOLE
214 bool "MTK printk UART controller"
215 default n
216
217 config MT_ENG_BUILD
218 bool "flag for MTK eng/usr build verification"
219 default n
220
221 config RAMDISK_OFFSET
222 hex "Uboot allocate memory offset for RAMDISK"
223 default 0xF00000
224 help
225 Used to check decompressed kernel overwrite ramdisk.
226 (DO NOT MODIFY IT YOURSELF.)
227
228 config EARLY_LINUX_PORTING
229 bool "Support For Linux Early Porting"
230 default n
231 help
232
233 config MTK_MCI
234 bool "Support For Memory coherence"
235 default n
236 help
237
238 config MTK_ETM
239 bool "Support For Embedded Trace Macrocell"
240 default y
241 help
242
243 config MTK_MEMCFG
244 bool "Support enhanced memory configurations"
245 default n
246 help
247
248 menu "MT load balance and schedule enhancement"
249 config MT_SCHED
250 bool "Enhance CPU affinity in hotplug"
251 depends on HOTPLUG
252
253 config MT_LOAD_BALANCE_ENHANCEMENT
254 bool "mt load balance enhancement"
255 depends on SMP
256
257 config MT_LOAD_BALANCE_PROFILER
258 bool "mt load balance profiler"
259 depends on SCHEDSTATS && SMP
260
261 config MT_SCHED_NOTICE
262 bool "mt scheduling log, output important log into FTRACE, ftrace event: sched_log, default ENABLE"
263
264 config MT_SCHED_INFO
265 bool "mt scheduling log, output detail flow info info FTRACE, ftrace event: sched_log"
266 depends on MT_SCHED_NOTICE
267
268 config MT_SCHED_DEBUG
269 bool "mt scheduling log, also output the scheduling log into Kernel log"
270 depends on MT_SCHED_NOTICE
271
272 config MTK_COMPAT
273 bool "fast mode switching"
274 depends on COMPAT
275 default n
276
277 endmenu
278
279 config MTK_CIRQ
280 bool "Support For System CIRQ"
281 default n
282 help
283
284 config MTK_CPU_TOPOLOGY
285 bool "MTK cpu topology infrastructure"
286 depends on ARM_CPU_TOPOLOGY && OF
287 default y
288 help
289 Say N if you want to build up another wheel
290
291 config MTK_HIBERNATION
292 bool "Support MTK hibernation"
293 depends on HIBERNATION && PM_WAKELOCKS
294 default y
295 help
296
297 config MT_PRIO_TRACER
298 bool "Record priority changes"
299 default n
300 help
301 Export device node under debugfs/prio_tracer
302
303 config MTK_WQ_DEBUG
304 bool "mtk workqueue debug"
305 default n
306
307 config MTK_SCHED_RQAVG_US
308 bool "Enable runqueue staticsic calculation used in user space operation"
309 depends on SMP
310 default n
311 help
312 TLP estimation for user space CPUfreq governors
313
314 config MTK_SCHED_RQAVG_KS
315 bool "Enable runqueue staticsic calculation used in kernel space operation"
316 depends on SMP
317 default n
318 help
319 TLP estimation for kernel space CPUfreq governors, e.g., hotplug
320
321 config MTK_STORAGE_PID_LOGGER
322 bool "support MTK storage pid logger"
323 default y
324 endmenu
325
326 menu "MTK Large Memory mode support"
327 config MTK_LM_MODE
328 bool "MTK Large Memory mode"
329 select ARM_LPAE
330 select ARCH_PHYS_ADDR_T_64BIT
331 select ARCH_DMA_ADDR_T_64BIT
332 help
333 Large Memory mode support for supporting more than 4GB DRAM access
334 endmenu
335
336 config MTK_TABLET_HARDWARE
337 bool "MTK tablet machine name"
338 default n
339 help
340 MTM tablet machine name
341
342 config GATOR_DRIVER
343 tristate "DS-5 profiling tool kernel driver"
344 default n
345 depends on PROFILING
346 depends on HIGH_RES_TIMERS
347 depends on LOCAL_TIMERS || !(ARM && SMP)
348 depends on PERF_EVENTS
349 depends on HW_PERF_EVENTS || !(ARM || ARM64)
350 select TRACING
351 help
352 kernel driver of DS-5 profiling tool
353
354 config MTK_IPV6_TETHER_NDP_MODE
355 bool "MTK_IPV6_TETHER_NDP_MODE"
356 help
357 is NDP mode or RADVD mode during IPv6 tethering yes: enable NDP
358 mode during IPv6 tethering no: disable enable NDP mode during IPv6
359 tethering
360
361 config MTK_EMMC_SUPPORT_OTP
362 tristate "MediaTek eMMC Card OTP support"
363 depends on MTK_EMMC_SUPPORT
364 help
365 support ont time program on EMMC
366
367 config MTK_TETHERINGIPV6_SUPPORT
368 bool "MTK_TETHERINGIPV6_SUPPORT"
369 help
370 support tethering over ipv6
371