1 menu "Library routines"
4 bool "Enable Software based BCH ECC"
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.
10 config CC_OPTIMIZE_LIBS_FOR_SPEED
11 bool "Optimize libraries for speed"
13 Enabling this option will pass "-O2" to gcc when compiling
14 under "lib" directory.
18 config DYNAMIC_CRC_TABLE
19 bool "Enable Dynamic tables for CRC"
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
24 config HAVE_PRIVATE_LIBGCC
30 config USE_PRIVATE_LIBGCC
31 bool "Use private libgcc"
32 depends on HAVE_PRIVATE_LIBGCC
33 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
35 This option allows you to use the built-in libgcc implementation
36 of U-Boot instead of the one provided by the compiler.
43 The frequency of the timer returned by get_timer().
44 get_timer() must operate in milliseconds and this option must be
47 config USE_TINY_PRINTF
48 bool "Enable tiny printf() version"
50 This option enables a tiny, stripped down printf version.
51 This should only be used in space limited environments,
52 like SPL versions with hard memory limits. This version
53 reduces the code size by about 2.5KiB on armv7.
55 The supported format specifiers are %c, %s, %u/%d and %x.
58 bool "Do not reset the system on fatal error"
60 Define this option to stop the system in case of a fatal error,
61 so that you have to reset it manually. This is probably NOT a good
62 idea for an embedded system where you want the system to reboot
63 automatically as fast as possible, but it may be useful during
64 development since you can try to debug the conditions that lead to
68 bool "Enable regular expression support"
71 If this variable is defined, U-Boot is linked against the
72 SLRE (Super Light Regular Expression) library, which adds
73 regex support to some commands, for example "env grep" and
77 prompt "Pseudo-random library support type"
78 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
81 Select the library to provide pseudo-random number generator
82 functions. LIB_HW_RAND supports certain hardware engines that
83 provide this functionality. If in doubt, select LIB_RAND.
86 bool "Pseudo-random library support"
89 bool "HW Engine for random libray support"
93 config SPL_TINY_MEMSET
94 bool "Use a very small memset() in SPL"
96 The faster memset() is the arch-specific one (if available) enabled
97 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
98 better performance by writing a word at a time. But in very
99 size-constrained envrionments even this may be too big. Enable this
100 option to reduce code size slightly at the cost of some speed.
102 config TPL_TINY_MEMSET
103 bool "Use a very small memset() in TPL"
105 The faster memset() is the arch-specific one (if available) enabled
106 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
107 better performance by writing a word at a time. But in very
108 size-constrained envrionments even this may be too big. Enable this
109 option to reduce code size slightly at the cost of some speed.
115 bool "Bit reverse library from Linux"
117 source lib/dhry/Kconfig
119 menu "Security support"
122 bool "Support the AES algorithm"
124 This provides a means to encrypt and decrypt data using the AES
125 (Advanced Encryption Standard). This algorithm uses a symetric key
126 and is widely used as a streaming cipher. Different key lengths are
127 supported by the algorithm but only a 128-bit key is supported at
130 source lib/rsa/Kconfig
133 bool "Trusted Platform Module (TPM) Support"
136 This enables support for TPMs which can be used to provide security
137 features for your board. The TPM can be connected via LPC or I2C
138 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
139 command to interactive the TPM. Driver model support is provided
140 for the low-level TPM interface, but only one TPM is supported at
141 a time by the TPM library.
145 menu "Hashing Support"
148 bool "Enable SHA1 support"
150 This option enables support of hashing using SHA1 algorithm.
151 The hash is calculated in software.
152 The SHA1 algorithm produces a 160-bit (20-byte) hash value
156 bool "Enable SHA256 support"
158 This option enables support of hashing using SHA256 algorithm.
159 The hash is calculated in software.
160 The SHA256 algorithm produces a 256-bit (32-byte) hash value
164 bool "Enable hashing using hardware"
166 This option enables hardware acceleration
167 for SHA1/SHA256 hashing.
168 This affects the 'hash' command and also the
169 hash_lookup_algo() function.
171 config SHA_PROG_HW_ACCEL
172 bool "Enable Progressive hashing support using hardware"
173 depends on SHA_HW_ACCEL
175 This option enables hardware-acceleration for
176 SHA1/SHA256 progressive hashing.
177 Data can be streamed in a block at a time and the hashing
178 is performed in hardware.
188 menu "Compression Support"
191 bool "Enable LZ4 decompression support"
193 If this option is set, support for LZ4 compressed images
194 is included. The LZ4 algorithm can run in-place as long as the
195 compressed image is loaded to the end of the output buffer, and
196 trades lower compression ratios for much faster decompression.
198 NOTE: This implements the release version of the LZ4 frame
199 format as generated by default by the 'lz4' command line tool.
200 This is not the same as the outdated, less efficient legacy
201 frame format currently (2015) implemented in the Linux kernel
202 (generated by 'lz4 -l'). The two formats are incompatible.
205 bool "Enable LZMA decompression support"
207 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
208 a dictionary compression algorithm that provides a high compression
209 ratio and fairly fast decompression speed. See also
210 CONFIG_CMD_LZMADEC which provides a decode command.
213 bool "Enable LZO decompression support"
215 This enables support for LZO compression algorithm.r
218 bool "Enable LZO decompression support in SPL"
220 This enables support for LZO compression algorithm in the SPL.
223 bool "Enable gzip decompression support for SPL build"
226 This enables support for GZIP compression altorithm for SPL boot.
231 This enables compression lib for SPL boot.
236 bool "Enable function for getting errno-related string message"
238 The function errno_str(int errno), returns a pointer to the errno
239 corresponding text message:
240 - if errno is null or positive number - a pointer to "Success" message
241 - if errno is negative - a pointer to errno related message
244 bool "Enable the FDT library"
245 default y if OF_CONTROL
247 This enables the FDT library (libfdt). It provides functions for
248 accessing binary device tree images in memory, such as adding and
249 removing nodes and properties, scanning through the tree and finding
250 particular compatible nodes. The library operates on a flattened
251 version of the device tree.
253 config OF_LIBFDT_OVERLAY
254 bool "Enable the FDT library overlay support"
256 This enables the FDT library (libfdt) overlay support.
259 bool "Enable the FDT library for SPL"
260 default y if SPL_OF_CONTROL
262 This enables the FDT library (libfdt). It provides functions for
263 accessing binary device tree images in memory, such as adding and
264 removing nodes and properties, scanning through the tree and finding
265 particular compatible nodes. The library operates on a flattened
266 version of the device tree.
268 config FDT_FIXUP_PARTITIONS
269 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
273 Allow overwriting defined partitions in the device tree blob
274 using partition info defined in the 'mtdparts' environment
278 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
280 config GENERATE_SMBIOS_TABLE
281 bool "Generate an SMBIOS (System Management BIOS) table"
283 depends on X86 || EFI_LOADER
285 The System Management BIOS (SMBIOS) specification addresses how
286 motherboard and system vendors present management information about
287 their products in a standard format by extending the BIOS interface
288 on Intel architecture systems.
290 Check http://www.dmtf.org/standards/smbios for details.
292 config SMBIOS_MANUFACTURER
293 string "SMBIOS Manufacturer"
294 depends on GENERATE_SMBIOS_TABLE
297 The board manufacturer to store in SMBIOS structures.
298 Change this to override the default one (CONFIG_SYS_VENDOR).
300 config SMBIOS_PRODUCT_NAME
301 string "SMBIOS Product Name"
302 depends on GENERATE_SMBIOS_TABLE
305 The product name to store in SMBIOS structures.
306 Change this to override the default one (CONFIG_SYS_BOARD).
310 source lib/efi/Kconfig
311 source lib/efi_loader/Kconfig
312 source lib/optee/Kconfig