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