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
37 select SPL_STRTO if !USE_TINY_PRINTF
42 select TPL_STRTO if !USE_TINY_PRINTF
64 config USE_PRIVATE_LIBGCC
65 bool "Use private libgcc"
66 depends on HAVE_PRIVATE_LIBGCC
67 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
69 This option allows you to use the built-in libgcc implementation
70 of U-Boot instead of the one provided by the compiler.
77 The frequency of the timer returned by get_timer().
78 get_timer() must operate in milliseconds and this option must be
81 config USE_TINY_PRINTF
82 bool "Enable tiny printf() version"
84 This option enables a tiny, stripped down printf version.
85 This should only be used in space limited environments,
86 like SPL versions with hard memory limits. This version
87 reduces the code size by about 2.5KiB on armv7.
89 The supported format specifiers are %c, %s, %u/%d and %x.
92 bool "Do not reset the system on fatal error"
94 Define this option to stop the system in case of a fatal error,
95 so that you have to reset it manually. This is probably NOT a good
96 idea for an embedded system where you want the system to reboot
97 automatically as fast as possible, but it may be useful during
98 development since you can try to debug the conditions that lead to
102 bool "Enable regular expression support"
105 If this variable is defined, U-Boot is linked against the
106 SLRE (Super Light Regular Expression) library, which adds
107 regex support to some commands, for example "env grep" and
111 prompt "Pseudo-random library support type"
112 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
115 Select the library to provide pseudo-random number generator
116 functions. LIB_HW_RAND supports certain hardware engines that
117 provide this functionality. If in doubt, select LIB_RAND.
120 bool "Pseudo-random library support"
123 bool "HW Engine for random libray support"
127 config SPL_TINY_MEMSET
128 bool "Use a very small memset() in SPL"
130 The faster memset() is the arch-specific one (if available) enabled
131 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
132 better performance by writing a word at a time. But in very
133 size-constrained envrionments even this may be too big. Enable this
134 option to reduce code size slightly at the cost of some speed.
136 config TPL_TINY_MEMSET
137 bool "Use a very small memset() in TPL"
139 The faster memset() is the arch-specific one (if available) enabled
140 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
141 better performance by writing a word at a time. But in very
142 size-constrained envrionments even this may be too big. Enable this
143 option to reduce code size slightly at the cost of some speed.
149 bool "Bit reverse library from Linux"
151 source lib/dhry/Kconfig
153 menu "Security support"
156 bool "Support the AES algorithm"
158 This provides a means to encrypt and decrypt data using the AES
159 (Advanced Encryption Standard). This algorithm uses a symetric key
160 and is widely used as a streaming cipher. Different key lengths are
161 supported by the algorithm but only a 128-bit key is supported at
164 source lib/rsa/Kconfig
167 bool "Trusted Platform Module (TPM) Support"
170 This enables support for TPMs which can be used to provide security
171 features for your board. The TPM can be connected via LPC or I2C
172 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
173 command to interactive the TPM. Driver model support is provided
174 for the low-level TPM interface, but only one TPM is supported at
175 a time by the TPM library.
179 menu "Hashing Support"
182 bool "Enable SHA1 support"
184 This option enables support of hashing using SHA1 algorithm.
185 The hash is calculated in software.
186 The SHA1 algorithm produces a 160-bit (20-byte) hash value
190 bool "Enable SHA256 support"
192 This option enables support of hashing using SHA256 algorithm.
193 The hash is calculated in software.
194 The SHA256 algorithm produces a 256-bit (32-byte) hash value
198 bool "Enable hashing using hardware"
200 This option enables hardware acceleration
201 for SHA1/SHA256 hashing.
202 This affects the 'hash' command and also the
203 hash_lookup_algo() function.
205 config SHA_PROG_HW_ACCEL
206 bool "Enable Progressive hashing support using hardware"
207 depends on SHA_HW_ACCEL
209 This option enables hardware-acceleration for
210 SHA1/SHA256 progressive hashing.
211 Data can be streamed in a block at a time and the hashing
212 is performed in hardware.
222 menu "Compression Support"
225 bool "Enable LZ4 decompression support"
227 If this option is set, support for LZ4 compressed images
228 is included. The LZ4 algorithm can run in-place as long as the
229 compressed image is loaded to the end of the output buffer, and
230 trades lower compression ratios for much faster decompression.
232 NOTE: This implements the release version of the LZ4 frame
233 format as generated by default by the 'lz4' command line tool.
234 This is not the same as the outdated, less efficient legacy
235 frame format currently (2015) implemented in the Linux kernel
236 (generated by 'lz4 -l'). The two formats are incompatible.
239 bool "Enable LZMA decompression support"
241 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
242 a dictionary compression algorithm that provides a high compression
243 ratio and fairly fast decompression speed. See also
244 CONFIG_CMD_LZMADEC which provides a decode command.
247 bool "Enable LZO decompression support"
249 This enables support for LZO compression algorithm.r
252 bool "Enable LZO decompression support in SPL"
254 This enables support for LZO compression algorithm in the SPL.
257 bool "Enable gzip decompression support for SPL build"
260 This enables support for GZIP compression altorithm for SPL boot.
265 This enables compression lib for SPL boot.
270 bool "Enable function for getting errno-related string message"
272 The function errno_str(int errno), returns a pointer to the errno
273 corresponding text message:
274 - if errno is null or positive number - a pointer to "Success" message
275 - if errno is negative - a pointer to errno related message
278 bool "Enable the FDT library"
279 default y if OF_CONTROL
281 This enables the FDT library (libfdt). It provides functions for
282 accessing binary device tree images in memory, such as adding and
283 removing nodes and properties, scanning through the tree and finding
284 particular compatible nodes. The library operates on a flattened
285 version of the device tree.
287 config OF_LIBFDT_OVERLAY
288 bool "Enable the FDT library overlay support"
290 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
292 This enables the FDT library (libfdt) overlay support.
295 bool "Enable the FDT library for SPL"
296 default y if SPL_OF_CONTROL
298 This enables the FDT library (libfdt). It provides functions for
299 accessing binary device tree images in memory, such as adding and
300 removing nodes and properties, scanning through the tree and finding
301 particular compatible nodes. The library operates on a flattened
302 version of the device tree.
304 config FDT_FIXUP_PARTITIONS
305 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
309 Allow overwriting defined partitions in the device tree blob
310 using partition info defined in the 'mtdparts' environment
314 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
316 config GENERATE_SMBIOS_TABLE
317 bool "Generate an SMBIOS (System Management BIOS) table"
319 depends on X86 || EFI_LOADER
321 The System Management BIOS (SMBIOS) specification addresses how
322 motherboard and system vendors present management information about
323 their products in a standard format by extending the BIOS interface
324 on Intel architecture systems.
326 Check http://www.dmtf.org/standards/smbios for details.
328 config SMBIOS_MANUFACTURER
329 string "SMBIOS Manufacturer"
330 depends on GENERATE_SMBIOS_TABLE
333 The board manufacturer to store in SMBIOS structures.
334 Change this to override the default one (CONFIG_SYS_VENDOR).
336 config SMBIOS_PRODUCT_NAME
337 string "SMBIOS Product Name"
338 depends on GENERATE_SMBIOS_TABLE
341 The product name to store in SMBIOS structures.
342 Change this to override the default one (CONFIG_SYS_BOARD).
346 source lib/efi/Kconfig
347 source lib/efi_loader/Kconfig
348 source lib/optee/Kconfig