1ed36323fSMasahiro Yamadamenu "Library routines" 2ed36323fSMasahiro Yamada 36ef2f901SAdam Fordconfig BCH 46ef2f901SAdam Ford bool "Enable Software based BCH ECC" 56ef2f901SAdam Ford help 66ef2f901SAdam Ford Enables software based BCH ECC algorithm present in lib/bch.c 76ef2f901SAdam Ford This is used by SoC platforms which do not have built-in ELM 86ef2f901SAdam Ford hardware engine required for BCH ECC correction. 96ef2f901SAdam Ford 10b0928da6SMasahiro Yamadaconfig CC_OPTIMIZE_LIBS_FOR_SPEED 11b0928da6SMasahiro Yamada bool "Optimize libraries for speed" 12b0928da6SMasahiro Yamada help 13b0928da6SMasahiro Yamada Enabling this option will pass "-O2" to gcc when compiling 14b0928da6SMasahiro Yamada under "lib" directory. 15b0928da6SMasahiro Yamada 16b0928da6SMasahiro Yamada If unsure, say N. 17b0928da6SMasahiro Yamada 1836c1877cSFaiz Abbasconfig DYNAMIC_CRC_TABLE 1936c1877cSFaiz Abbas bool "Enable Dynamic tables for CRC" 2036c1877cSFaiz Abbas help 2136c1877cSFaiz Abbas Enable this option to calculate entries for CRC tables at runtime. 2236c1877cSFaiz Abbas This can be helpful when reducing the size of the build image 2336c1877cSFaiz Abbas 2445ccec8fSMasahiro Yamadaconfig HAVE_PRIVATE_LIBGCC 2545ccec8fSMasahiro Yamada bool 2645ccec8fSMasahiro Yamada 27a451bc27SAdam Fordconfig LIB_UUID 28a451bc27SAdam Ford bool 29a451bc27SAdam Ford 3014ad44abSAlex Kiernanconfig PRINTF 3114ad44abSAlex Kiernan bool 3214ad44abSAlex Kiernan default y 3314ad44abSAlex Kiernan 3414ad44abSAlex Kiernanconfig SPL_PRINTF 3514ad44abSAlex Kiernan bool 3614ad44abSAlex Kiernan select SPL_SPRINTF 3714ad44abSAlex Kiernan select SPL_STRTO if !USE_TINY_PRINTF 3814ad44abSAlex Kiernan 3914ad44abSAlex Kiernanconfig TPL_PRINTF 4014ad44abSAlex Kiernan bool 4114ad44abSAlex Kiernan select TPL_SPRINTF 4214ad44abSAlex Kiernan select TPL_STRTO if !USE_TINY_PRINTF 4314ad44abSAlex Kiernan 4414ad44abSAlex Kiernanconfig SPRINTF 4514ad44abSAlex Kiernan bool 4614ad44abSAlex Kiernan default y 4714ad44abSAlex Kiernan 4814ad44abSAlex Kiernanconfig SPL_SPRINTF 4914ad44abSAlex Kiernan bool 5014ad44abSAlex Kiernan 5114ad44abSAlex Kiernanconfig TPL_SPRINTF 5214ad44abSAlex Kiernan bool 5314ad44abSAlex Kiernan 5414ad44abSAlex Kiernanconfig STRTO 5514ad44abSAlex Kiernan bool 5614ad44abSAlex Kiernan default y 5714ad44abSAlex Kiernan 5814ad44abSAlex Kiernanconfig SPL_STRTO 5914ad44abSAlex Kiernan bool 6014ad44abSAlex Kiernan 6114ad44abSAlex Kiernanconfig TPL_STRTO 6214ad44abSAlex Kiernan bool 6314ad44abSAlex Kiernan 64c232d14dSAlex Kiernanconfig IMAGE_SPARSE 65c232d14dSAlex Kiernan bool 66c232d14dSAlex Kiernan 67c232d14dSAlex Kiernanconfig IMAGE_SPARSE_FILLBUF_SIZE 68c232d14dSAlex Kiernan hex "Android sparse image CHUNK_TYPE_FILL buffer size" 69c232d14dSAlex Kiernan default 0x80000 70c232d14dSAlex Kiernan depends on IMAGE_SPARSE 71c232d14dSAlex Kiernan help 72c232d14dSAlex Kiernan Set the size of the fill buffer used when processing CHUNK_TYPE_FILL 73c232d14dSAlex Kiernan chunks. 74c232d14dSAlex Kiernan 7545ccec8fSMasahiro Yamadaconfig USE_PRIVATE_LIBGCC 7645ccec8fSMasahiro Yamada bool "Use private libgcc" 7745ccec8fSMasahiro Yamada depends on HAVE_PRIVATE_LIBGCC 7891b86e21SMarek Vasut default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS) 7945ccec8fSMasahiro Yamada help 8045ccec8fSMasahiro Yamada This option allows you to use the built-in libgcc implementation 8167976306SMasahiro Yamada of U-Boot instead of the one provided by the compiler. 8245ccec8fSMasahiro Yamada If unsure, say N. 8345ccec8fSMasahiro Yamada 848c688bc4SMasahiro Yamadaconfig SYS_HZ 858c688bc4SMasahiro Yamada int 868c688bc4SMasahiro Yamada default 1000 878c688bc4SMasahiro Yamada help 888c688bc4SMasahiro Yamada The frequency of the timer returned by get_timer(). 898c688bc4SMasahiro Yamada get_timer() must operate in milliseconds and this option must be 908c688bc4SMasahiro Yamada set to 1000. 918c688bc4SMasahiro Yamada 927d9cde10SStefan Roeseconfig USE_TINY_PRINTF 937d9cde10SStefan Roese bool "Enable tiny printf() version" 947d9cde10SStefan Roese help 957d9cde10SStefan Roese This option enables a tiny, stripped down printf version. 967d9cde10SStefan Roese This should only be used in space limited environments, 977d9cde10SStefan Roese like SPL versions with hard memory limits. This version 987d9cde10SStefan Roese reduces the code size by about 2.5KiB on armv7. 997d9cde10SStefan Roese 1007d9cde10SStefan Roese The supported format specifiers are %c, %s, %u/%d and %x. 1017d9cde10SStefan Roese 1027e3caa81SMasahiro Yamadaconfig PANIC_HANG 1037e3caa81SMasahiro Yamada bool "Do not reset the system on fatal error" 1047e3caa81SMasahiro Yamada help 1057e3caa81SMasahiro Yamada Define this option to stop the system in case of a fatal error, 1067e3caa81SMasahiro Yamada so that you have to reset it manually. This is probably NOT a good 1077e3caa81SMasahiro Yamada idea for an embedded system where you want the system to reboot 1087e3caa81SMasahiro Yamada automatically as fast as possible, but it may be useful during 1097e3caa81SMasahiro Yamada development since you can try to debug the conditions that lead to 1107e3caa81SMasahiro Yamada the situation. 1117e3caa81SMasahiro Yamada 1121a60650cSJoe Hershbergerconfig REGEX 1131a60650cSJoe Hershberger bool "Enable regular expression support" 114f7848d90SJoe Hershberger default y if NET 1151a60650cSJoe Hershberger help 1161a60650cSJoe Hershberger If this variable is defined, U-Boot is linked against the 1171a60650cSJoe Hershberger SLRE (Super Light Regular Expression) library, which adds 1181a60650cSJoe Hershberger regex support to some commands, for example "env grep" and 1191a60650cSJoe Hershberger "setexpr". 1201a60650cSJoe Hershberger 121a5a37567SAdam Fordchoice 122a5a37567SAdam Ford prompt "Pseudo-random library support type" 123a5a37567SAdam Ford depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID 124a5a37567SAdam Ford default LIB_RAND 125a5a37567SAdam Ford help 126a5a37567SAdam Ford Select the library to provide pseudo-random number generator 127a5a37567SAdam Ford functions. LIB_HW_RAND supports certain hardware engines that 128a5a37567SAdam Ford provide this functionality. If in doubt, select LIB_RAND. 129a5a37567SAdam Ford 1309ba9e85fSMichal Simekconfig LIB_RAND 1313850dbe8SMasahiro Yamada bool "Pseudo-random library support" 132a5a37567SAdam Ford 133a5a37567SAdam Fordconfig LIB_HW_RAND 134a5a37567SAdam Ford bool "HW Engine for random libray support" 135a5a37567SAdam Ford 136a5a37567SAdam Fordendchoice 1379ba9e85fSMichal Simek 138ab4458bdSSimon Glassconfig SPL_TINY_MEMSET 139ab4458bdSSimon Glass bool "Use a very small memset() in SPL" 140ab4458bdSSimon Glass help 141ab4458bdSSimon Glass The faster memset() is the arch-specific one (if available) enabled 142ab4458bdSSimon Glass by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 143ab4458bdSSimon Glass better performance by writing a word at a time. But in very 144ab4458bdSSimon Glass size-constrained envrionments even this may be too big. Enable this 145ab4458bdSSimon Glass option to reduce code size slightly at the cost of some speed. 146ab4458bdSSimon Glass 14796b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET 14896b9082cSPhilipp Tomsich bool "Use a very small memset() in TPL" 14996b9082cSPhilipp Tomsich help 15096b9082cSPhilipp Tomsich The faster memset() is the arch-specific one (if available) enabled 15196b9082cSPhilipp Tomsich by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 15296b9082cSPhilipp Tomsich better performance by writing a word at a time. But in very 15396b9082cSPhilipp Tomsich size-constrained envrionments even this may be too big. Enable this 15496b9082cSPhilipp Tomsich option to reduce code size slightly at the cost of some speed. 15596b9082cSPhilipp Tomsich 156aa049152SBoris Brezillonconfig RBTREE 157aa049152SBoris Brezillon bool 158aa049152SBoris Brezillon 159da5337a6SNandor Hanconfig BITREVERSE 160da5337a6SNandor Han bool "Bit reverse library from Linux" 161da5337a6SNandor Han 162d1389403SSimon Glasssource lib/dhry/Kconfig 163d1389403SSimon Glass 164b1a873dfSSimon Glassmenu "Security support" 165b1a873dfSSimon Glass 166b1a873dfSSimon Glassconfig AES 167b1a873dfSSimon Glass bool "Support the AES algorithm" 168b1a873dfSSimon Glass help 169b1a873dfSSimon Glass This provides a means to encrypt and decrypt data using the AES 170b1a873dfSSimon Glass (Advanced Encryption Standard). This algorithm uses a symetric key 171b1a873dfSSimon Glass and is widely used as a streaming cipher. Different key lengths are 172b1a873dfSSimon Glass supported by the algorithm but only a 128-bit key is supported at 173b1a873dfSSimon Glass present. 174b1a873dfSSimon Glass 175d9f23c7fSRuchika Guptasource lib/rsa/Kconfig 176c4beb22fSRuchika Gupta 177a7d660bcSSimon Glassconfig TPM 178a7d660bcSSimon Glass bool "Trusted Platform Module (TPM) Support" 1792419cd16SSimon Glass depends on DM 180a7d660bcSSimon Glass help 181a7d660bcSSimon Glass This enables support for TPMs which can be used to provide security 182a7d660bcSSimon Glass features for your board. The TPM can be connected via LPC or I2C 183a7d660bcSSimon Glass and a sandbox TPM is provided for testing purposes. Use the 'tpm' 184a7d660bcSSimon Glass command to interactive the TPM. Driver model support is provided 185a7d660bcSSimon Glass for the low-level TPM interface, but only one TPM is supported at 186a7d660bcSSimon Glass a time by the TPM library. 187a7d660bcSSimon Glass 188b1a873dfSSimon Glassendmenu 189b1a873dfSSimon Glass 1903330584dSIgor Opaniukmenu "Android Verified Boot" 1913330584dSIgor Opaniuk 1923330584dSIgor Opaniukconfig LIBAVB 1933330584dSIgor Opaniuk bool "Android Verified Boot 2.0 support" 1943330584dSIgor Opaniuk depends on ANDROID_BOOT_IMAGE 1953330584dSIgor Opaniuk default n 1963330584dSIgor Opaniuk help 1973330584dSIgor Opaniuk This enables support of Android Verified Boot 2.0 which can be used 1983330584dSIgor Opaniuk to assure the end user of the integrity of the software running on a 1993330584dSIgor Opaniuk device. Introduces such features as boot chain of trust, rollback 2003330584dSIgor Opaniuk protection etc. 2013330584dSIgor Opaniuk 2023330584dSIgor Opaniukendmenu 2033330584dSIgor Opaniuk 20494e3c8c4Sgaurav ranamenu "Hashing Support" 20594e3c8c4Sgaurav rana 20694e3c8c4Sgaurav ranaconfig SHA1 20794e3c8c4Sgaurav rana bool "Enable SHA1 support" 20894e3c8c4Sgaurav rana help 20994e3c8c4Sgaurav rana This option enables support of hashing using SHA1 algorithm. 21094e3c8c4Sgaurav rana The hash is calculated in software. 21194e3c8c4Sgaurav rana The SHA1 algorithm produces a 160-bit (20-byte) hash value 21294e3c8c4Sgaurav rana (digest). 21394e3c8c4Sgaurav rana 21494e3c8c4Sgaurav ranaconfig SHA256 21594e3c8c4Sgaurav rana bool "Enable SHA256 support" 21694e3c8c4Sgaurav rana help 21794e3c8c4Sgaurav rana This option enables support of hashing using SHA256 algorithm. 21894e3c8c4Sgaurav rana The hash is calculated in software. 21994e3c8c4Sgaurav rana The SHA256 algorithm produces a 256-bit (32-byte) hash value 22094e3c8c4Sgaurav rana (digest). 22194e3c8c4Sgaurav rana 22294e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL 22394e3c8c4Sgaurav rana bool "Enable hashing using hardware" 22494e3c8c4Sgaurav rana help 22594e3c8c4Sgaurav rana This option enables hardware acceleration 22694e3c8c4Sgaurav rana for SHA1/SHA256 hashing. 22794e3c8c4Sgaurav rana This affects the 'hash' command and also the 22894e3c8c4Sgaurav rana hash_lookup_algo() function. 22994e3c8c4Sgaurav rana 23094e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL 23194e3c8c4Sgaurav rana bool "Enable Progressive hashing support using hardware" 23294e3c8c4Sgaurav rana depends on SHA_HW_ACCEL 23394e3c8c4Sgaurav rana help 23494e3c8c4Sgaurav rana This option enables hardware-acceleration for 23594e3c8c4Sgaurav rana SHA1/SHA256 progressive hashing. 23694e3c8c4Sgaurav rana Data can be streamed in a block at a time and the hashing 23794e3c8c4Sgaurav rana is performed in hardware. 238bea79d7dSAndre Przywara 239bea79d7dSAndre Przywaraconfig MD5 240bea79d7dSAndre Przywara bool 241bea79d7dSAndre Przywara 24285d8bf57SMarek Behúnconfig CRC32C 24385d8bf57SMarek Behún bool 24485d8bf57SMarek Behún 24594e3c8c4Sgaurav ranaendmenu 24694e3c8c4Sgaurav rana 247027b728dSJulius Wernermenu "Compression Support" 248027b728dSJulius Werner 249027b728dSJulius Wernerconfig LZ4 250027b728dSJulius Werner bool "Enable LZ4 decompression support" 251027b728dSJulius Werner help 252027b728dSJulius Werner If this option is set, support for LZ4 compressed images 253027b728dSJulius Werner is included. The LZ4 algorithm can run in-place as long as the 254027b728dSJulius Werner compressed image is loaded to the end of the output buffer, and 255027b728dSJulius Werner trades lower compression ratios for much faster decompression. 256027b728dSJulius Werner 257027b728dSJulius Werner NOTE: This implements the release version of the LZ4 frame 258027b728dSJulius Werner format as generated by default by the 'lz4' command line tool. 259027b728dSJulius Werner This is not the same as the outdated, less efficient legacy 260027b728dSJulius Werner frame format currently (2015) implemented in the Linux kernel 261027b728dSJulius Werner (generated by 'lz4 -l'). The two formats are incompatible. 262027b728dSJulius Werner 263aed998aaSSimon Glassconfig LZMA 264aed998aaSSimon Glass bool "Enable LZMA decompression support" 265aed998aaSSimon Glass help 266aed998aaSSimon Glass This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), 267aed998aaSSimon Glass a dictionary compression algorithm that provides a high compression 268aed998aaSSimon Glass ratio and fairly fast decompression speed. See also 269aed998aaSSimon Glass CONFIG_CMD_LZMADEC which provides a decode command. 270aed998aaSSimon Glass 271173aafbfSBoris Brezillonconfig LZO 272d56b4b19STom Rini bool "Enable LZO decompression support" 273d56b4b19STom Rini help 274d56b4b19STom Rini This enables support for LZO compression algorithm.r 2757264f292SYork Sun 276f52bdf4bSJean-Jacques Hiblotconfig SPL_LZO 277f52bdf4bSJean-Jacques Hiblot bool "Enable LZO decompression support in SPL" 278f52bdf4bSJean-Jacques Hiblot help 279f52bdf4bSJean-Jacques Hiblot This enables support for LZO compression algorithm in the SPL. 280f52bdf4bSJean-Jacques Hiblot 2817264f292SYork Sunconfig SPL_GZIP 2827264f292SYork Sun bool "Enable gzip decompression support for SPL build" 2837264f292SYork Sun select SPL_ZLIB 2847264f292SYork Sun help 2857264f292SYork Sun This enables support for GZIP compression altorithm for SPL boot. 2867264f292SYork Sun 2877264f292SYork Sunconfig SPL_ZLIB 2887264f292SYork Sun bool 2897264f292SYork Sun help 2907264f292SYork Sun This enables compression lib for SPL boot. 2917264f292SYork Sun 292027b728dSJulius Wernerendmenu 293027b728dSJulius Werner 2946501ff62SPrzemyslaw Marczakconfig ERRNO_STR 2956501ff62SPrzemyslaw Marczak bool "Enable function for getting errno-related string message" 2966501ff62SPrzemyslaw Marczak help 2976501ff62SPrzemyslaw Marczak The function errno_str(int errno), returns a pointer to the errno 2986501ff62SPrzemyslaw Marczak corresponding text message: 2996501ff62SPrzemyslaw Marczak - if errno is null or positive number - a pointer to "Success" message 3006501ff62SPrzemyslaw Marczak - if errno is negative - a pointer to errno related message 3016501ff62SPrzemyslaw Marczak 302f8c987f8SAlexey Brodkinconfig HEXDUMP 303f8c987f8SAlexey Brodkin bool "Enable hexdump" 304f8c987f8SAlexey Brodkin help 305f8c987f8SAlexey Brodkin This enables functions for printing dumps of binary data. 306f8c987f8SAlexey Brodkin 30769e173ebSSimon Glassconfig OF_LIBFDT 30869e173ebSSimon Glass bool "Enable the FDT library" 30969e173ebSSimon Glass default y if OF_CONTROL 31069e173ebSSimon Glass help 31169e173ebSSimon Glass This enables the FDT library (libfdt). It provides functions for 31269e173ebSSimon Glass accessing binary device tree images in memory, such as adding and 313f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 31469e173ebSSimon Glass particular compatible nodes. The library operates on a flattened 31569e173ebSSimon Glass version of the device tree. 31669e173ebSSimon Glass 317ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY 318ddf67f71SMaxime Ripard bool "Enable the FDT library overlay support" 3196417572eSTom Rini depends on OF_LIBFDT 32058a46f88SPraneeth Bajjuri default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE 321ddf67f71SMaxime Ripard help 322ddf67f71SMaxime Ripard This enables the FDT library (libfdt) overlay support. 323ddf67f71SMaxime Ripard 324aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT 325aa34fbc0SSimon Glass bool "Enable the FDT library for SPL" 326aa34fbc0SSimon Glass default y if SPL_OF_CONTROL 327aa34fbc0SSimon Glass help 328aa34fbc0SSimon Glass This enables the FDT library (libfdt). It provides functions for 329aa34fbc0SSimon Glass accessing binary device tree images in memory, such as adding and 330f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 331aa34fbc0SSimon Glass particular compatible nodes. The library operates on a flattened 332aa34fbc0SSimon Glass version of the device tree. 333aa34fbc0SSimon Glass 334ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS 335ebf7fff2SHeiko Schocher bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" 336ebf7fff2SHeiko Schocher depends on OF_LIBFDT 337*ab948cd2SMasahiro Yamada depends on CMD_MTDPARTS 338ebf7fff2SHeiko Schocher help 339ebf7fff2SHeiko Schocher Allow overwriting defined partitions in the device tree blob 340ebf7fff2SHeiko Schocher using partition info defined in the 'mtdparts' environment 341ebf7fff2SHeiko Schocher variable. 342ebf7fff2SHeiko Schocher 3434b6dddc2SAlexander Grafmenu "System tables" 344e663b350SAlexander Graf depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) 3454b6dddc2SAlexander Graf 3464b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE 3474b6dddc2SAlexander Graf bool "Generate an SMBIOS (System Management BIOS) table" 3484b6dddc2SAlexander Graf default y 349e663b350SAlexander Graf depends on X86 || EFI_LOADER 3504b6dddc2SAlexander Graf help 3514b6dddc2SAlexander Graf The System Management BIOS (SMBIOS) specification addresses how 3524b6dddc2SAlexander Graf motherboard and system vendors present management information about 3534b6dddc2SAlexander Graf their products in a standard format by extending the BIOS interface 3544b6dddc2SAlexander Graf on Intel architecture systems. 3554b6dddc2SAlexander Graf 3564b6dddc2SAlexander Graf Check http://www.dmtf.org/standards/smbios for details. 3574b6dddc2SAlexander Graf 3584b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER 3594b6dddc2SAlexander Graf string "SMBIOS Manufacturer" 3604b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3614b6dddc2SAlexander Graf default SYS_VENDOR 3624b6dddc2SAlexander Graf help 3634b6dddc2SAlexander Graf The board manufacturer to store in SMBIOS structures. 3644b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_VENDOR). 3654b6dddc2SAlexander Graf 3664b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME 3674b6dddc2SAlexander Graf string "SMBIOS Product Name" 3684b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3694b6dddc2SAlexander Graf default SYS_BOARD 3704b6dddc2SAlexander Graf help 3714b6dddc2SAlexander Graf The product name to store in SMBIOS structures. 3724b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_BOARD). 3734b6dddc2SAlexander Graf 3744b6dddc2SAlexander Grafendmenu 3754b6dddc2SAlexander Graf 376867a6ac8SSimon Glasssource lib/efi/Kconfig 377ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig 37832ce6179SBryan O'Donoghuesource lib/optee/Kconfig 379867a6ac8SSimon Glass 380ed36323fSMasahiro Yamadaendmenu 381