]> Git Repo - u-boot.git/blob - lib/Kconfig
Revert "fdtdec: drop needlessly convoluted CONFIG_PHANDLE_CHECK_SEQ"
[u-boot.git] / lib / Kconfig
1 menu "Library routines"
2
3 config ADDR_MAP
4         bool "Enable support for non-identity virtual-physical mappings"
5         help
6           Enables helper code for implementing non-identity virtual-physical
7           memory mappings for 32bit CPUs.
8
9           This library only works in the post-relocation phase.
10
11 config SYS_NUM_ADDR_MAP
12         int "Size of the address-map table"
13         depends on ADDR_MAP
14         default 16
15         help
16           Sets the number of entries in the virtual-physical mapping table.
17
18 config SYS_TIMER_COUNTS_DOWN
19         bool "System timer counts down rathe than up"
20
21 config PHYSMEM
22         bool "Access to physical memory region (> 4G)"
23         help
24           Some basic support is provided for operations on memory not
25           normally accessible to 32-bit U-Boot - e.g. some architectures
26           support access to more than 4G of memory on 32-bit
27           machines using physical address extension or similar.
28           Enable this to access this basic support, which only supports clearing
29           the memory.
30
31 config BCH
32         bool "Enable Software based BCH ECC"
33         help
34           Enables software based BCH ECC algorithm present in lib/bch.c
35           This is used by SoC platforms which do not have built-in ELM
36           hardware engine required for BCH ECC correction.
37
38 config BINMAN_FDT
39         bool "Allow access to binman information in the device tree"
40         depends on BINMAN && DM && OF_CONTROL
41         default y if OF_SEPARATE || OF_EMBED
42         help
43           This enables U-Boot to access information about binman entries,
44           stored in the device tree in a binman node. Typical uses are to
45           locate entries in the firmware image. See binman.h for the available
46           functionality.
47
48 config CC_OPTIMIZE_LIBS_FOR_SPEED
49         bool "Optimize libraries for speed"
50         help
51           Enabling this option will pass "-O2" to gcc when compiling
52           under "lib" directory.
53
54           If unsure, say N.
55
56 config CHARSET
57         bool
58
59 config DYNAMIC_CRC_TABLE
60         bool "Enable Dynamic tables for CRC"
61         help
62           Enable this option to calculate entries for CRC tables at runtime.
63           This can be helpful when reducing the size of the build image
64
65 config HAVE_ARCH_IOMAP
66         bool
67         help
68           Enable this option if architecture provides io{read,write}{8,16,32}
69           I/O accessor functions.
70
71 config HAVE_PRIVATE_LIBGCC
72         bool
73
74 config LIB_UUID
75         bool
76
77 config SEMIHOSTING
78         bool "Support semihosting"
79         depends on ARM || RISCV
80         help
81           Semihosting is a method for a target to communicate with a host
82           debugger. It uses special instructions which the debugger will trap
83           on and interpret. This allows U-Boot to read/write files, print to
84           the console, and execute arbitrary commands on the host system.
85
86           Enabling this option will add support for reading and writing files
87           on the host system. If you don't have a debugger attached then trying
88           to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
89
90 config SEMIHOSTING_FALLBACK
91         bool "Recover gracefully when semihosting fails"
92         depends on SEMIHOSTING && (ARM64 || RISCV)
93         default y
94         help
95           Normally, if U-Boot makes a semihosting call and no debugger is
96           attached, then it will panic due to a synchronous abort
97           exception. This config adds an exception handler which will allow
98           U-Boot to recover. Say 'y' if unsure.
99
100 config SPL_SEMIHOSTING
101         bool "Support semihosting in SPL"
102         depends on SPL && (ARM || RISCV)
103         help
104           Semihosting is a method for a target to communicate with a host
105           debugger. It uses special instructions which the debugger will trap
106           on and interpret. This allows U-Boot to read/write files, print to
107           the console, and execute arbitrary commands on the host system.
108
109           Enabling this option will add support for reading and writing files
110           on the host system. If you don't have a debugger attached then trying
111           to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
112
113 config SPL_SEMIHOSTING_FALLBACK
114         bool "Recover gracefully when semihosting fails in SPL"
115         depends on SPL_SEMIHOSTING && (ARM64 || RISCV)
116         select ARMV8_SPL_EXCEPTION_VECTORS if ARM64
117         default y
118         help
119           Normally, if U-Boot makes a semihosting call and no debugger is
120           attached, then it will panic due to a synchronous abort
121           exception. This config adds an exception handler which will allow
122           U-Boot to recover. Say 'y' if unsure.
123
124 config PRINTF
125         bool
126         default y
127
128 config SPL_PRINTF
129         bool
130         select SPL_SPRINTF
131         select SPL_STRTO if !SPL_USE_TINY_PRINTF
132
133 config TPL_PRINTF
134         bool
135         select TPL_SPRINTF
136         select TPL_STRTO if !TPL_USE_TINY_PRINTF
137
138 config VPL_PRINTF
139         bool
140         select VPL_SPRINTF
141         select VPL_STRTO if !VPL_USE_TINY_PRINTF
142
143 config SPRINTF
144         bool
145         default y
146
147 config SPL_SPRINTF
148         bool
149
150 config TPL_SPRINTF
151         bool
152
153 config VPL_SPRINTF
154         bool
155
156 config SSCANF
157         bool
158
159 config STRTO
160         bool
161         default y
162
163 config SPL_STRTO
164         bool
165
166 config TPL_STRTO
167         bool
168
169 config VPL_STRTO
170         bool
171
172 config IMAGE_SPARSE
173         bool
174
175 config IMAGE_SPARSE_FILLBUF_SIZE
176         hex "Android sparse image CHUNK_TYPE_FILL buffer size"
177         default 0x80000
178         depends on IMAGE_SPARSE
179         help
180           Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
181           chunks.
182
183 config USE_PRIVATE_LIBGCC
184         bool "Use private libgcc"
185         depends on HAVE_PRIVATE_LIBGCC
186         default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
187         help
188           This option allows you to use the built-in libgcc implementation
189           of U-Boot instead of the one provided by the compiler.
190           If unsure, say N.
191
192 config SYS_HZ
193         int
194         default 1000
195         help
196           The frequency of the timer returned by get_timer().
197           get_timer() must operate in milliseconds and this option must be
198           set to 1000.
199
200 config SPL_USE_TINY_PRINTF
201         bool "Enable tiny printf() version in SPL"
202         depends on SPL
203         default y
204         help
205           This option enables a tiny, stripped down printf version.
206           This should only be used in space limited environments,
207           like SPL versions with hard memory limits. This version
208           reduces the code size by about 2.5KiB on armv7.
209
210           The supported format specifiers are %c, %s, %u/%d and %x.
211
212 config TPL_USE_TINY_PRINTF
213         bool "Enable tiny printf() version in TPL"
214         depends on TPL
215         default y if SPL_USE_TINY_PRINTF
216         help
217           This option enables a tiny, stripped down printf version.
218           This should only be used in space limited environments,
219           like SPL versions with hard memory limits. This version
220           reduces the code size by about 2.5KiB on armv7.
221
222           The supported format specifiers are %c, %s, %u/%d and %x.
223
224 config VPL_USE_TINY_PRINTF
225         bool "Enable tiny printf() version for VPL"
226         depends on VPL
227         help
228           This option enables a tiny, stripped down printf version.
229           This should only be used in space limited environments,
230           like SPL versions with hard memory limits. This version
231           reduces the code size by about 2.5KiB on armv7.
232
233           The supported format specifiers are %c, %s, %u/%d and %x.
234
235 config PANIC_HANG
236         bool "Do not reset the system on fatal error"
237         help
238           Define this option to stop the system in case of a fatal error,
239           so that you have to reset it manually. This is probably NOT a good
240           idea for an embedded system where you want the system to reboot
241           automatically as fast as possible, but it may be useful during
242           development since you can try to debug the conditions that lead to
243           the situation.
244
245 config REGEX
246         bool "Enable regular expression support"
247         default y if NET
248         help
249           If this variable is defined, U-Boot is linked against the
250           SLRE (Super Light Regular Expression) library, which adds
251           regex support to some commands, for example "env grep" and
252           "setexpr".
253
254 choice
255         prompt "Pseudo-random library support type"
256         depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
257                    RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
258         default LIB_RAND
259         help
260           Select the library to provide pseudo-random number generator
261           functions.  LIB_HW_RAND supports certain hardware engines that
262           provide this functionality.  If in doubt, select LIB_RAND.
263
264 config LIB_RAND
265         bool "Pseudo-random library support"
266
267 config LIB_HW_RAND
268         bool "HW Engine for random library support"
269
270 endchoice
271
272 config SUPPORT_ACPI
273         bool
274         help
275           Enable this if your arch or board can support generating ACPI
276           (Advanced Configuration and Power Interface) tables. In this case
277           U-Boot can generate these tables and pass them to the Operating
278           System.
279
280 config GENERATE_ACPI_TABLE
281         bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
282         depends on SUPPORT_ACPI
283         select QFW if QEMU
284         help
285           The Advanced Configuration and Power Interface (ACPI) specification
286           provides an open standard for device configuration and management
287           by the operating system. It defines platform-independent interfaces
288           for configuration and power management monitoring.
289
290 config SPL_TINY_MEMSET
291         bool "Use a very small memset() in SPL"
292         depends on SPL
293         help
294           The faster memset() is the arch-specific one (if available) enabled
295           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
296           better performance by writing a word at a time. But in very
297           size-constrained environments even this may be too big. Enable this
298           option to reduce code size slightly at the cost of some speed.
299
300 config TPL_TINY_MEMSET
301         bool "Use a very small memset() in TPL"
302         depends on TPL
303         help
304           The faster memset() is the arch-specific one (if available) enabled
305           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
306           better performance by writing a word at a time. But in very
307           size-constrained environments even this may be too big. Enable this
308           option to reduce code size slightly at the cost of some speed.
309
310 config RBTREE
311         bool
312
313 config BITREVERSE
314         bool "Bit reverse library from Linux"
315
316 config TRACE
317         bool "Support for tracing of function calls and timing"
318         imply CMD_TRACE
319         imply TIMER_EARLY
320         help
321           Enables function tracing within U-Boot. This allows recording of call
322           traces including timing information. The command can write data to
323           memory for exporting for analysis (e.g. using bootchart).
324           See doc/README.trace for full details.
325
326 config TRACE_BUFFER_SIZE
327         hex "Size of trace buffer in U-Boot"
328         depends on TRACE
329         default 0x01000000
330         help
331           Sets the size of the trace buffer in U-Boot. This is allocated from
332           memory during relocation. If this buffer is too small, the trace
333           history will be truncated, with later records omitted.
334
335           If early trace is enabled (i.e. before relocation), this buffer must
336           be large enough to include all the data from the early trace buffer as
337           well, since this is copied over to the main buffer during relocation.
338
339           A trace record is emitted for each function call and each record is
340           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
341           the size is too small then 'trace stats' will show a message saying
342           how many records were dropped due to buffer overflow.
343
344 config TRACE_CALL_DEPTH_LIMIT
345         int "Trace call depth limit"
346         depends on TRACE
347         default 15
348         help
349           Sets the maximum call depth up to which function calls are recorded.
350
351 config TRACE_EARLY
352         bool "Enable tracing before relocation"
353         depends on TRACE
354         help
355           Sometimes it is helpful to trace execution of U-Boot before
356           relocation. This is possible by using a arch-specific, fixed buffer
357           position in memory. Enable this option to start tracing as early as
358           possible after U-Boot starts.
359
360 config TRACE_EARLY_SIZE
361         hex "Size of early trace buffer in U-Boot"
362         depends on TRACE_EARLY
363         default 0x00100000
364         help
365           Sets the size of the early trace buffer in bytes. This is used to hold
366           tracing information before relocation.
367
368 config TRACE_EARLY_CALL_DEPTH_LIMIT
369         int "Early trace call depth limit"
370         depends on TRACE_EARLY
371         default 200
372         help
373           Sets the maximum call depth up to which function calls are recorded
374           during early tracing.
375
376 config TRACE_EARLY_ADDR
377         hex "Address of early trace buffer in U-Boot"
378         depends on TRACE_EARLY
379         default 0x00100000
380         help
381           Sets the address of the early trace buffer in U-Boot. This memory
382           must be accessible before relocation.
383
384           A trace record is emitted for each function call and each record is
385           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
386           the size is too small then the message which says the amount of early
387           data being coped will the the same as the
388
389 config CIRCBUF
390         bool "Enable circular buffer support"
391
392 source lib/dhry/Kconfig
393
394 menu "Security support"
395
396 config AES
397         bool "Support the AES algorithm"
398         help
399           This provides a means to encrypt and decrypt data using the AES
400           (Advanced Encryption Standard). This algorithm uses a symetric key
401           and is widely used as a streaming cipher. Different key lengths are
402           supported by the algorithm but only a 128-bit key is supported at
403           present.
404
405 source lib/ecdsa/Kconfig
406 source lib/rsa/Kconfig
407 source lib/crypto/Kconfig
408 source lib/crypt/Kconfig
409
410 config TPM
411         bool "Trusted Platform Module (TPM) Support"
412         depends on DM
413         imply DM_RNG
414         help
415           This enables support for TPMs which can be used to provide security
416           features for your board. The TPM can be connected via LPC or I2C
417           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
418           command to interactive the TPM. Driver model support is provided
419           for the low-level TPM interface, but only one TPM is supported at
420           a time by the TPM library.
421
422 config SPL_TPM
423         bool "Trusted Platform Module (TPM) Support in SPL"
424         depends on SPL_DM
425         imply SPL_CRC8
426         help
427           This enables support for TPMs which can be used to provide security
428           features for your board. The TPM can be connected via LPC or I2C
429           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
430           command to interactive the TPM. Driver model support is provided
431           for the low-level TPM interface, but only one TPM is supported at
432           a time by the TPM library.
433
434 config TPL_TPM
435         bool "Trusted Platform Module (TPM) Support in TPL"
436         depends on TPL_DM
437         help
438           This enables support for TPMs which can be used to provide security
439           features for your board. The TPM can be connected via LPC or I2C
440           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
441           command to interactive the TPM. Driver model support is provided
442           for the low-level TPM interface, but only one TPM is supported at
443           a time by the TPM library.
444
445 config VPL_TPM
446         bool "Trusted Platform Module (TPM) Support in VPL"
447         depends on VPL_DM
448         help
449           This enables support for TPMs which can be used to provide security
450           features for your board. The TPM can be connected via LPC or I2C
451           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
452           command to interactive the TPM. Driver model support is provided
453           for the low-level TPM interface, but only one TPM is supported at
454           a time by the TPM library.
455
456 endmenu
457
458 menu "Android Verified Boot"
459
460 config LIBAVB
461         bool "Android Verified Boot 2.0 support"
462         depends on ANDROID_BOOT_IMAGE
463         help
464           This enables support of Android Verified Boot 2.0 which can be used
465           to assure the end user of the integrity of the software running on a
466           device. Introduces such features as boot chain of trust, rollback
467           protection etc.
468
469 endmenu
470
471 menu "Hashing Support"
472
473 config BLAKE2
474         bool "Enable BLAKE2 support"
475         help
476           This option enables support of hashing using BLAKE2B algorithm.
477           The hash is calculated in software.
478           The BLAKE2 algorithm produces a hash value (digest) between 1 and
479           64 bytes.
480
481 config SHA1
482         bool "Enable SHA1 support"
483         help
484           This option enables support of hashing using SHA1 algorithm.
485           The hash is calculated in software.
486           The SHA1 algorithm produces a 160-bit (20-byte) hash value
487           (digest).
488
489 config SHA256
490         bool "Enable SHA256 support"
491         help
492           This option enables support of hashing using SHA256 algorithm.
493           The hash is calculated in software.
494           The SHA256 algorithm produces a 256-bit (32-byte) hash value
495           (digest).
496
497 config SHA512
498         bool "Enable SHA512 support"
499         help
500           This option enables support of hashing using SHA512 algorithm.
501           The hash is calculated in software.
502           The SHA512 algorithm produces a 512-bit (64-byte) hash value
503           (digest).
504
505 config SHA384
506         bool "Enable SHA384 support"
507         select SHA512
508         help
509           This option enables support of hashing using SHA384 algorithm.
510           The hash is calculated in software. This is also selects SHA512,
511           because these implementations share the bulk of the code..
512           The SHA384 algorithm produces a 384-bit (48-byte) hash value
513           (digest).
514
515 config SHA_HW_ACCEL
516         bool "Enable hardware acceleration for SHA hash functions"
517         help
518           This option enables hardware acceleration for the SHA1 and SHA256
519           hashing algorithms. This affects the 'hash' command and also the
520           hash_lookup_algo() function.
521
522 if SPL
523
524 config SPL_SHA1
525         bool "Enable SHA1 support in SPL"
526         default y if SHA1
527         help
528           This option enables support of hashing using SHA1 algorithm.
529           The hash is calculated in software.
530           The SHA1 algorithm produces a 160-bit (20-byte) hash value
531           (digest).
532
533 config SPL_SHA256
534         bool "Enable SHA256 support in SPL"
535         default y if SHA256
536         help
537           This option enables support of hashing using SHA256 algorithm.
538           The hash is calculated in software.
539           The SHA256 algorithm produces a 256-bit (32-byte) hash value
540           (digest).
541
542 config SPL_SHA512
543         bool "Enable SHA512 support in SPL"
544         default y if SHA512
545         help
546           This option enables support of hashing using SHA512 algorithm.
547           The hash is calculated in software.
548           The SHA512 algorithm produces a 512-bit (64-byte) hash value
549           (digest).
550
551 config SPL_SHA384
552         bool "Enable SHA384 support in SPL"
553         default y if SHA384
554         select SPL_SHA512
555         help
556           This option enables support of hashing using SHA384 algorithm.
557           The hash is calculated in software. This is also selects SHA512,
558           because these implementations share the bulk of the code..
559           The SHA384 algorithm produces a 384-bit (48-byte) hash value
560           (digest).
561
562 config SPL_SHA_HW_ACCEL
563         bool "Enable hardware acceleration for SHA hash functions"
564         default y if SHA_HW_ACCEL
565         help
566           This option enables hardware acceleration for the SHA1 and SHA256
567           hashing algorithms. This affects the 'hash' command and also the
568           hash_lookup_algo() function.
569
570 config SPL_SHA_PROG_HW_ACCEL
571         bool "Enable Progressive hashing support using hardware in SPL"
572         depends on SHA_PROG_HW_ACCEL
573         default y
574         help
575           This option enables hardware-acceleration for SHA progressive
576           hashing.
577           Data can be streamed in a block at a time and the hashing is
578           performed in hardware.
579
580 endif
581
582 if SHA_HW_ACCEL
583
584 config SHA512_HW_ACCEL
585         bool "Enable hardware acceleration for SHA512"
586         depends on SHA512
587         help
588           This option enables hardware acceleration for the SHA384 and SHA512
589           hashing algorithms. This affects the 'hash' command and also the
590           hash_lookup_algo() function.
591
592 config SHA_PROG_HW_ACCEL
593         bool "Enable Progressive hashing support using hardware"
594         help
595           This option enables hardware-acceleration for SHA progressive
596           hashing.
597           Data can be streamed in a block at a time and the hashing is
598           performed in hardware.
599
600 endif
601
602 config MD5
603         bool "Support MD5 algorithm"
604         help
605           This option enables MD5 support. MD5 is an algorithm designed
606           in 1991 that produces a 16-byte digest (or checksum) from its input
607           data. It has a number of vulnerabilities which preclude its use in
608           security applications, but it can be useful for providing a quick
609           checksum of a block of data.
610
611 config SPL_MD5
612         bool "Support MD5 algorithm in SPL"
613         depends on SPL
614         help
615           This option enables MD5 support in SPL. MD5 is an algorithm designed
616           in 1991 that produces a 16-byte digest (or checksum) from its input
617           data. It has a number of vulnerabilities which preclude its use in
618           security applications, but it can be useful for providing a quick
619           checksum of a block of data.
620
621 config CRC8
622         def_bool y
623         help
624           Enables CRC8 support in U-Boot. This is normally required. CRC8 is
625           a simple and fast checksumming algorithm which does a bytewise
626           checksum with feedback to produce an 8-bit result. The code is small
627           and it does not require a lookup table (unlike CRC32).
628
629 config SPL_CRC8
630         bool "Support CRC8 in SPL"
631         depends on SPL
632         help
633           Enables CRC8 support in SPL. This is not normally required. CRC8 is
634           a simple and fast checksumming algorithm which does a bytewise
635           checksum with feedback to produce an 8-bit result. The code is small
636           and it does not require a lookup table (unlike CRC32).
637
638 config CRC32
639         def_bool y
640         help
641           Enables CRC32 support in U-Boot. This is normally required.
642
643 config CRC32C
644         bool
645
646 config XXHASH
647         bool
648
649 endmenu
650
651 menu "Compression Support"
652
653 config LZ4
654         bool "Enable LZ4 decompression support"
655         help
656           If this option is set, support for LZ4 compressed images
657           is included. The LZ4 algorithm can run in-place as long as the
658           compressed image is loaded to the end of the output buffer, and
659           trades lower compression ratios for much faster decompression.
660
661           NOTE: This implements the release version of the LZ4 frame
662           format as generated by default by the 'lz4' command line tool.
663           This is not the same as the outdated, less efficient legacy
664           frame format currently (2015) implemented in the Linux kernel
665           (generated by 'lz4 -l'). The two formats are incompatible.
666
667 config LZMA
668         bool "Enable LZMA decompression support"
669         help
670           This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
671           a dictionary compression algorithm that provides a high compression
672           ratio and fairly fast decompression speed. See also
673           CONFIG_CMD_LZMADEC which provides a decode command.
674
675 config LZO
676         bool "Enable LZO decompression support"
677         help
678           This enables support for the LZO compression algorithm.
679
680 config GZIP
681         bool "Enable gzip decompression support"
682         select ZLIB
683         default y
684         help
685           This enables support for GZIP compression algorithm.
686
687 config ZLIB_UNCOMPRESS
688         bool "Enables zlib's uncompress() functionality"
689         help
690           This enables an extra zlib functionality: the uncompress() function,
691           which decompresses data from a buffer into another, knowing their
692           sizes. Unlike gunzip(), there is no header parsing.
693
694 config GZIP_COMPRESSED
695         bool
696         select ZLIB
697
698 config BZIP2
699         bool "Enable bzip2 decompression support"
700         help
701           This enables support for BZIP2 compression algorithm.
702
703 config ZLIB
704         bool
705         default y
706         help
707           This enables ZLIB compression lib.
708
709 config ZSTD
710         bool "Enable Zstandard decompression support"
711         select XXHASH
712         help
713           This enables Zstandard decompression library.
714
715 config SPL_LZ4
716         bool "Enable LZ4 decompression support in SPL"
717         depends on SPL
718         help
719           This enables support for the LZ4 decompression algorithm in SPL. LZ4
720           is a lossless data compression algorithm that is focused on
721           fast compression and decompression speed. It belongs to the LZ77
722           family of byte-oriented compression schemes.
723
724 config SPL_LZMA
725         bool "Enable LZMA decompression support for SPL build"
726         depends on SPL
727         help
728           This enables support for LZMA compression algorithm for SPL boot.
729
730 config VPL_LZMA
731         bool "Enable LZMA decompression support for VPL build"
732         default y if LZMA
733         help
734           This enables support for LZMA compression algorithm for VPL boot.
735
736 config SPL_LZO
737         bool "Enable LZO decompression support in SPL"
738         depends on SPL
739         help
740           This enables support for LZO compression algorithm in the SPL.
741
742 config SPL_GZIP
743         bool "Enable gzip decompression support for SPL build"
744         select SPL_ZLIB
745         help
746           This enables support for the GZIP compression algorithm for SPL boot.
747
748 config SPL_ZLIB
749         bool
750         help
751           This enables compression lib for SPL boot.
752
753 config SPL_ZSTD
754         bool "Enable Zstandard decompression support in SPL"
755         depends on SPL
756         select XXHASH
757         help
758           This enables Zstandard decompression library in the SPL.
759
760 endmenu
761
762 config ERRNO_STR
763         bool "Enable function for getting errno-related string message"
764         help
765           The function errno_str(int errno), returns a pointer to the errno
766           corresponding text message:
767           - if errno is null or positive number - a pointer to "Success" message
768           - if errno is negative - a pointer to errno related message
769
770 config HEXDUMP
771         bool "Enable hexdump"
772         help
773           This enables functions for printing dumps of binary data.
774
775 config SPL_HEXDUMP
776         bool "Enable hexdump in SPL"
777         depends on SPL && HEXDUMP
778         help
779           This enables functions for printing dumps of binary data in
780           SPL.
781
782 config GETOPT
783         bool "Enable getopt"
784         help
785           This enables functions for parsing command-line options.
786
787 config OF_LIBFDT
788         bool "Enable the FDT library"
789         default y if OF_CONTROL
790         help
791           This enables the FDT library (libfdt). It provides functions for
792           accessing binary device tree images in memory, such as adding and
793           removing nodes and properties, scanning through the tree and finding
794           particular compatible nodes. The library operates on a flattened
795           version of the device tree.
796
797 config OF_LIBFDT_ASSUME_MASK
798         hex "Mask of conditions to assume for libfdt"
799         depends on OF_LIBFDT || FIT
800         default 0
801         help
802           Use this to change the assumptions made by libfdt about the
803           device tree it is working with. A value of 0 means that no assumptions
804           are made, and libfdt is able to deal with malicious data. A value of
805           0xff means all assumptions are made and any invalid data may cause
806           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
807
808 config OF_LIBFDT_OVERLAY
809         bool "Enable the FDT library overlay support"
810         depends on OF_LIBFDT
811         default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
812         help
813           This enables the FDT library (libfdt) overlay support.
814
815 config SYS_FDT_PAD
816         hex "Maximum size of the FDT memory area passeed to the OS"
817         depends on OF_LIBFDT
818         default 0x13000 if FMAN_ENET || QE || U_QE
819         default 0x3000
820         help
821           During OS boot, we allocate a region of memory within the bootmap
822           for the FDT. This is the size that we will expand the FDT that we
823           are using will be extended to be, in bytes.
824
825 config SPL_OF_LIBFDT
826         bool "Enable the FDT library for SPL"
827         depends on SPL_LIBGENERIC_SUPPORT
828         default y if SPL_OF_CONTROL
829         help
830           This enables the FDT library (libfdt). It provides functions for
831           accessing binary device tree images in memory, such as adding and
832           removing nodes and properties, scanning through the tree and finding
833           particular compatible nodes. The library operates on a flattened
834           version of the device tree.
835
836 config SPL_OF_LIBFDT_ASSUME_MASK
837         hex "Mask of conditions to assume for libfdt"
838         depends on SPL_OF_LIBFDT || (FIT && SPL)
839         default 0xff
840         help
841           Use this to change the assumptions made by libfdt in SPL about the
842           device tree it is working with. A value of 0 means that no assumptions
843           are made, and libfdt is able to deal with malicious data. A value of
844           0xff means all assumptions are made and any invalid data may cause
845           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
846
847 config TPL_OF_LIBFDT
848         bool "Enable the FDT library for TPL"
849         depends on TPL_LIBGENERIC_SUPPORT
850         default y if TPL_OF_CONTROL
851         help
852           This enables the FDT library (libfdt). It provides functions for
853           accessing binary device tree images in memory, such as adding and
854           removing nodes and properties, scanning through the tree and finding
855           particular compatible nodes. The library operates on a flattened
856           version of the device tree.
857
858 config TPL_OF_LIBFDT_ASSUME_MASK
859         hex "Mask of conditions to assume for libfdt"
860         depends on TPL_OF_LIBFDT || (FIT && TPL)
861         default 0xff
862         help
863           Use this to change the assumptions made by libfdt in TPL about the
864           device tree it is working with. A value of 0 means that no assumptions
865           are made, and libfdt is able to deal with malicious data. A value of
866           0xff means all assumptions are made and any invalid data may cause
867           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
868
869 config VPL_OF_LIBFDT
870         bool "Enable the FDT library for VPL"
871         depends on VPL
872         default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
873         help
874           This enables the FDT library (libfdt). It provides functions for
875           accessing binary device tree images in memory, such as adding and
876           removing nodes and properties, scanning through the tree and finding
877           particular compatible nodes. The library operates on a flattened
878           version of the device tree.
879
880 config VPL_OF_LIBFDT_ASSUME_MASK
881         hex "Mask of conditions to assume for libfdt"
882         depends on VPL_OF_LIBFDT || (FIT && VPL)
883         default 0xff
884         help
885           Use this to change the assumptions made by libfdt in SPL about the
886           device tree it is working with. A value of 0 means that no assumptions
887           are made, and libfdt is able to deal with malicious data. A value of
888           0xff means all assumptions are made and any invalid data may cause
889           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
890
891 config FDT_FIXUP_PARTITIONS
892         bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
893         depends on OF_LIBFDT
894         depends on CMD_MTDPARTS
895         help
896           Allow overwriting defined partitions in the device tree blob
897           using partition info defined in the 'mtdparts' environment
898           variable.
899
900 menu "System tables"
901         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
902
903 config BLOBLIST_TABLES
904         bool "Put tables in a bloblist"
905         depends on X86 && BLOBLIST
906         help
907           Normally tables are placed at address 0xf0000 and can be up to 64KB
908           long. With this option, tables are instead placed in the bloblist
909           with a pointer from 0xf0000. The size can then be larger and the
910           tables can be placed high in memory.
911
912 config GENERATE_SMBIOS_TABLE
913         bool "Generate an SMBIOS (System Management BIOS) table"
914         default y
915         depends on X86 || EFI_LOADER
916         help
917           The System Management BIOS (SMBIOS) specification addresses how
918           motherboard and system vendors present management information about
919           their products in a standard format by extending the BIOS interface
920           on Intel architecture systems.
921
922           Check http://www.dmtf.org/standards/smbios for details.
923
924           See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
925           the devicetree.
926
927 config LIB_RATIONAL
928         bool "enable continued fraction calculation routines"
929
930 config SPL_LIB_RATIONAL
931         bool "enable continued fraction calculation routines for SPL"
932         depends on SPL
933
934 endmenu
935
936 config ASN1_COMPILER
937         bool
938         help
939           ASN.1 (Abstract Syntax Notation One) is a standard interface
940           description language for defining data structures that can be
941           serialized and deserialized in a cross-platform way. It is
942           broadly used in telecommunications and computer networking,
943           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
944           This option enables the support of the asn1 compiler.
945
946 config ASN1_DECODER
947         bool
948         help
949           ASN.1 (Abstract Syntax Notation One) is a standard interface
950           description language for defining data structures that can be
951           serialized and deserialized in a cross-platform way. It is
952           broadly used in telecommunications and computer networking,
953           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
954           This option enables the support of the asn1 decoder.
955
956 config SPL_ASN1_DECODER
957         bool
958         help
959           ASN.1 (Abstract Syntax Notation One) is a standard interface
960           description language for defining data structures that can be
961           serialized and deserialized in a cross-platform way. It is
962           broadly used in telecommunications and computer networking,
963           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
964           This option enables the support of the asn1 decoder in the SPL.
965
966 config OID_REGISTRY
967         bool
968         help
969           In computing, object identifiers or OIDs are an identifier mechanism
970           standardized by the International Telecommunication Union (ITU) and
971           ISO/IEC for naming any object, concept, or "thing" with a globally
972           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
973           Enable fast lookup object identifier registry.
974
975 config SPL_OID_REGISTRY
976         bool
977         help
978           In computing, object identifiers or OIDs are an identifier mechanism
979           standardized by the International Telecommunication Union (ITU) and
980           ISO/IEC for naming any object, concept, or "thing" with a globally
981           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
982           Enable fast lookup object identifier registry in the SPL.
983
984 config SMBIOS_PARSER
985         bool "SMBIOS parser"
986         help
987           A simple parser for SMBIOS data.
988
989 source lib/efi/Kconfig
990 source lib/efi_loader/Kconfig
991 source lib/optee/Kconfig
992
993 config TEST_FDTDEC
994         bool "enable fdtdec test"
995         depends on OF_LIBFDT
996
997 config LIB_DATE
998         bool
999
1000 config LIB_ELF
1001         bool
1002         help
1003           Support basic elf loading/validating functions.
1004           This supports for 32 bit and 64 bit versions.
1005
1006 config LMB
1007         bool "Enable the logical memory blocks library (lmb)"
1008         default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
1009                      NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
1010         help
1011           Support the library logical memory blocks.
1012
1013 config LMB_USE_MAX_REGIONS
1014         bool "Use a common number of memory and reserved regions in lmb lib"
1015         depends on LMB
1016         default y
1017         help
1018           Define the number of supported memory regions in the library logical
1019           memory blocks.
1020           This feature allow to reduce the lmb library size by using compiler
1021           optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
1022
1023 config LMB_MAX_REGIONS
1024         int "Number of memory and reserved regions in lmb lib"
1025         depends on LMB && LMB_USE_MAX_REGIONS
1026         default 8
1027         help
1028           Define the number of supported regions, memory and reserved, in the
1029           library logical memory blocks.
1030
1031 config LMB_MEMORY_REGIONS
1032         int "Number of memory regions in lmb lib"
1033         depends on LMB && !LMB_USE_MAX_REGIONS
1034         default 8
1035         help
1036           Define the number of supported memory regions in the library logical
1037           memory blocks.
1038           The minimal value is CONFIG_NR_DRAM_BANKS.
1039
1040 config LMB_RESERVED_REGIONS
1041         int "Number of reserved regions in lmb lib"
1042         depends on LMB && !LMB_USE_MAX_REGIONS
1043         default 8
1044         help
1045           Define the number of supported reserved regions in the library logical
1046           memory blocks.
1047
1048 config PHANDLE_CHECK_SEQ
1049         bool "Enable phandle check while getting sequence number"
1050         help
1051           When there are multiple device tree nodes with same name,
1052           enable this config option to distinguish them using
1053           phandles in fdtdec_get_alias_seq() function.
1054
1055 endmenu
1056
1057 menu "FWU Multi Bank Updates"
1058
1059 source lib/fwu_updates/Kconfig
1060
1061 endmenu
This page took 0.088542 seconds and 4 git commands to generate.