1 menu "Library routines"
4 bool "Enable support for non-identity virtual-physical mappings"
6 Enables helper code for implementing non-identity virtual-physical
7 memory mappings for 32bit CPUs.
9 This library only works in the post-relocation phase.
11 config SYS_NUM_ADDR_MAP
12 int "Size of the address-map table"
16 Sets the number of entries in the virtual-physical mapping table.
18 config SYS_TIMER_COUNTS_DOWN
19 bool "System timer counts down rather than up"
22 bool "Access to physical memory region (> 4G)"
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
32 bool "Enable Software based BCH ECC"
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.
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
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
48 config CC_OPTIMIZE_LIBS_FOR_SPEED
49 bool "Optimize libraries for speed"
51 Enabling this option will pass "-O2" to gcc when compiling
52 under "lib" directory.
59 config DYNAMIC_CRC_TABLE
60 bool "Enable Dynamic tables for CRC"
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
65 config HAVE_ARCH_IOMAP
68 Enable this option if architecture provides io{read,write}{8,16,32}
69 I/O accessor functions.
71 config HAVE_PRIVATE_LIBGCC
82 bool "Support semihosting"
83 depends on ARM || RISCV
85 Semihosting is a method for a target to communicate with a host
86 debugger. It uses special instructions which the debugger will trap
87 on and interpret. This allows U-Boot to read/write files, print to
88 the console, and execute arbitrary commands on the host system.
90 Enabling this option will add support for reading and writing files
91 on the host system. If you don't have a debugger attached then trying
92 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
94 config SEMIHOSTING_FALLBACK
95 bool "Recover gracefully when semihosting fails"
96 depends on SEMIHOSTING && (ARM64 || RISCV)
99 Normally, if U-Boot makes a semihosting call and no debugger is
100 attached, then it will panic due to a synchronous abort
101 exception. This config adds an exception handler which will allow
102 U-Boot to recover. Say 'y' if unsure.
104 config SPL_SEMIHOSTING
105 bool "Support semihosting in SPL"
106 depends on SPL && (ARM || RISCV)
108 Semihosting is a method for a target to communicate with a host
109 debugger. It uses special instructions which the debugger will trap
110 on and interpret. This allows U-Boot to read/write files, print to
111 the console, and execute arbitrary commands on the host system.
113 Enabling this option will add support for reading and writing files
114 on the host system. If you don't have a debugger attached then trying
115 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
117 config SPL_SEMIHOSTING_FALLBACK
118 bool "Recover gracefully when semihosting fails in SPL"
119 depends on SPL_SEMIHOSTING && (ARM64 || RISCV)
120 select ARMV8_SPL_EXCEPTION_VECTORS if ARM64
123 Normally, if U-Boot makes a semihosting call and no debugger is
124 attached, then it will panic due to a synchronous abort
125 exception. This config adds an exception handler which will allow
126 U-Boot to recover. Say 'y' if unsure.
135 select SPL_STRTO if !SPL_USE_TINY_PRINTF
140 select TPL_STRTO if !TPL_USE_TINY_PRINTF
145 select VPL_STRTO if !VPL_USE_TINY_PRINTF
179 config IMAGE_SPARSE_FILLBUF_SIZE
180 hex "Android sparse image CHUNK_TYPE_FILL buffer size"
182 depends on IMAGE_SPARSE
184 Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
187 config USE_PRIVATE_LIBGCC
188 bool "Use private libgcc"
189 depends on HAVE_PRIVATE_LIBGCC
190 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
192 This option allows you to use the built-in libgcc implementation
193 of U-Boot instead of the one provided by the compiler.
200 The frequency of the timer returned by get_timer().
201 get_timer() must operate in milliseconds and this option must be
204 config SPL_USE_TINY_PRINTF
205 bool "Enable tiny printf() version in SPL"
209 This option enables a tiny, stripped down printf version.
210 This should only be used in space limited environments,
211 like SPL versions with hard memory limits. This version
212 reduces the code size by about 2.5KiB on armv7.
214 The supported format specifiers are %c, %s, %u/%d and %x.
216 config TPL_USE_TINY_PRINTF
217 bool "Enable tiny printf() version in TPL"
219 default y if SPL_USE_TINY_PRINTF
221 This option enables a tiny, stripped down printf version.
222 This should only be used in space limited environments,
223 like SPL versions with hard memory limits. This version
224 reduces the code size by about 2.5KiB on armv7.
226 The supported format specifiers are %c, %s, %u/%d and %x.
228 config VPL_USE_TINY_PRINTF
229 bool "Enable tiny printf() version for VPL"
232 This option enables a tiny, stripped down printf version.
233 This should only be used in space limited environments,
234 like SPL versions with hard memory limits. This version
235 reduces the code size by about 2.5KiB on armv7.
237 The supported format specifiers are %c, %s, %u/%d and %x.
240 bool "Do not reset the system on fatal error"
242 Define this option to stop the system in case of a fatal error,
243 so that you have to reset it manually. This is probably NOT a good
244 idea for an embedded system where you want the system to reboot
245 automatically as fast as possible, but it may be useful during
246 development since you can try to debug the conditions that lead to
250 bool "Enable regular expression support"
253 If this variable is defined, U-Boot is linked against the
254 SLRE (Super Light Regular Expression) library, which adds
255 regex support to some commands, for example "env grep" and
259 prompt "Pseudo-random library support type"
260 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
261 RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
264 Select the library to provide pseudo-random number generator
265 functions. LIB_HW_RAND supports certain hardware engines that
266 provide this functionality. If in doubt, select LIB_RAND.
269 bool "Pseudo-random library support"
272 bool "HW Engine for random library support"
279 Enable this if your arch or board can support generating ACPI
280 (Advanced Configuration and Power Interface) tables. In this case
281 U-Boot can generate these tables and pass them to the Operating
284 config GENERATE_ACPI_TABLE
285 bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
286 depends on SUPPORT_ACPI
289 The Advanced Configuration and Power Interface (ACPI) specification
290 provides an open standard for device configuration and management
291 by the operating system. It defines platform-independent interfaces
292 for configuration and power management monitoring.
294 config SPL_TINY_MEMSET
295 bool "Use a very small memset() in SPL"
298 The faster memset() is the arch-specific one (if available) enabled
299 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
300 better performance by writing a word at a time. But in very
301 size-constrained environments even this may be too big. Enable this
302 option to reduce code size slightly at the cost of some speed.
304 config TPL_TINY_MEMSET
305 bool "Use a very small memset() in TPL"
308 The faster memset() is the arch-specific one (if available) enabled
309 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
310 better performance by writing a word at a time. But in very
311 size-constrained environments even this may be too big. Enable this
312 option to reduce code size slightly at the cost of some speed.
318 bool "Bit reverse library from Linux"
321 bool "Support for tracing of function calls and timing"
325 Enables function tracing within U-Boot. This allows recording of call
326 traces including timing information. The command can write data to
327 memory for exporting for analysis (e.g. using bootchart).
328 See doc/README.trace for full details.
330 config TRACE_BUFFER_SIZE
331 hex "Size of trace buffer in U-Boot"
335 Sets the size of the trace buffer in U-Boot. This is allocated from
336 memory during relocation. If this buffer is too small, the trace
337 history will be truncated, with later records omitted.
339 If early trace is enabled (i.e. before relocation), this buffer must
340 be large enough to include all the data from the early trace buffer as
341 well, since this is copied over to the main buffer during relocation.
343 A trace record is emitted for each function call and each record is
344 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
345 the size is too small then 'trace stats' will show a message saying
346 how many records were dropped due to buffer overflow.
348 config TRACE_CALL_DEPTH_LIMIT
349 int "Trace call depth limit"
353 Sets the maximum call depth up to which function calls are recorded.
356 bool "Enable tracing before relocation"
359 Sometimes it is helpful to trace execution of U-Boot before
360 relocation. This is possible by using a arch-specific, fixed buffer
361 position in memory. Enable this option to start tracing as early as
362 possible after U-Boot starts.
364 config TRACE_EARLY_SIZE
365 hex "Size of early trace buffer in U-Boot"
366 depends on TRACE_EARLY
369 Sets the size of the early trace buffer in bytes. This is used to hold
370 tracing information before relocation.
372 config TRACE_EARLY_CALL_DEPTH_LIMIT
373 int "Early trace call depth limit"
374 depends on TRACE_EARLY
377 Sets the maximum call depth up to which function calls are recorded
378 during early tracing.
380 config TRACE_EARLY_ADDR
381 hex "Address of early trace buffer in U-Boot"
382 depends on TRACE_EARLY
385 Sets the address of the early trace buffer in U-Boot. This memory
386 must be accessible before relocation.
388 A trace record is emitted for each function call and each record is
389 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
390 the size is too small then the message which says the amount of early
391 data being coped will the the same as the
394 bool "Enable circular buffer support"
396 source lib/dhry/Kconfig
398 menu "Security support"
401 bool "Support the AES algorithm"
403 This provides a means to encrypt and decrypt data using the AES
404 (Advanced Encryption Standard). This algorithm uses a symetric key
405 and is widely used as a streaming cipher. Different key lengths are
406 supported by the algorithm but only a 128-bit key is supported at
409 source lib/ecdsa/Kconfig
410 source lib/rsa/Kconfig
411 source lib/crypto/Kconfig
412 source lib/crypt/Kconfig
415 bool "Trusted Platform Module (TPM) Support"
419 This enables support for TPMs which can be used to provide security
420 features for your board. The TPM can be connected via LPC or I2C
421 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
422 command to interactive the TPM. Driver model support is provided
423 for the low-level TPM interface, but only one TPM is supported at
424 a time by the TPM library.
427 bool "Trusted Platform Module (TPM) Support in SPL"
431 This enables support for TPMs which can be used to provide security
432 features for your board. The TPM can be connected via LPC or I2C
433 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
434 command to interactive the TPM. Driver model support is provided
435 for the low-level TPM interface, but only one TPM is supported at
436 a time by the TPM library.
439 bool "Trusted Platform Module (TPM) Support in TPL"
442 This enables support for TPMs which can be used to provide security
443 features for your board. The TPM can be connected via LPC or I2C
444 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
445 command to interactive the TPM. Driver model support is provided
446 for the low-level TPM interface, but only one TPM is supported at
447 a time by the TPM library.
450 bool "Trusted Platform Module (TPM) Support in VPL"
453 This enables support for TPMs which can be used to provide security
454 features for your board. The TPM can be connected via LPC or I2C
455 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
456 command to interactive the TPM. Driver model support is provided
457 for the low-level TPM interface, but only one TPM is supported at
458 a time by the TPM library.
462 menu "Android Verified Boot"
465 bool "Android Verified Boot 2.0 support"
466 depends on ANDROID_BOOT_IMAGE
468 This enables support of Android Verified Boot 2.0 which can be used
469 to assure the end user of the integrity of the software running on a
470 device. Introduces such features as boot chain of trust, rollback
475 menu "Hashing Support"
478 bool "Enable BLAKE2 support"
480 This option enables support of hashing using BLAKE2B algorithm.
481 The hash is calculated in software.
482 The BLAKE2 algorithm produces a hash value (digest) between 1 and
486 bool "Enable SHA1 support"
488 This option enables support of hashing using SHA1 algorithm.
489 The hash is calculated in software.
490 The SHA1 algorithm produces a 160-bit (20-byte) hash value
494 bool "Enable SHA256 support"
496 This option enables support of hashing using SHA256 algorithm.
497 The hash is calculated in software.
498 The SHA256 algorithm produces a 256-bit (32-byte) hash value
502 bool "Enable SHA512 support"
504 This option enables support of hashing using SHA512 algorithm.
505 The hash is calculated in software.
506 The SHA512 algorithm produces a 512-bit (64-byte) hash value
510 bool "Enable SHA384 support"
513 This option enables support of hashing using SHA384 algorithm.
514 The hash is calculated in software. This is also selects SHA512,
515 because these implementations share the bulk of the code..
516 The SHA384 algorithm produces a 384-bit (48-byte) hash value
520 bool "Enable hardware acceleration for SHA hash functions"
522 This option enables hardware acceleration for the SHA1 and SHA256
523 hashing algorithms. This affects the 'hash' command and also the
524 hash_lookup_algo() function.
529 bool "Enable SHA1 support in SPL"
532 This option enables support of hashing using SHA1 algorithm.
533 The hash is calculated in software.
534 The SHA1 algorithm produces a 160-bit (20-byte) hash value
538 bool "Enable SHA256 support in SPL"
541 This option enables support of hashing using SHA256 algorithm.
542 The hash is calculated in software.
543 The SHA256 algorithm produces a 256-bit (32-byte) hash value
547 bool "Enable SHA512 support in SPL"
550 This option enables support of hashing using SHA512 algorithm.
551 The hash is calculated in software.
552 The SHA512 algorithm produces a 512-bit (64-byte) hash value
556 bool "Enable SHA384 support in SPL"
560 This option enables support of hashing using SHA384 algorithm.
561 The hash is calculated in software. This is also selects SHA512,
562 because these implementations share the bulk of the code..
563 The SHA384 algorithm produces a 384-bit (48-byte) hash value
566 config SPL_SHA_HW_ACCEL
567 bool "Enable hardware acceleration for SHA hash functions"
568 default y if SHA_HW_ACCEL
570 This option enables hardware acceleration for the SHA1 and SHA256
571 hashing algorithms. This affects the 'hash' command and also the
572 hash_lookup_algo() function.
574 config SPL_SHA_PROG_HW_ACCEL
575 bool "Enable Progressive hashing support using hardware in SPL"
576 depends on SHA_PROG_HW_ACCEL
579 This option enables hardware-acceleration for SHA progressive
581 Data can be streamed in a block at a time and the hashing is
582 performed in hardware.
587 bool "Enable SHA1 support in VPL"
591 This option enables support of hashing using SHA1 algorithm.
592 The hash is calculated in software.
593 The SHA1 algorithm produces a 160-bit (20-byte) hash value
597 bool "Enable SHA256 support in VPL"
601 This option enables support of hashing using SHA256 algorithm.
602 The hash is calculated in software.
603 The SHA256 algorithm produces a 256-bit (32-byte) hash value
608 config SHA512_HW_ACCEL
609 bool "Enable hardware acceleration for SHA512"
612 This option enables hardware acceleration for the SHA384 and SHA512
613 hashing algorithms. This affects the 'hash' command and also the
614 hash_lookup_algo() function.
616 config SHA_PROG_HW_ACCEL
617 bool "Enable Progressive hashing support using hardware"
619 This option enables hardware-acceleration for SHA progressive
621 Data can be streamed in a block at a time and the hashing is
622 performed in hardware.
627 bool "Support MD5 algorithm"
629 This option enables MD5 support. MD5 is an algorithm designed
630 in 1991 that produces a 16-byte digest (or checksum) from its input
631 data. It has a number of vulnerabilities which preclude its use in
632 security applications, but it can be useful for providing a quick
633 checksum of a block of data.
636 bool "Support MD5 algorithm in SPL"
639 This option enables MD5 support in SPL. MD5 is an algorithm designed
640 in 1991 that produces a 16-byte digest (or checksum) from its input
641 data. It has a number of vulnerabilities which preclude its use in
642 security applications, but it can be useful for providing a quick
643 checksum of a block of data.
648 Enables CRC8 support in U-Boot. This is normally required. CRC8 is
649 a simple and fast checksumming algorithm which does a bytewise
650 checksum with feedback to produce an 8-bit result. The code is small
651 and it does not require a lookup table (unlike CRC32).
654 bool "Support CRC8 in SPL"
657 Enables CRC8 support in SPL. This is not normally required. CRC8 is
658 a simple and fast checksumming algorithm which does a bytewise
659 checksum with feedback to produce an 8-bit result. The code is small
660 and it does not require a lookup table (unlike CRC32).
665 Enables CRC32 support in U-Boot. This is normally required.
675 menu "Compression Support"
678 bool "Enable LZ4 decompression support"
680 If this option is set, support for LZ4 compressed images
681 is included. The LZ4 algorithm can run in-place as long as the
682 compressed image is loaded to the end of the output buffer, and
683 trades lower compression ratios for much faster decompression.
685 NOTE: This implements the release version of the LZ4 frame
686 format as generated by default by the 'lz4' command line tool.
687 This is not the same as the outdated, less efficient legacy
688 frame format currently (2015) implemented in the Linux kernel
689 (generated by 'lz4 -l'). The two formats are incompatible.
692 bool "Enable LZMA decompression support"
694 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
695 a dictionary compression algorithm that provides a high compression
696 ratio and fairly fast decompression speed. See also
697 CONFIG_CMD_LZMADEC which provides a decode command.
700 bool "Enable LZO decompression support"
702 This enables support for the LZO compression algorithm.
705 bool "Enable gzip decompression support"
709 This enables support for GZIP compression algorithm.
711 config ZLIB_UNCOMPRESS
712 bool "Enables zlib's uncompress() functionality"
714 This enables an extra zlib functionality: the uncompress() function,
715 which decompresses data from a buffer into another, knowing their
716 sizes. Unlike gunzip(), there is no header parsing.
718 config GZIP_COMPRESSED
723 bool "Enable bzip2 decompression support"
725 This enables support for BZIP2 compression algorithm.
731 This enables ZLIB compression lib.
734 bool "Enable Zstandard decompression support"
737 This enables Zstandard decompression library.
741 config ZSTD_LIB_MINIFY
742 bool "Minify Zstandard code"
745 This disables various optional components and changes the
746 compilation flags to prioritize space-saving.
748 For detailed info, see zstd's lib/README.md
750 https://github.com/facebook/zstd/blob/dev/lib/README.md
755 bool "Enable bzip2 decompression support for SPL build"
758 This enables support for bzip2 compression algorithm for SPL boot.
761 bool "Enable LZ4 decompression support in SPL"
764 This enables support for the LZ4 decompression algorithm in SPL. LZ4
765 is a lossless data compression algorithm that is focused on
766 fast compression and decompression speed. It belongs to the LZ77
767 family of byte-oriented compression schemes.
770 bool "Enable LZMA decompression support for SPL build"
773 This enables support for LZMA compression algorithm for SPL boot.
776 bool "Enable LZMA decompression support for VPL build"
779 This enables support for LZMA compression algorithm for VPL boot.
782 bool "Enable LZO decompression support in SPL"
785 This enables support for LZO compression algorithm in the SPL.
788 bool "Enable gzip decompression support for SPL build"
791 This enables support for the GZIP compression algorithm for SPL boot.
796 This enables compression lib for SPL boot.
799 bool "Enable Zstandard decompression support in SPL"
803 This enables Zstandard decompression library in the SPL.
808 bool "Enable function for getting errno-related string message"
810 The function errno_str(int errno), returns a pointer to the errno
811 corresponding text message:
812 - if errno is null or positive number - a pointer to "Success" message
813 - if errno is negative - a pointer to errno related message
816 bool "Enable hexdump"
818 This enables functions for printing dumps of binary data.
821 bool "Enable hexdump in SPL"
822 depends on SPL && HEXDUMP
824 This enables functions for printing dumps of binary data in
830 This enables functions for parsing command-line options.
833 bool "Enable the FDT library"
834 default y if OF_CONTROL
836 This enables the FDT library (libfdt). It provides functions for
837 accessing binary device tree images in memory, such as adding and
838 removing nodes and properties, scanning through the tree and finding
839 particular compatible nodes. The library operates on a flattened
840 version of the device tree.
842 config OF_LIBFDT_ASSUME_MASK
843 hex "Mask of conditions to assume for libfdt"
844 depends on OF_LIBFDT || FIT
847 Use this to change the assumptions made by libfdt about the
848 device tree it is working with. A value of 0 means that no assumptions
849 are made, and libfdt is able to deal with malicious data. A value of
850 0xff means all assumptions are made and any invalid data may cause
851 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
853 config OF_LIBFDT_OVERLAY
854 bool "Enable the FDT library overlay support"
856 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
858 This enables the FDT library (libfdt) overlay support.
861 hex "Maximum size of the FDT memory area passeed to the OS"
863 default 0x13000 if FMAN_ENET || QE || U_QE
866 During OS boot, we allocate a region of memory within the bootmap
867 for the FDT. This is the size that we will expand the FDT that we
868 are using will be extended to be, in bytes.
871 bool "Enable the FDT library for SPL"
872 depends on SPL_LIBGENERIC_SUPPORT
873 default y if SPL_OF_CONTROL
875 This enables the FDT library (libfdt). It provides functions for
876 accessing binary device tree images in memory, such as adding and
877 removing nodes and properties, scanning through the tree and finding
878 particular compatible nodes. The library operates on a flattened
879 version of the device tree.
881 config SPL_OF_LIBFDT_ASSUME_MASK
882 hex "Mask of conditions to assume for libfdt"
883 depends on SPL_OF_LIBFDT || (FIT && SPL)
886 Use this to change the assumptions made by libfdt in SPL about the
887 device tree it is working with. A value of 0 means that no assumptions
888 are made, and libfdt is able to deal with malicious data. A value of
889 0xff means all assumptions are made and any invalid data may cause
890 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
893 bool "Enable the FDT library for TPL"
894 depends on TPL_LIBGENERIC_SUPPORT
895 default y if TPL_OF_CONTROL
897 This enables the FDT library (libfdt). It provides functions for
898 accessing binary device tree images in memory, such as adding and
899 removing nodes and properties, scanning through the tree and finding
900 particular compatible nodes. The library operates on a flattened
901 version of the device tree.
903 config TPL_OF_LIBFDT_ASSUME_MASK
904 hex "Mask of conditions to assume for libfdt"
905 depends on TPL_OF_LIBFDT || (FIT && TPL)
908 Use this to change the assumptions made by libfdt in TPL about the
909 device tree it is working with. A value of 0 means that no assumptions
910 are made, and libfdt is able to deal with malicious data. A value of
911 0xff means all assumptions are made and any invalid data may cause
912 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
915 bool "Enable the FDT library for VPL"
917 default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
919 This enables the FDT library (libfdt). It provides functions for
920 accessing binary device tree images in memory, such as adding and
921 removing nodes and properties, scanning through the tree and finding
922 particular compatible nodes. The library operates on a flattened
923 version of the device tree.
925 config VPL_OF_LIBFDT_ASSUME_MASK
926 hex "Mask of conditions to assume for libfdt"
927 depends on VPL_OF_LIBFDT || (FIT && VPL)
930 Use this to change the assumptions made by libfdt in SPL about the
931 device tree it is working with. A value of 0 means that no assumptions
932 are made, and libfdt is able to deal with malicious data. A value of
933 0xff means all assumptions are made and any invalid data may cause
934 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
936 config FDT_FIXUP_PARTITIONS
937 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
939 depends on CMD_MTDPARTS
941 Allow overwriting defined partitions in the device tree blob
942 using partition info defined in the 'mtdparts' environment
946 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
948 config BLOBLIST_TABLES
949 bool "Put tables in a bloblist"
950 depends on X86 && BLOBLIST
952 Normally tables are placed at address 0xf0000 and can be up to 64KB
953 long. With this option, tables are instead placed in the bloblist
954 with a pointer from 0xf0000. The size can then be larger and the
955 tables can be placed high in memory.
957 config GENERATE_SMBIOS_TABLE
958 bool "Generate an SMBIOS (System Management BIOS) table"
960 depends on X86 || EFI_LOADER
962 The System Management BIOS (SMBIOS) specification addresses how
963 motherboard and system vendors present management information about
964 their products in a standard format by extending the BIOS interface
965 on Intel architecture systems.
967 Check http://www.dmtf.org/standards/smbios for details.
969 See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
973 bool "enable continued fraction calculation routines"
975 config SPL_LIB_RATIONAL
976 bool "enable continued fraction calculation routines for SPL"
984 ASN.1 (Abstract Syntax Notation One) is a standard interface
985 description language for defining data structures that can be
986 serialized and deserialized in a cross-platform way. It is
987 broadly used in telecommunications and computer networking,
988 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
989 This option enables the support of the asn1 compiler.
994 ASN.1 (Abstract Syntax Notation One) is a standard interface
995 description language for defining data structures that can be
996 serialized and deserialized in a cross-platform way. It is
997 broadly used in telecommunications and computer networking,
998 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
999 This option enables the support of the asn1 decoder.
1001 config SPL_ASN1_DECODER
1004 ASN.1 (Abstract Syntax Notation One) is a standard interface
1005 description language for defining data structures that can be
1006 serialized and deserialized in a cross-platform way. It is
1007 broadly used in telecommunications and computer networking,
1008 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
1009 This option enables the support of the asn1 decoder in the SPL.
1014 In computing, object identifiers or OIDs are an identifier mechanism
1015 standardized by the International Telecommunication Union (ITU) and
1016 ISO/IEC for naming any object, concept, or "thing" with a globally
1017 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
1018 Enable fast lookup object identifier registry.
1020 config SPL_OID_REGISTRY
1023 In computing, object identifiers or OIDs are an identifier mechanism
1024 standardized by the International Telecommunication Union (ITU) and
1025 ISO/IEC for naming any object, concept, or "thing" with a globally
1026 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
1027 Enable fast lookup object identifier registry in the SPL.
1029 config SMBIOS_PARSER
1030 bool "SMBIOS parser"
1032 A simple parser for SMBIOS data.
1034 source lib/efi/Kconfig
1035 source lib/efi_loader/Kconfig
1036 source lib/optee/Kconfig
1039 bool "enable fdtdec test"
1040 depends on OF_LIBFDT
1048 Support basic elf loading/validating functions.
1049 This supports for 32 bit and 64 bit versions.
1052 bool "Enable the logical memory blocks library (lmb)"
1053 default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
1054 NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
1056 Support the library logical memory blocks.
1058 config LMB_USE_MAX_REGIONS
1059 bool "Use a common number of memory and reserved regions in lmb lib"
1062 Define the number of supported memory regions in the library logical
1064 This feature allow to reduce the lmb library size by using compiler
1065 optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
1067 config LMB_MAX_REGIONS
1068 int "Number of memory and reserved regions in lmb lib"
1069 depends on LMB_USE_MAX_REGIONS
1072 Define the number of supported regions, memory and reserved, in the
1073 library logical memory blocks.
1075 config LMB_MEMORY_REGIONS
1076 int "Number of memory regions in lmb lib"
1077 depends on !LMB_USE_MAX_REGIONS
1080 Define the number of supported memory regions in the library logical
1082 The minimal value is CONFIG_NR_DRAM_BANKS.
1084 config LMB_RESERVED_REGIONS
1085 int "Number of reserved regions in lmb lib"
1086 depends on !LMB_USE_MAX_REGIONS
1089 Define the number of supported reserved regions in the library logical
1092 config PHANDLE_CHECK_SEQ
1093 bool "Enable phandle check while getting sequence number"
1095 When there are multiple device tree nodes with same name,
1096 enable this config option to distinguish them using
1097 phandles in fdtdec_get_alias_seq() function.
1101 menu "FWU Multi Bank Updates"
1103 source lib/fwu_updates/Kconfig