forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Kconfig
251 lines (208 loc) · 5.87 KB
/
Kconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# SPDX-License-Identifier: BSD-3-Clause
mainmenu "SOF $(PROJECTVERSION) Configuration"
comment "Compiler: $(CC_VERSION_TEXT)"
config WAITI_DELAY
bool
default n
help
LX6 Xtensa platforms may require additional delay to flush loads
and stores before entering WAITI.
config HOST_PTABLE
bool
default n
config BOOT_LOADER
bool
default n
config HAVE_RESET_VECTOR_ROM
bool
default n
help
Select if your platform has the reset vector
in ROM.
config IRQ_MAP
bool
default n
config DMA_GW
bool
default n
config MEM_WND
bool
default n
config INTEL_IOMUX
bool
default n
config HW_LLI
bool
default n
help
Hardware linked list is the DW-DMA feature, which allows
to automatically reload the next programmed linked list
item from memory without stopping the transfer. Without
it the transfer stops after every lli read and FW needs
to manually setup the next transfer.
Any platforms with hardware linked list support
should set this.
config DW_DMA_AGGREGATED_IRQ
bool
default n
help
Some platforms cannot register interrupt per DW-DMA channel
and have the possibility only to register interrupts per
DMA controller, which require manual handling of aggregated
irq.
Any platforms with DW-DMA aggregated interrupts support
should set this.
config DMA_SUSPEND_DRAIN
bool
default n
help
Some platforms cannot just simple disable DMA
channel during the transfer, because it will
hang the whole DMA controller. Instead we can
suspend the channel and drain the FIFO in order
to stop the channel as soon as possible.
Any platforms without the ability to disable
the DMA channel right away should set this.
config DMA_FIFO_PARTITION
bool
default n
help
Some platforms require to manually set DMA
FIFO partitions before starting any transfer.
Any platforms without automatic FIFO partitions
should set this.
config INTERRUPT_LEVEL_1
bool
default n
help
Select if the platform supports any interrupts of level 1.
Disabling this option allows for less memory consumption.
config INTERRUPT_LEVEL_2
bool
default n
help
Select if the platform supports any interrupts of level 2.
Disabling this option allows for less memory consumption.
config INTERRUPT_LEVEL_3
bool
default n
help
Select if the platform supports any interrupts of level 3.
Disabling this option allows for less memory consumption.
config INTERRUPT_LEVEL_4
bool
default n
help
Select if the platform supports any interrupts of level 4.
Disabling this option allows for less memory consumption.
config INTERRUPT_LEVEL_5
bool
default n
help
Select if the platform supports any interrupts of level 5.
Disabling this option allows for less memory consumption.
rsource "src/Kconfig"
choice
prompt "Optimization"
default OPTIMIZE_FOR_PERFORMANCE
help
Controls how compiler should optimize binary.
This config should affect only compiler settings and is
not meant to be used for conditional compilation of code.
config OPTIMIZE_FOR_PERFORMANCE
bool "Optimize for performance"
help
Apply compiler optimizations prioritizing performance.
It means -O2 for GCC or equivalent for other compilers.
config OPTIMIZE_FOR_SIZE
bool "Optimize for size"
help
Apply compiler optimizations prioritizing binary size.
It means -Os for GCC or equivalent for other compilers.
config OPTIMIZE_FOR_DEBUG
bool "Optimize for debug"
help
Apply compiler optimizations prioritizing debugging experience.
It means -Og for GCC or equivalent for other compilers.
config OPTIMIZE_FOR_NONE
bool "Don't optimize"
help
Apply no compiler optimizations.
It means -O0 for GCC or equivalent for other compilers.
endchoice
menu "Debug"
config DEBUG
bool "Enable debug build"
default n
help
Select for debug build
config GDB_DEBUG
bool "GDB Stub"
default n
help
Select for GDB debugging
config DEBUG_HEAP
bool "Heap debug"
default n
help
Select for enable heap alloc debugging
config DEBUG_MEMORY_USAGE_SCAN
bool "Memory usage scan"
default y
help
It enables memory usage scan at demand in runtime.
This feature does not affect standard memory operations,
especially allocation and deallocation.
config DEBUG_BLOCK_FREE
bool "Blocks freeing debug"
default n
help
It enables checking if free was called multiple times on
already freed block of memory. Enabling this feature increases
number of memory writes and reads, due to checks for memory patterns
that may be performed on allocation and deallocation.
config DEBUG_LOCKS
bool "Spinlock debug"
default n
help
It adds additional information to the spinlocks about
the current user of the lock. Also executes panic
on deadlock.
config DEBUG_LOCKS_VERBOSE
bool "Spinlock verbose debug"
depends on DEBUG_LOCKS
default n
help
In addition to DEBUG_LOCKS it also adds spinlock traces
every time the lock is acquired.
config BUILD_VM_ROM
bool "Build VM ROM"
default n
help
Select if you want to build VM ROM
config DEBUG_IPC_COUNTERS
bool "IPC counters"
depends on CAVS
depends on DEBUG
default n
help
Select for enabling tracing IPC counter in SRAM_REG mailbox
config PERFORMANCE_COUNTERS
bool "Performance counters"
default n
help
Enables tracing of simple performance measurements.
A basic use case is to measure number of platform & cpu clock ticks
passed between two checkpoints (init() and stamp()), for example
total time spent on running low latency scheduler tasks.
Platforms that gate cpu clock in wait-for-interrupt calls may also
use the stamp() macro periodically to find out how long the cpu
was in active/sleep state between the calls and estimate the cpu load.
config DSP_RESIDENCY_COUNTERS
bool "DSP residency counters"
default n
help
Enables simple DSP residency counters in SRAM_REG mailbox.
R0, R1, R2 are abstract states which can be used differently
based on platform implementation.
endmenu