1menu "Library routines" 2 3config BCH 4 bool "Enable Software based BCH ECC" 5 help 6 Enables software based BCH ECC algorithm present in lib/bch.c 7 This is used by SoC platforms which do not have built-in ELM 8 hardware engine required for BCH ECC correction. 9 10config CC_OPTIMIZE_LIBS_FOR_SPEED 11 bool "Optimize libraries for speed" 12 help 13 Enabling this option will pass "-O2" to gcc when compiling 14 under "lib" directory. 15 16 If unsure, say N. 17 18config DYNAMIC_CRC_TABLE 19 bool "Enable Dynamic tables for CRC" 20 help 21 Enable this option to calculate entries for CRC tables at runtime. 22 This can be helpful when reducing the size of the build image 23 24config HAVE_PRIVATE_LIBGCC 25 bool 26 27config LIB_UUID 28 bool 29 30config PRINTF 31 bool 32 default y 33 34config SPL_PRINTF 35 bool 36 select SPL_SPRINTF 37 select SPL_STRTO if !USE_TINY_PRINTF 38 39config TPL_PRINTF 40 bool 41 select TPL_SPRINTF 42 select TPL_STRTO if !USE_TINY_PRINTF 43 44config SPRINTF 45 bool 46 default y 47 48config SPL_SPRINTF 49 bool 50 51config TPL_SPRINTF 52 bool 53 54config STRTO 55 bool 56 default y 57 58config SPL_STRTO 59 bool 60 61config TPL_STRTO 62 bool 63 64config IMAGE_SPARSE 65 bool 66 67config IMAGE_SPARSE_FILLBUF_SIZE 68 hex "Android sparse image CHUNK_TYPE_FILL buffer size" 69 default 0x80000 70 depends on IMAGE_SPARSE 71 help 72 Set the size of the fill buffer used when processing CHUNK_TYPE_FILL 73 chunks. 74 75config USE_PRIVATE_LIBGCC 76 bool "Use private libgcc" 77 depends on HAVE_PRIVATE_LIBGCC 78 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS) 79 help 80 This option allows you to use the built-in libgcc implementation 81 of U-Boot instead of the one provided by the compiler. 82 If unsure, say N. 83 84config SYS_HZ 85 int 86 default 1000 87 help 88 The frequency of the timer returned by get_timer(). 89 get_timer() must operate in milliseconds and this option must be 90 set to 1000. 91 92config USE_TINY_PRINTF 93 bool "Enable tiny printf() version" 94 help 95 This option enables a tiny, stripped down printf version. 96 This should only be used in space limited environments, 97 like SPL versions with hard memory limits. This version 98 reduces the code size by about 2.5KiB on armv7. 99 100 The supported format specifiers are %c, %s, %u/%d and %x. 101 102config PANIC_HANG 103 bool "Do not reset the system on fatal error" 104 help 105 Define this option to stop the system in case of a fatal error, 106 so that you have to reset it manually. This is probably NOT a good 107 idea for an embedded system where you want the system to reboot 108 automatically as fast as possible, but it may be useful during 109 development since you can try to debug the conditions that lead to 110 the situation. 111 112config REGEX 113 bool "Enable regular expression support" 114 default y if NET 115 help 116 If this variable is defined, U-Boot is linked against the 117 SLRE (Super Light Regular Expression) library, which adds 118 regex support to some commands, for example "env grep" and 119 "setexpr". 120 121choice 122 prompt "Pseudo-random library support type" 123 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID 124 default LIB_RAND 125 help 126 Select the library to provide pseudo-random number generator 127 functions. LIB_HW_RAND supports certain hardware engines that 128 provide this functionality. If in doubt, select LIB_RAND. 129 130config LIB_RAND 131 bool "Pseudo-random library support" 132 133config LIB_HW_RAND 134 bool "HW Engine for random libray support" 135 136endchoice 137 138config SPL_TINY_MEMSET 139 bool "Use a very small memset() in SPL" 140 help 141 The faster memset() is the arch-specific one (if available) enabled 142 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 143 better performance by writing a word at a time. But in very 144 size-constrained envrionments even this may be too big. Enable this 145 option to reduce code size slightly at the cost of some speed. 146 147config TPL_TINY_MEMSET 148 bool "Use a very small memset() in TPL" 149 help 150 The faster memset() is the arch-specific one (if available) enabled 151 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 152 better performance by writing a word at a time. But in very 153 size-constrained envrionments even this may be too big. Enable this 154 option to reduce code size slightly at the cost of some speed. 155 156config RBTREE 157 bool 158 159config BITREVERSE 160 bool "Bit reverse library from Linux" 161 162source lib/dhry/Kconfig 163 164menu "Security support" 165 166config AES 167 bool "Support the AES algorithm" 168 help 169 This provides a means to encrypt and decrypt data using the AES 170 (Advanced Encryption Standard). This algorithm uses a symetric key 171 and is widely used as a streaming cipher. Different key lengths are 172 supported by the algorithm but only a 128-bit key is supported at 173 present. 174 175source lib/rsa/Kconfig 176 177config TPM 178 bool "Trusted Platform Module (TPM) Support" 179 depends on DM 180 help 181 This enables support for TPMs which can be used to provide security 182 features for your board. The TPM can be connected via LPC or I2C 183 and a sandbox TPM is provided for testing purposes. Use the 'tpm' 184 command to interactive the TPM. Driver model support is provided 185 for the low-level TPM interface, but only one TPM is supported at 186 a time by the TPM library. 187 188endmenu 189 190menu "Android Verified Boot" 191 192config LIBAVB 193 bool "Android Verified Boot 2.0 support" 194 depends on ANDROID_BOOT_IMAGE 195 default n 196 help 197 This enables support of Android Verified Boot 2.0 which can be used 198 to assure the end user of the integrity of the software running on a 199 device. Introduces such features as boot chain of trust, rollback 200 protection etc. 201 202endmenu 203 204menu "Hashing Support" 205 206config SHA1 207 bool "Enable SHA1 support" 208 help 209 This option enables support of hashing using SHA1 algorithm. 210 The hash is calculated in software. 211 The SHA1 algorithm produces a 160-bit (20-byte) hash value 212 (digest). 213 214config SHA256 215 bool "Enable SHA256 support" 216 help 217 This option enables support of hashing using SHA256 algorithm. 218 The hash is calculated in software. 219 The SHA256 algorithm produces a 256-bit (32-byte) hash value 220 (digest). 221 222config SHA_HW_ACCEL 223 bool "Enable hashing using hardware" 224 help 225 This option enables hardware acceleration 226 for SHA1/SHA256 hashing. 227 This affects the 'hash' command and also the 228 hash_lookup_algo() function. 229 230config SHA_PROG_HW_ACCEL 231 bool "Enable Progressive hashing support using hardware" 232 depends on SHA_HW_ACCEL 233 help 234 This option enables hardware-acceleration for 235 SHA1/SHA256 progressive hashing. 236 Data can be streamed in a block at a time and the hashing 237 is performed in hardware. 238 239config MD5 240 bool 241 242config CRC32C 243 bool 244 245endmenu 246 247menu "Compression Support" 248 249config LZ4 250 bool "Enable LZ4 decompression support" 251 help 252 If this option is set, support for LZ4 compressed images 253 is included. The LZ4 algorithm can run in-place as long as the 254 compressed image is loaded to the end of the output buffer, and 255 trades lower compression ratios for much faster decompression. 256 257 NOTE: This implements the release version of the LZ4 frame 258 format as generated by default by the 'lz4' command line tool. 259 This is not the same as the outdated, less efficient legacy 260 frame format currently (2015) implemented in the Linux kernel 261 (generated by 'lz4 -l'). The two formats are incompatible. 262 263config LZMA 264 bool "Enable LZMA decompression support" 265 help 266 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), 267 a dictionary compression algorithm that provides a high compression 268 ratio and fairly fast decompression speed. See also 269 CONFIG_CMD_LZMADEC which provides a decode command. 270 271config LZO 272 bool "Enable LZO decompression support" 273 help 274 This enables support for LZO compression algorithm.r 275 276config SPL_LZO 277 bool "Enable LZO decompression support in SPL" 278 help 279 This enables support for LZO compression algorithm in the SPL. 280 281config SPL_GZIP 282 bool "Enable gzip decompression support for SPL build" 283 select SPL_ZLIB 284 help 285 This enables support for GZIP compression altorithm for SPL boot. 286 287config SPL_ZLIB 288 bool 289 help 290 This enables compression lib for SPL boot. 291 292endmenu 293 294config ERRNO_STR 295 bool "Enable function for getting errno-related string message" 296 help 297 The function errno_str(int errno), returns a pointer to the errno 298 corresponding text message: 299 - if errno is null or positive number - a pointer to "Success" message 300 - if errno is negative - a pointer to errno related message 301 302config HEXDUMP 303 bool "Enable hexdump" 304 help 305 This enables functions for printing dumps of binary data. 306 307config OF_LIBFDT 308 bool "Enable the FDT library" 309 default y if OF_CONTROL 310 help 311 This enables the FDT library (libfdt). It provides functions for 312 accessing binary device tree images in memory, such as adding and 313 removing nodes and properties, scanning through the tree and finding 314 particular compatible nodes. The library operates on a flattened 315 version of the device tree. 316 317config OF_LIBFDT_OVERLAY 318 bool "Enable the FDT library overlay support" 319 depends on OF_LIBFDT 320 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE 321 help 322 This enables the FDT library (libfdt) overlay support. 323 324config SPL_OF_LIBFDT 325 bool "Enable the FDT library for SPL" 326 default y if SPL_OF_CONTROL 327 help 328 This enables the FDT library (libfdt). It provides functions for 329 accessing binary device tree images in memory, such as adding and 330 removing nodes and properties, scanning through the tree and finding 331 particular compatible nodes. The library operates on a flattened 332 version of the device tree. 333 334config FDT_FIXUP_PARTITIONS 335 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" 336 depends on OF_LIBFDT 337 default n 338 help 339 Allow overwriting defined partitions in the device tree blob 340 using partition info defined in the 'mtdparts' environment 341 variable. 342 343menu "System tables" 344 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) 345 346config GENERATE_SMBIOS_TABLE 347 bool "Generate an SMBIOS (System Management BIOS) table" 348 default y 349 depends on X86 || EFI_LOADER 350 help 351 The System Management BIOS (SMBIOS) specification addresses how 352 motherboard and system vendors present management information about 353 their products in a standard format by extending the BIOS interface 354 on Intel architecture systems. 355 356 Check http://www.dmtf.org/standards/smbios for details. 357 358config SMBIOS_MANUFACTURER 359 string "SMBIOS Manufacturer" 360 depends on GENERATE_SMBIOS_TABLE 361 default SYS_VENDOR 362 help 363 The board manufacturer to store in SMBIOS structures. 364 Change this to override the default one (CONFIG_SYS_VENDOR). 365 366config SMBIOS_PRODUCT_NAME 367 string "SMBIOS Product Name" 368 depends on GENERATE_SMBIOS_TABLE 369 default SYS_BOARD 370 help 371 The product name to store in SMBIOS structures. 372 Change this to override the default one (CONFIG_SYS_BOARD). 373 374endmenu 375 376source lib/efi/Kconfig 377source lib/efi_loader/Kconfig 378source lib/optee/Kconfig 379 380endmenu 381