-
Notifications
You must be signed in to change notification settings - Fork 212
Expand file tree
/
Copy pathKconfig
More file actions
225 lines (180 loc) · 5.75 KB
/
Copy pathKconfig
File metadata and controls
225 lines (180 loc) · 5.75 KB
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
mainmenu "PebbleOS Configuration"
# Per-SoC symbol defaults; loaded first so they take precedence.
osource "soc/*/Kconfig.defconfig"
rsource "soc/Kconfig"
config RELEASE
bool "Release build"
help
Whether this is a release build. Pass
`-DCONFIG_RELEASE=y` to `./waf configure` to enable. Gates
features like Memfault crash reporting that should only run on
shipping firmware.
config RECOVERY_FW
bool "Recovery firmware (PRF)"
help
Build the recovery firmware variant. Set via prj_prf.conf when
configuring with --variant=prf; do not set manually.
config MFG
bool "Manufacturing firmware"
help
Enable manufacturing-only functionality in the PRF build. PRF
and MFG firmwares are mostly the same, so MFG builds also
define the recovery-firmware symbols.
config PBLBOOT
bool "PBLBOOT bootloader"
help
Build for the PBLBOOT bootloader: prepend the PBLBOOT image
header to the firmware binary and assume a two-slot flash
layout with direct XIP. Disable for boards whose SoC bootloader
consumes a raw image and uses a single firmware slot.
menu "Compiler options"
config LTO
bool "Link-time optimization"
choice
prompt "Optimization level"
default SIZE_OPTIMIZATIONS
config SIZE_OPTIMIZATIONS
bool "Optimize for size (-Os)"
config DEBUG_OPTIMIZATIONS
bool "Optimize for debugging (-Og)"
config NO_OPTIMIZATIONS
bool "No optimizations (-O0)"
help
Previously known as "fat firmware". Requires 1M of onboard
flash.
endchoice
config COMPILER_SAVE_TEMPS
bool "Save compiler temporaries"
help
Save *.i and *.s files during compilation.
config DEBUG_INFO
bool "Debug information"
default y
help
Compile with -g3 debug information.
endmenu
config IS_BIGBOARD
bool "Bigboard revision"
help
Engineering/development PCB revision of a board (`_bb` suffix
in the board name). Gates bigboard-only behaviour that differs
from the shipping board.
# Source the active board's Kconfig and its per-board defaults; kconfig.py
# exports $(BOARD) and $(BOARD_REVISION) from the --board argument.
rsource "boards/$(BOARD)/Kconfig"
osource "boards/$(BOARD)/Kconfig.$(BOARD_REVISION)"
rsource "boards/$(BOARD)/Kconfig.defconfig"
osource "boards/$(BOARD)/Kconfig.defconfig.$(BOARD_REVISION)"
config QEMU_MACHINE
string
depends on QEMU
help
QEMU machine identifier passed to qemu-system-arm via the
`-machine` flag. Set per board in
boards/<board>/Kconfig.defconfig.
choice
prompt "SDK platform"
config PLATFORM_EMERY
bool "Emery"
config PLATFORM_FLINT
bool "Flint"
config PLATFORM_GABBRO
bool "Gabbro"
endchoice
# App RAM sizes for each SDK app execution environment (2x/3x/4x) supported by
# the model. For each environment, SEGMENT is the RAM given to the app itself
# (stack + text + data + bss + heap) and RUNTIME is the RAM reserved for the
# application runtime (AppState). A SEGMENT of 0 means the environment is
# unsupported. SEGMENT must be a multiple of eight bytes, as the process loader
# enforces eight-byte alignment on all segments.
#
# emery and gabbro use a 4 KiB app stack (see APP_STACK_NORMAL_SIZE); their
# segment is sized 2 KiB larger to compensate. All other platforms keep the
# 2 KiB stack and the historical segment sizes.
#
# The per-platform constants below are the source of truth; each environment
# just selects which legacy SDK platform it maps to.
config APP_RAM_APLITE_SEGMENT_SIZE
int
default 25952
config APP_RAM_APLITE_RUNTIME_SIZE
int
default 6820
config APP_RAM_BASALT_SEGMENT_SIZE
int
default 67584
config APP_RAM_BASALT_RUNTIME_SIZE
int
default 30720
config APP_RAM_CHALK_SEGMENT_SIZE
int
default 67584
config APP_RAM_CHALK_RUNTIME_SIZE
int
default 30720
config APP_RAM_FLINT_SEGMENT_SIZE
int
default 67584
config APP_RAM_FLINT_RUNTIME_SIZE
int
default 30720
config APP_RAM_EMERY_SEGMENT_SIZE
int
default 135168
config APP_RAM_EMERY_RUNTIME_SIZE
int
default 63488
config APP_RAM_GABBRO_SEGMENT_SIZE
int
default 135168
config APP_RAM_GABBRO_RUNTIME_SIZE
int
default 96256
config APP_RAM_2X_SEGMENT_SIZE
int
default APP_RAM_APLITE_SEGMENT_SIZE if PLATFORM_EMERY
default APP_RAM_APLITE_SEGMENT_SIZE if PLATFORM_FLINT
default 0
config APP_RAM_2X_RUNTIME_SIZE
int
default APP_RAM_APLITE_RUNTIME_SIZE if PLATFORM_EMERY
default APP_RAM_APLITE_RUNTIME_SIZE if PLATFORM_FLINT
default 0
config APP_RAM_3X_SEGMENT_SIZE
int
default APP_RAM_BASALT_SEGMENT_SIZE if PLATFORM_EMERY
default APP_RAM_APLITE_SEGMENT_SIZE if PLATFORM_FLINT
default APP_RAM_CHALK_SEGMENT_SIZE if PLATFORM_GABBRO
default 0
config APP_RAM_3X_RUNTIME_SIZE
int
default APP_RAM_BASALT_RUNTIME_SIZE if PLATFORM_EMERY
default APP_RAM_APLITE_RUNTIME_SIZE if PLATFORM_FLINT
default APP_RAM_CHALK_RUNTIME_SIZE if PLATFORM_GABBRO
default 0
config APP_RAM_4X_SEGMENT_SIZE
int
default APP_RAM_EMERY_SEGMENT_SIZE if PLATFORM_EMERY
default APP_RAM_FLINT_SEGMENT_SIZE if PLATFORM_FLINT
default APP_RAM_GABBRO_SEGMENT_SIZE if PLATFORM_GABBRO
default 0
config APP_RAM_4X_RUNTIME_SIZE
int
default APP_RAM_EMERY_RUNTIME_SIZE if PLATFORM_EMERY
default APP_RAM_FLINT_RUNTIME_SIZE if PLATFORM_FLINT
default APP_RAM_GABBRO_RUNTIME_SIZE if PLATFORM_GABBRO
default 0
choice
prompt "Screen color depth"
config SCREEN_COLOR_DEPTH_BITS_1
bool "1-bit (monochrome)"
config SCREEN_COLOR_DEPTH_BITS_8
bool "8-bit (palette)"
endchoice
config SCREEN_COLOR_DEPTH_BITS
int
default 1 if SCREEN_COLOR_DEPTH_BITS_1
default 8 if SCREEN_COLOR_DEPTH_BITS_8
rsource "lib/c/Kconfig"
rsource "src/Kconfig"
rsource "third_party/Kconfig"