2 menu "Kernel Configurations"
4 menu "MTK Cluster MultiProcessor Scheduler"
6 bool "Enable CMP scheduler"
7 depends on SMP && SCHED_MC
10 CMP Scheduler Enhancement for MTK SoC.
11 Attempts to introspectively select tasks to optimize
12 energy and performance.
15 config MTK_SCHED_CMP_TGS
16 bool "Enable thread group scheduling"
17 depends on MTK_SCHED_CMP
20 config MTK_SCHED_CMP_TGS_WAKEUP
21 bool "Enable thread group scheduling"
22 depends on MTK_SCHED_CMP_TGS
25 config MTK_SCHED_CMP_PACK_SMALL_TASK
26 bool "Packing small task"
27 depends on MTK_SCHED_CMP && MTK_SCHED_CMP_TGS
30 config MTK_SCHED_CMP_LAZY_BALANCE
31 bool "Enable CMP lazy balance"
32 depends on MTK_SCHED_CMP_PACK_SMALL_TASK
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
39 Power-aware scheduler for MP controller and status interface
43 config MTK_SCHED_TRACERS
44 bool "MTK Sched Tracers"
46 select CONTEXT_SWITCH_TRACER
49 Trace context swicth, set_scheduler, Interrupt Handler
51 config MTK_FTRACE_DEFAULT_ENABLE
52 bool "enable MTK events by default"
53 depends on MTK_SCHED_TRACERS
56 update ring buffer and enable MTK events by default
58 config MTK_KERNEL_MARKER
59 bool "MTK Kernel Marker API"
60 depends on TRACING && KALLSYMS
63 Mark the user-defined points, such as systrace events in
64 user space, to visualize via systrace html files
66 config FUNCTION_DURATION_TRACER
67 bool "Kernel Function Duration Tracer"
68 depends on FUNCTION_GRAPH_TRACER
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
76 select CONTEXT_SWITCH_TRACER
81 bool "Scheduler Switch Tracer"
86 tristate "MET core driver"
89 The core module of MTK MET profiling tool
92 tristate "MET platform-related driver"
96 The platform module of MTK MET profiling tool
105 bool "Support some MTK debug/profiling patches"
108 config MTPROF_CPUTIME
109 bool "thread cputime profiling"
110 depends on SCHEDSTATS
114 config MTPROF_IRQ_DURATION
115 bool "mt IRQ/ISR profiling"
117 config MTK_AEE_FEATURE
118 tristate "Enable Android Exception Enhancement"
120 select FIQ_GLUE if !TRUSTONIC_TEE_SUPPORT && !ARM_PSCI
122 Enable Android Exception Enhancement
125 tristate "Enable AEE Kernel Exception Report Daemon"
128 config MTK_AEE_IPANIC
129 tristate "Enable AEE Kernel Panic Dump"
132 config MTK_AEE_POWERKEY_HANG_DETECT
133 bool "powerkey monitor"
136 config MTK_AEE_MRDUMP
137 tristate "Enable AEE RAMDUMP support"
141 tristate "Virutally continuous memory allocator"
144 config CPUTIME_SUPPORT
145 bool "cputime profiling support for functions"
149 tristate "cputime profiling module for functions"
150 select CPUTIME_SUPPORT
153 config MTK_RAM_CONSOLE
154 bool "mt ram console"
156 config MTK_RAM_CONSOLE_USING_SRAM
157 bool "Using SRAM as ram console storage"
158 depends on MTK_RAM_CONSOLE
160 config MTK_RAM_CONSOLE_USING_DRAM
161 bool "Using DRAM as ram console storage"
162 depends on MTK_RAM_CONSOLE
164 config MTK_RAM_CONSOLE_SIZE
165 hex "MTK RAM console address"
167 depends on MTK_RAM_CONSOLE
169 config MTK_RAM_CONSOLE_ADDR
170 hex "MTK RAM console buffer size"
172 depends on MTK_RAM_CONSOLE
174 config MTK_RAM_CONSOLE_DRAM_SIZE
175 hex "MTK RAM console dram address"
177 depends on MTK_RAM_CONSOLE
179 config MTK_RAM_CONSOLE_DRAM_ADDR
180 hex "MTK RAM console dram size"
182 depends on MTK_RAM_CONSOLE
184 config PREEMPT_MONITOR
185 bool "mt preempt monitor"
189 bool "mt ISR monitor"
192 config MT_SCHED_MONITOR
193 bool "mt scheduler monitor"
197 bool "mt char driver number table"
201 bool "Record lock table and detect some possible deadlock"
204 config MT_DEBUG_MUTEXES
205 bool "show mutex owner info"
206 depends on DEBUG_MUTEXES
209 config PRINTK_PROCESS_INFO
210 bool "Prefix pid/process_name to each kernel log"
213 config MT_PRINTK_UART_CONSOLE
214 bool "MTK printk UART controller"
218 bool "flag for MTK eng/usr build verification"
221 config RAMDISK_OFFSET
222 hex "Uboot allocate memory offset for RAMDISK"
225 Used to check decompressed kernel overwrite ramdisk.
226 (DO NOT MODIFY IT YOURSELF.)
228 config EARLY_LINUX_PORTING
229 bool "Support For Linux Early Porting"
234 bool "Support For Memory coherence"
239 bool "Support For Embedded Trace Macrocell"
244 bool "Support enhanced memory configurations"
248 menu "MT load balance and schedule enhancement"
250 bool "Enhance CPU affinity in hotplug"
253 config MT_LOAD_BALANCE_ENHANCEMENT
254 bool "mt load balance enhancement"
257 config MT_LOAD_BALANCE_PROFILER
258 bool "mt load balance profiler"
259 depends on SCHEDSTATS && SMP
261 config MT_SCHED_NOTICE
262 bool "mt scheduling log, output important log into FTRACE, ftrace event: sched_log, default ENABLE"
265 bool "mt scheduling log, output detail flow info info FTRACE, ftrace event: sched_log"
266 depends on MT_SCHED_NOTICE
268 config MT_SCHED_DEBUG
269 bool "mt scheduling log, also output the scheduling log into Kernel log"
270 depends on MT_SCHED_NOTICE
273 bool "fast mode switching"
280 bool "Support For System CIRQ"
284 config MTK_CPU_TOPOLOGY
285 bool "MTK cpu topology infrastructure"
286 depends on ARM_CPU_TOPOLOGY && OF
289 Say N if you want to build up another wheel
291 config MTK_HIBERNATION
292 bool "Support MTK hibernation"
293 depends on HIBERNATION && PM_WAKELOCKS
297 config MT_PRIO_TRACER
298 bool "Record priority changes"
301 Export device node under debugfs/prio_tracer
304 bool "mtk workqueue debug"
307 config MTK_SCHED_RQAVG_US
308 bool "Enable runqueue staticsic calculation used in user space operation"
312 TLP estimation for user space CPUfreq governors
314 config MTK_SCHED_RQAVG_KS
315 bool "Enable runqueue staticsic calculation used in kernel space operation"
319 TLP estimation for kernel space CPUfreq governors, e.g., hotplug
321 config MTK_STORAGE_PID_LOGGER
322 bool "support MTK storage pid logger"
326 menu "MTK Large Memory mode support"
328 bool "MTK Large Memory mode"
330 select ARCH_PHYS_ADDR_T_64BIT
331 select ARCH_DMA_ADDR_T_64BIT
333 Large Memory mode support for supporting more than 4GB DRAM access
336 config MTK_TABLET_HARDWARE
337 bool "MTK tablet machine name"
340 MTM tablet machine name
343 tristate "DS-5 profiling tool kernel driver"
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)
352 kernel driver of DS-5 profiling tool
354 config MTK_IPV6_TETHER_NDP_MODE
355 bool "MTK_IPV6_TETHER_NDP_MODE"
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
361 config MTK_EMMC_SUPPORT_OTP
362 tristate "MediaTek eMMC Card OTP support"
363 depends on MTK_EMMC_SUPPORT
365 support ont time program on EMMC
367 config MTK_TETHERINGIPV6_SUPPORT
368 bool "MTK_TETHERINGIPV6_SUPPORT"
370 support tethering over ipv6