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