]>
Commit | Line | Data |
---|---|---|
ed36323f MY |
1 | menu "Library routines" |
2 | ||
6ef2f901 AF |
3 | config BCH |
4 | bool "Enable Software based BCH ECC" | |
5 | help | |
6 | Enables software based BCH ECC algorithm present in lib/bch.c | |
7 | This is used by SoC platforms which do not have built-in ELM | |
8 | hardware engine required for BCH ECC correction. | |
9 | ||
b0928da6 MY |
10 | config CC_OPTIMIZE_LIBS_FOR_SPEED |
11 | bool "Optimize libraries for speed" | |
12 | help | |
13 | Enabling this option will pass "-O2" to gcc when compiling | |
14 | under "lib" directory. | |
15 | ||
16 | If unsure, say N. | |
17 | ||
36c1877c FA |
18 | config DYNAMIC_CRC_TABLE |
19 | bool "Enable Dynamic tables for CRC" | |
20 | help | |
21 | Enable this option to calculate entries for CRC tables at runtime. | |
22 | This can be helpful when reducing the size of the build image | |
23 | ||
2895c4b7 BM |
24 | config HAVE_ARCH_IOMAP |
25 | bool | |
26 | help | |
27 | Enable this option if architecture provides io{read,write}{8,16,32} | |
28 | I/O accessor functions. | |
29 | ||
45ccec8f MY |
30 | config HAVE_PRIVATE_LIBGCC |
31 | bool | |
32 | ||
a451bc27 AF |
33 | config LIB_UUID |
34 | bool | |
35 | ||
14ad44ab AK |
36 | config PRINTF |
37 | bool | |
38 | default y | |
39 | ||
40 | config SPL_PRINTF | |
41 | bool | |
42 | select SPL_SPRINTF | |
43 | select SPL_STRTO if !USE_TINY_PRINTF | |
44 | ||
45 | config TPL_PRINTF | |
46 | bool | |
47 | select TPL_SPRINTF | |
48 | select TPL_STRTO if !USE_TINY_PRINTF | |
49 | ||
50 | config SPRINTF | |
51 | bool | |
52 | default y | |
53 | ||
54 | config SPL_SPRINTF | |
55 | bool | |
56 | ||
57 | config TPL_SPRINTF | |
58 | bool | |
59 | ||
60 | config STRTO | |
61 | bool | |
62 | default y | |
63 | ||
64 | config SPL_STRTO | |
65 | bool | |
66 | ||
67 | config TPL_STRTO | |
68 | bool | |
69 | ||
c232d14d AK |
70 | config IMAGE_SPARSE |
71 | bool | |
72 | ||
73 | config IMAGE_SPARSE_FILLBUF_SIZE | |
74 | hex "Android sparse image CHUNK_TYPE_FILL buffer size" | |
75 | default 0x80000 | |
76 | depends on IMAGE_SPARSE | |
77 | help | |
78 | Set the size of the fill buffer used when processing CHUNK_TYPE_FILL | |
79 | chunks. | |
80 | ||
45ccec8f MY |
81 | config USE_PRIVATE_LIBGCC |
82 | bool "Use private libgcc" | |
83 | depends on HAVE_PRIVATE_LIBGCC | |
91b86e21 | 84 | default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS) |
45ccec8f MY |
85 | help |
86 | This option allows you to use the built-in libgcc implementation | |
67976306 | 87 | of U-Boot instead of the one provided by the compiler. |
45ccec8f MY |
88 | If unsure, say N. |
89 | ||
8c688bc4 MY |
90 | config SYS_HZ |
91 | int | |
92 | default 1000 | |
93 | help | |
94 | The frequency of the timer returned by get_timer(). | |
95 | get_timer() must operate in milliseconds and this option must be | |
96 | set to 1000. | |
97 | ||
7d9cde10 SR |
98 | config USE_TINY_PRINTF |
99 | bool "Enable tiny printf() version" | |
100 | help | |
101 | This option enables a tiny, stripped down printf version. | |
102 | This should only be used in space limited environments, | |
103 | like SPL versions with hard memory limits. This version | |
104 | reduces the code size by about 2.5KiB on armv7. | |
105 | ||
106 | The supported format specifiers are %c, %s, %u/%d and %x. | |
107 | ||
7e3caa81 MY |
108 | config PANIC_HANG |
109 | bool "Do not reset the system on fatal error" | |
110 | help | |
111 | Define this option to stop the system in case of a fatal error, | |
112 | so that you have to reset it manually. This is probably NOT a good | |
113 | idea for an embedded system where you want the system to reboot | |
114 | automatically as fast as possible, but it may be useful during | |
115 | development since you can try to debug the conditions that lead to | |
116 | the situation. | |
117 | ||
1a60650c JH |
118 | config REGEX |
119 | bool "Enable regular expression support" | |
f7848d90 | 120 | default y if NET |
1a60650c JH |
121 | help |
122 | If this variable is defined, U-Boot is linked against the | |
123 | SLRE (Super Light Regular Expression) library, which adds | |
124 | regex support to some commands, for example "env grep" and | |
125 | "setexpr". | |
126 | ||
a5a37567 AF |
127 | choice |
128 | prompt "Pseudo-random library support type" | |
129 | depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID | |
130 | default LIB_RAND | |
3850dbe8 | 131 | help |
a5a37567 AF |
132 | Select the library to provide pseudo-random number generator |
133 | functions. LIB_HW_RAND supports certain hardware engines that | |
134 | provide this functionality. If in doubt, select LIB_RAND. | |
135 | ||
136 | config LIB_RAND | |
137 | bool "Pseudo-random library support" | |
138 | ||
139 | config LIB_HW_RAND | |
140 | bool "HW Engine for random libray support" | |
141 | ||
142 | endchoice | |
9ba9e85f | 143 | |
ab4458bd SG |
144 | config SPL_TINY_MEMSET |
145 | bool "Use a very small memset() in SPL" | |
146 | help | |
147 | The faster memset() is the arch-specific one (if available) enabled | |
148 | by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get | |
149 | better performance by writing a word at a time. But in very | |
6e705114 | 150 | size-constrained environments even this may be too big. Enable this |
ab4458bd SG |
151 | option to reduce code size slightly at the cost of some speed. |
152 | ||
96b9082c PT |
153 | config TPL_TINY_MEMSET |
154 | bool "Use a very small memset() in TPL" | |
155 | help | |
156 | The faster memset() is the arch-specific one (if available) enabled | |
157 | by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get | |
158 | better performance by writing a word at a time. But in very | |
6e705114 | 159 | size-constrained environments even this may be too big. Enable this |
96b9082c PT |
160 | option to reduce code size slightly at the cost of some speed. |
161 | ||
aa049152 BB |
162 | config RBTREE |
163 | bool | |
164 | ||
da5337a6 NH |
165 | config BITREVERSE |
166 | bool "Bit reverse library from Linux" | |
167 | ||
a24a78d7 SG |
168 | config TRACE |
169 | bool "Support for tracing of function calls and timing" | |
170 | imply CMD_TRACE | |
171 | help | |
172 | Enables function tracing within U-Boot. This allows recording of call | |
173 | traces including timing information. The command can write data to | |
174 | memory for exporting for analysis (e.g. using bootchart). | |
175 | See doc/README.trace for full details. | |
176 | ||
1c6eb075 SG |
177 | config TRACE_BUFFER_SIZE |
178 | hex "Size of trace buffer in U-Boot" | |
179 | depends on TRACE | |
180 | default 0x01000000 | |
181 | help | |
182 | Sets the size of the trace buffer in U-Boot. This is allocated from | |
183 | memory during relocation. If this buffer is too small, the trace | |
184 | history will be truncated, with later records omitted. | |
185 | ||
186 | If early trace is enabled (i.e. before relocation), this buffer must | |
187 | be large enough to include all the data from the early trace buffer as | |
188 | well, since this is copied over to the main buffer during relocation. | |
189 | ||
190 | A trace record is emitted for each function call and each record is | |
191 | 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If | |
192 | the size is too small then 'trace stats' will show a message saying | |
193 | how many records were dropped due to buffer overflow. | |
194 | ||
195 | config TRACE_EARLY | |
196 | bool "Enable tracing before relocation" | |
197 | depends on TRACE | |
198 | help | |
199 | Sometimes it is helpful to trace execution of U-Boot before | |
200 | relocation. This is possible by using a arch-specific, fixed buffer | |
201 | position in memory. Enable this option to start tracing as early as | |
202 | possible after U-Boot starts. | |
203 | ||
204 | config TRACE_EARLY_SIZE | |
205 | hex "Size of early trace buffer in U-Boot" | |
206 | depends on TRACE_EARLY | |
207 | default 0x00100000 | |
208 | help | |
209 | Sets the size of the early trace buffer in bytes. This is used to hold | |
210 | tracing information before relocation. | |
211 | ||
212 | config TRACE_EARLY_ADDR | |
213 | hex "Address of early trace buffer in U-Boot" | |
214 | depends on TRACE_EARLY | |
215 | default 0x00100000 | |
216 | help | |
217 | Sets the address of the early trace buffer in U-Boot. This memory | |
218 | must be accessible before relocation. | |
219 | ||
220 | A trace record is emitted for each function call and each record is | |
221 | 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If | |
222 | the size is too small then the message which says the amount of early | |
223 | data being coped will the the same as the | |
224 | ||
d1389403 SG |
225 | source lib/dhry/Kconfig |
226 | ||
b1a873df SG |
227 | menu "Security support" |
228 | ||
229 | config AES | |
230 | bool "Support the AES algorithm" | |
231 | help | |
232 | This provides a means to encrypt and decrypt data using the AES | |
233 | (Advanced Encryption Standard). This algorithm uses a symetric key | |
234 | and is widely used as a streaming cipher. Different key lengths are | |
235 | supported by the algorithm but only a 128-bit key is supported at | |
236 | present. | |
237 | ||
d9f23c7f | 238 | source lib/rsa/Kconfig |
c4beb22f | 239 | |
a7d660bc SG |
240 | config TPM |
241 | bool "Trusted Platform Module (TPM) Support" | |
2419cd16 | 242 | depends on DM |
a7d660bc SG |
243 | help |
244 | This enables support for TPMs which can be used to provide security | |
245 | features for your board. The TPM can be connected via LPC or I2C | |
246 | and a sandbox TPM is provided for testing purposes. Use the 'tpm' | |
247 | command to interactive the TPM. Driver model support is provided | |
248 | for the low-level TPM interface, but only one TPM is supported at | |
249 | a time by the TPM library. | |
250 | ||
6307896c SG |
251 | config SPL_TPM |
252 | bool "Trusted Platform Module (TPM) Support in SPL" | |
253 | depends on SPL_DM | |
254 | help | |
255 | This enables support for TPMs which can be used to provide security | |
256 | features for your board. The TPM can be connected via LPC or I2C | |
257 | and a sandbox TPM is provided for testing purposes. Use the 'tpm' | |
258 | command to interactive the TPM. Driver model support is provided | |
259 | for the low-level TPM interface, but only one TPM is supported at | |
260 | a time by the TPM library. | |
261 | ||
262 | config TPL_TPM | |
263 | bool "Trusted Platform Module (TPM) Support in TPL" | |
264 | depends on TPL_DM | |
265 | help | |
266 | This enables support for TPMs which can be used to provide security | |
267 | features for your board. The TPM can be connected via LPC or I2C | |
268 | and a sandbox TPM is provided for testing purposes. Use the 'tpm' | |
269 | command to interactive the TPM. Driver model support is provided | |
270 | for the low-level TPM interface, but only one TPM is supported at | |
271 | a time by the TPM library. | |
272 | ||
b1a873df SG |
273 | endmenu |
274 | ||
3330584d IO |
275 | menu "Android Verified Boot" |
276 | ||
277 | config LIBAVB | |
278 | bool "Android Verified Boot 2.0 support" | |
279 | depends on ANDROID_BOOT_IMAGE | |
280 | default n | |
281 | help | |
282 | This enables support of Android Verified Boot 2.0 which can be used | |
283 | to assure the end user of the integrity of the software running on a | |
284 | device. Introduces such features as boot chain of trust, rollback | |
285 | protection etc. | |
286 | ||
287 | endmenu | |
288 | ||
94e3c8c4 | 289 | menu "Hashing Support" |
290 | ||
291 | config SHA1 | |
292 | bool "Enable SHA1 support" | |
293 | help | |
294 | This option enables support of hashing using SHA1 algorithm. | |
295 | The hash is calculated in software. | |
296 | The SHA1 algorithm produces a 160-bit (20-byte) hash value | |
297 | (digest). | |
298 | ||
299 | config SHA256 | |
300 | bool "Enable SHA256 support" | |
301 | help | |
302 | This option enables support of hashing using SHA256 algorithm. | |
303 | The hash is calculated in software. | |
304 | The SHA256 algorithm produces a 256-bit (32-byte) hash value | |
305 | (digest). | |
306 | ||
307 | config SHA_HW_ACCEL | |
308 | bool "Enable hashing using hardware" | |
309 | help | |
310 | This option enables hardware acceleration | |
311 | for SHA1/SHA256 hashing. | |
312 | This affects the 'hash' command and also the | |
313 | hash_lookup_algo() function. | |
314 | ||
315 | config SHA_PROG_HW_ACCEL | |
316 | bool "Enable Progressive hashing support using hardware" | |
317 | depends on SHA_HW_ACCEL | |
318 | help | |
319 | This option enables hardware-acceleration for | |
320 | SHA1/SHA256 progressive hashing. | |
321 | Data can be streamed in a block at a time and the hashing | |
322 | is performed in hardware. | |
bea79d7d AP |
323 | |
324 | config MD5 | |
325 | bool | |
326 | ||
85d8bf57 MB |
327 | config CRC32C |
328 | bool | |
329 | ||
83a486b6 MB |
330 | config XXHASH |
331 | bool | |
332 | ||
94e3c8c4 | 333 | endmenu |
334 | ||
027b728d JW |
335 | menu "Compression Support" |
336 | ||
337 | config LZ4 | |
338 | bool "Enable LZ4 decompression support" | |
339 | help | |
340 | If this option is set, support for LZ4 compressed images | |
341 | is included. The LZ4 algorithm can run in-place as long as the | |
342 | compressed image is loaded to the end of the output buffer, and | |
343 | trades lower compression ratios for much faster decompression. | |
344 | ||
345 | NOTE: This implements the release version of the LZ4 frame | |
346 | format as generated by default by the 'lz4' command line tool. | |
347 | This is not the same as the outdated, less efficient legacy | |
348 | frame format currently (2015) implemented in the Linux kernel | |
349 | (generated by 'lz4 -l'). The two formats are incompatible. | |
350 | ||
aed998aa SG |
351 | config LZMA |
352 | bool "Enable LZMA decompression support" | |
353 | help | |
354 | This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), | |
355 | a dictionary compression algorithm that provides a high compression | |
356 | ratio and fairly fast decompression speed. See also | |
357 | CONFIG_CMD_LZMADEC which provides a decode command. | |
358 | ||
173aafbf | 359 | config LZO |
d56b4b19 TR |
360 | bool "Enable LZO decompression support" |
361 | help | |
362 | This enables support for LZO compression algorithm.r | |
7264f292 | 363 | |
95f4bbd5 | 364 | config GZIP |
5132361a | 365 | bool "Enable gzip decompression support" |
95f4bbd5 MV |
366 | select ZLIB |
367 | default y | |
368 | help | |
369 | This enables support for GZIP compression algorithm. | |
370 | ||
371 | config ZLIB | |
372 | bool | |
373 | default y | |
374 | help | |
375 | This enables ZLIB compression lib. | |
376 | ||
048c6e89 SG |
377 | config SPL_LZ4 |
378 | bool "Enable LZ4 decompression support in SPL" | |
379 | help | |
380 | This enables support for tge LZ4 decompression algorithm in SPL. LZ4 | |
381 | is a lossless data compression algorithm that is focused on | |
382 | fast compression and decompression speed. It belongs to the LZ77 | |
383 | family of byte-oriented compression schemes. | |
384 | ||
f52bdf4b JJH |
385 | config SPL_LZO |
386 | bool "Enable LZO decompression support in SPL" | |
387 | help | |
388 | This enables support for LZO compression algorithm in the SPL. | |
389 | ||
7264f292 YS |
390 | config SPL_GZIP |
391 | bool "Enable gzip decompression support for SPL build" | |
392 | select SPL_ZLIB | |
393 | help | |
394 | This enables support for GZIP compression altorithm for SPL boot. | |
395 | ||
396 | config SPL_ZLIB | |
397 | bool | |
398 | help | |
399 | This enables compression lib for SPL boot. | |
400 | ||
027b728d JW |
401 | endmenu |
402 | ||
6501ff62 PM |
403 | config ERRNO_STR |
404 | bool "Enable function for getting errno-related string message" | |
405 | help | |
406 | The function errno_str(int errno), returns a pointer to the errno | |
407 | corresponding text message: | |
408 | - if errno is null or positive number - a pointer to "Success" message | |
409 | - if errno is negative - a pointer to errno related message | |
410 | ||
f8c987f8 AB |
411 | config HEXDUMP |
412 | bool "Enable hexdump" | |
413 | help | |
414 | This enables functions for printing dumps of binary data. | |
415 | ||
69e173eb SG |
416 | config OF_LIBFDT |
417 | bool "Enable the FDT library" | |
418 | default y if OF_CONTROL | |
419 | help | |
420 | This enables the FDT library (libfdt). It provides functions for | |
421 | accessing binary device tree images in memory, such as adding and | |
f1a7ba1d | 422 | removing nodes and properties, scanning through the tree and finding |
69e173eb SG |
423 | particular compatible nodes. The library operates on a flattened |
424 | version of the device tree. | |
425 | ||
ddf67f71 MR |
426 | config OF_LIBFDT_OVERLAY |
427 | bool "Enable the FDT library overlay support" | |
6417572e | 428 | depends on OF_LIBFDT |
58a46f88 | 429 | default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE |
ddf67f71 MR |
430 | help |
431 | This enables the FDT library (libfdt) overlay support. | |
432 | ||
aa34fbc0 SG |
433 | config SPL_OF_LIBFDT |
434 | bool "Enable the FDT library for SPL" | |
435 | default y if SPL_OF_CONTROL | |
436 | help | |
437 | This enables the FDT library (libfdt). It provides functions for | |
438 | accessing binary device tree images in memory, such as adding and | |
f1a7ba1d | 439 | removing nodes and properties, scanning through the tree and finding |
aa34fbc0 SG |
440 | particular compatible nodes. The library operates on a flattened |
441 | version of the device tree. | |
442 | ||
5592a633 SG |
443 | config TPL_OF_LIBFDT |
444 | bool "Enable the FDT library for TPL" | |
445 | default y if TPL_OF_CONTROL | |
446 | help | |
447 | This enables the FDT library (libfdt). It provides functions for | |
448 | accessing binary device tree images in memory, such as adding and | |
449 | removing nodes and properties, scanning through the tree and finding | |
450 | particular compatible nodes. The library operates on a flattened | |
451 | version of the device tree. | |
452 | ||
ebf7fff2 HS |
453 | config FDT_FIXUP_PARTITIONS |
454 | bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" | |
455 | depends on OF_LIBFDT | |
ab948cd2 | 456 | depends on CMD_MTDPARTS |
ebf7fff2 HS |
457 | help |
458 | Allow overwriting defined partitions in the device tree blob | |
459 | using partition info defined in the 'mtdparts' environment | |
460 | variable. | |
461 | ||
4b6dddc2 | 462 | menu "System tables" |
e663b350 | 463 | depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) |
4b6dddc2 AG |
464 | |
465 | config GENERATE_SMBIOS_TABLE | |
466 | bool "Generate an SMBIOS (System Management BIOS) table" | |
467 | default y | |
e663b350 | 468 | depends on X86 || EFI_LOADER |
4b6dddc2 AG |
469 | help |
470 | The System Management BIOS (SMBIOS) specification addresses how | |
471 | motherboard and system vendors present management information about | |
472 | their products in a standard format by extending the BIOS interface | |
473 | on Intel architecture systems. | |
474 | ||
475 | Check http://www.dmtf.org/standards/smbios for details. | |
476 | ||
477 | config SMBIOS_MANUFACTURER | |
478 | string "SMBIOS Manufacturer" | |
479 | depends on GENERATE_SMBIOS_TABLE | |
480 | default SYS_VENDOR | |
481 | help | |
482 | The board manufacturer to store in SMBIOS structures. | |
483 | Change this to override the default one (CONFIG_SYS_VENDOR). | |
484 | ||
485 | config SMBIOS_PRODUCT_NAME | |
486 | string "SMBIOS Product Name" | |
487 | depends on GENERATE_SMBIOS_TABLE | |
488 | default SYS_BOARD | |
489 | help | |
490 | The product name to store in SMBIOS structures. | |
491 | Change this to override the default one (CONFIG_SYS_BOARD). | |
492 | ||
493 | endmenu | |
494 | ||
867a6ac8 | 495 | source lib/efi/Kconfig |
ed980b8c | 496 | source lib/efi_loader/Kconfig |
32ce6179 | 497 | source lib/optee/Kconfig |
867a6ac8 | 498 | |
54969b40 TR |
499 | config TEST_FDTDEC |
500 | bool "enable fdtdec test" | |
501 | depends on OF_LIBFDT | |
502 | ||
ed36323f | 503 | endmenu |