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 6445ccec8fSMasahiro Yamadaconfig USE_PRIVATE_LIBGCC 6545ccec8fSMasahiro Yamada bool "Use private libgcc" 6645ccec8fSMasahiro Yamada depends on HAVE_PRIVATE_LIBGCC 6791b86e21SMarek Vasut default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS) 6845ccec8fSMasahiro Yamada help 6945ccec8fSMasahiro Yamada This option allows you to use the built-in libgcc implementation 7067976306SMasahiro Yamada of U-Boot instead of the one provided by the compiler. 7145ccec8fSMasahiro Yamada If unsure, say N. 7245ccec8fSMasahiro Yamada 738c688bc4SMasahiro Yamadaconfig SYS_HZ 748c688bc4SMasahiro Yamada int 758c688bc4SMasahiro Yamada default 1000 768c688bc4SMasahiro Yamada help 778c688bc4SMasahiro Yamada The frequency of the timer returned by get_timer(). 788c688bc4SMasahiro Yamada get_timer() must operate in milliseconds and this option must be 798c688bc4SMasahiro Yamada set to 1000. 808c688bc4SMasahiro Yamada 817d9cde10SStefan Roeseconfig USE_TINY_PRINTF 827d9cde10SStefan Roese bool "Enable tiny printf() version" 837d9cde10SStefan Roese help 847d9cde10SStefan Roese This option enables a tiny, stripped down printf version. 857d9cde10SStefan Roese This should only be used in space limited environments, 867d9cde10SStefan Roese like SPL versions with hard memory limits. This version 877d9cde10SStefan Roese reduces the code size by about 2.5KiB on armv7. 887d9cde10SStefan Roese 897d9cde10SStefan Roese The supported format specifiers are %c, %s, %u/%d and %x. 907d9cde10SStefan Roese 917e3caa81SMasahiro Yamadaconfig PANIC_HANG 927e3caa81SMasahiro Yamada bool "Do not reset the system on fatal error" 937e3caa81SMasahiro Yamada help 947e3caa81SMasahiro Yamada Define this option to stop the system in case of a fatal error, 957e3caa81SMasahiro Yamada so that you have to reset it manually. This is probably NOT a good 967e3caa81SMasahiro Yamada idea for an embedded system where you want the system to reboot 977e3caa81SMasahiro Yamada automatically as fast as possible, but it may be useful during 987e3caa81SMasahiro Yamada development since you can try to debug the conditions that lead to 997e3caa81SMasahiro Yamada the situation. 1007e3caa81SMasahiro Yamada 1011a60650cSJoe Hershbergerconfig REGEX 1021a60650cSJoe Hershberger bool "Enable regular expression support" 103f7848d90SJoe Hershberger default y if NET 1041a60650cSJoe Hershberger help 1051a60650cSJoe Hershberger If this variable is defined, U-Boot is linked against the 1061a60650cSJoe Hershberger SLRE (Super Light Regular Expression) library, which adds 1071a60650cSJoe Hershberger regex support to some commands, for example "env grep" and 1081a60650cSJoe Hershberger "setexpr". 1091a60650cSJoe Hershberger 110a5a37567SAdam Fordchoice 111a5a37567SAdam Ford prompt "Pseudo-random library support type" 112a5a37567SAdam Ford depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID 113a5a37567SAdam Ford default LIB_RAND 114a5a37567SAdam Ford help 115a5a37567SAdam Ford Select the library to provide pseudo-random number generator 116a5a37567SAdam Ford functions. LIB_HW_RAND supports certain hardware engines that 117a5a37567SAdam Ford provide this functionality. If in doubt, select LIB_RAND. 118a5a37567SAdam Ford 1199ba9e85fSMichal Simekconfig LIB_RAND 1203850dbe8SMasahiro Yamada bool "Pseudo-random library support" 121a5a37567SAdam Ford 122a5a37567SAdam Fordconfig LIB_HW_RAND 123a5a37567SAdam Ford bool "HW Engine for random libray support" 124a5a37567SAdam Ford 125a5a37567SAdam Fordendchoice 1269ba9e85fSMichal Simek 127ab4458bdSSimon Glassconfig SPL_TINY_MEMSET 128ab4458bdSSimon Glass bool "Use a very small memset() in SPL" 129ab4458bdSSimon Glass help 130ab4458bdSSimon Glass The faster memset() is the arch-specific one (if available) enabled 131ab4458bdSSimon Glass by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 132ab4458bdSSimon Glass better performance by writing a word at a time. But in very 133ab4458bdSSimon Glass size-constrained envrionments even this may be too big. Enable this 134ab4458bdSSimon Glass option to reduce code size slightly at the cost of some speed. 135ab4458bdSSimon Glass 13696b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET 13796b9082cSPhilipp Tomsich bool "Use a very small memset() in TPL" 13896b9082cSPhilipp Tomsich help 13996b9082cSPhilipp Tomsich The faster memset() is the arch-specific one (if available) enabled 14096b9082cSPhilipp Tomsich by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get 14196b9082cSPhilipp Tomsich better performance by writing a word at a time. But in very 14296b9082cSPhilipp Tomsich size-constrained envrionments even this may be too big. Enable this 14396b9082cSPhilipp Tomsich option to reduce code size slightly at the cost of some speed. 14496b9082cSPhilipp Tomsich 145aa049152SBoris Brezillonconfig RBTREE 146aa049152SBoris Brezillon bool 147aa049152SBoris Brezillon 148da5337a6SNandor Hanconfig BITREVERSE 149da5337a6SNandor Han bool "Bit reverse library from Linux" 150da5337a6SNandor Han 151d1389403SSimon Glasssource lib/dhry/Kconfig 152d1389403SSimon Glass 153b1a873dfSSimon Glassmenu "Security support" 154b1a873dfSSimon Glass 155b1a873dfSSimon Glassconfig AES 156b1a873dfSSimon Glass bool "Support the AES algorithm" 157b1a873dfSSimon Glass help 158b1a873dfSSimon Glass This provides a means to encrypt and decrypt data using the AES 159b1a873dfSSimon Glass (Advanced Encryption Standard). This algorithm uses a symetric key 160b1a873dfSSimon Glass and is widely used as a streaming cipher. Different key lengths are 161b1a873dfSSimon Glass supported by the algorithm but only a 128-bit key is supported at 162b1a873dfSSimon Glass present. 163b1a873dfSSimon Glass 164d9f23c7fSRuchika Guptasource lib/rsa/Kconfig 165c4beb22fSRuchika Gupta 166a7d660bcSSimon Glassconfig TPM 167a7d660bcSSimon Glass bool "Trusted Platform Module (TPM) Support" 1682419cd16SSimon Glass depends on DM 169a7d660bcSSimon Glass help 170a7d660bcSSimon Glass This enables support for TPMs which can be used to provide security 171a7d660bcSSimon Glass features for your board. The TPM can be connected via LPC or I2C 172a7d660bcSSimon Glass and a sandbox TPM is provided for testing purposes. Use the 'tpm' 173a7d660bcSSimon Glass command to interactive the TPM. Driver model support is provided 174a7d660bcSSimon Glass for the low-level TPM interface, but only one TPM is supported at 175a7d660bcSSimon Glass a time by the TPM library. 176a7d660bcSSimon Glass 177b1a873dfSSimon Glassendmenu 178b1a873dfSSimon Glass 17994e3c8c4Sgaurav ranamenu "Hashing Support" 18094e3c8c4Sgaurav rana 18194e3c8c4Sgaurav ranaconfig SHA1 18294e3c8c4Sgaurav rana bool "Enable SHA1 support" 18394e3c8c4Sgaurav rana help 18494e3c8c4Sgaurav rana This option enables support of hashing using SHA1 algorithm. 18594e3c8c4Sgaurav rana The hash is calculated in software. 18694e3c8c4Sgaurav rana The SHA1 algorithm produces a 160-bit (20-byte) hash value 18794e3c8c4Sgaurav rana (digest). 18894e3c8c4Sgaurav rana 18994e3c8c4Sgaurav ranaconfig SHA256 19094e3c8c4Sgaurav rana bool "Enable SHA256 support" 19194e3c8c4Sgaurav rana help 19294e3c8c4Sgaurav rana This option enables support of hashing using SHA256 algorithm. 19394e3c8c4Sgaurav rana The hash is calculated in software. 19494e3c8c4Sgaurav rana The SHA256 algorithm produces a 256-bit (32-byte) hash value 19594e3c8c4Sgaurav rana (digest). 19694e3c8c4Sgaurav rana 19794e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL 19894e3c8c4Sgaurav rana bool "Enable hashing using hardware" 19994e3c8c4Sgaurav rana help 20094e3c8c4Sgaurav rana This option enables hardware acceleration 20194e3c8c4Sgaurav rana for SHA1/SHA256 hashing. 20294e3c8c4Sgaurav rana This affects the 'hash' command and also the 20394e3c8c4Sgaurav rana hash_lookup_algo() function. 20494e3c8c4Sgaurav rana 20594e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL 20694e3c8c4Sgaurav rana bool "Enable Progressive hashing support using hardware" 20794e3c8c4Sgaurav rana depends on SHA_HW_ACCEL 20894e3c8c4Sgaurav rana help 20994e3c8c4Sgaurav rana This option enables hardware-acceleration for 21094e3c8c4Sgaurav rana SHA1/SHA256 progressive hashing. 21194e3c8c4Sgaurav rana Data can be streamed in a block at a time and the hashing 21294e3c8c4Sgaurav rana is performed in hardware. 213bea79d7dSAndre Przywara 214bea79d7dSAndre Przywaraconfig MD5 215bea79d7dSAndre Przywara bool 216bea79d7dSAndre Przywara 21785d8bf57SMarek Behúnconfig CRC32C 21885d8bf57SMarek Behún bool 21985d8bf57SMarek Behún 22094e3c8c4Sgaurav ranaendmenu 22194e3c8c4Sgaurav rana 222027b728dSJulius Wernermenu "Compression Support" 223027b728dSJulius Werner 224027b728dSJulius Wernerconfig LZ4 225027b728dSJulius Werner bool "Enable LZ4 decompression support" 226027b728dSJulius Werner help 227027b728dSJulius Werner If this option is set, support for LZ4 compressed images 228027b728dSJulius Werner is included. The LZ4 algorithm can run in-place as long as the 229027b728dSJulius Werner compressed image is loaded to the end of the output buffer, and 230027b728dSJulius Werner trades lower compression ratios for much faster decompression. 231027b728dSJulius Werner 232027b728dSJulius Werner NOTE: This implements the release version of the LZ4 frame 233027b728dSJulius Werner format as generated by default by the 'lz4' command line tool. 234027b728dSJulius Werner This is not the same as the outdated, less efficient legacy 235027b728dSJulius Werner frame format currently (2015) implemented in the Linux kernel 236027b728dSJulius Werner (generated by 'lz4 -l'). The two formats are incompatible. 237027b728dSJulius Werner 238aed998aaSSimon Glassconfig LZMA 239aed998aaSSimon Glass bool "Enable LZMA decompression support" 240aed998aaSSimon Glass help 241aed998aaSSimon Glass This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), 242aed998aaSSimon Glass a dictionary compression algorithm that provides a high compression 243aed998aaSSimon Glass ratio and fairly fast decompression speed. See also 244aed998aaSSimon Glass CONFIG_CMD_LZMADEC which provides a decode command. 245aed998aaSSimon Glass 246173aafbfSBoris Brezillonconfig LZO 247d56b4b19STom Rini bool "Enable LZO decompression support" 248d56b4b19STom Rini help 249d56b4b19STom Rini This enables support for LZO compression algorithm.r 2507264f292SYork Sun 251f52bdf4bSJean-Jacques Hiblotconfig SPL_LZO 252f52bdf4bSJean-Jacques Hiblot bool "Enable LZO decompression support in SPL" 253f52bdf4bSJean-Jacques Hiblot help 254f52bdf4bSJean-Jacques Hiblot This enables support for LZO compression algorithm in the SPL. 255f52bdf4bSJean-Jacques Hiblot 2567264f292SYork Sunconfig SPL_GZIP 2577264f292SYork Sun bool "Enable gzip decompression support for SPL build" 2587264f292SYork Sun select SPL_ZLIB 2597264f292SYork Sun help 2607264f292SYork Sun This enables support for GZIP compression altorithm for SPL boot. 2617264f292SYork Sun 2627264f292SYork Sunconfig SPL_ZLIB 2637264f292SYork Sun bool 2647264f292SYork Sun help 2657264f292SYork Sun This enables compression lib for SPL boot. 2667264f292SYork Sun 267027b728dSJulius Wernerendmenu 268027b728dSJulius Werner 2696501ff62SPrzemyslaw Marczakconfig ERRNO_STR 2706501ff62SPrzemyslaw Marczak bool "Enable function for getting errno-related string message" 2716501ff62SPrzemyslaw Marczak help 2726501ff62SPrzemyslaw Marczak The function errno_str(int errno), returns a pointer to the errno 2736501ff62SPrzemyslaw Marczak corresponding text message: 2746501ff62SPrzemyslaw Marczak - if errno is null or positive number - a pointer to "Success" message 2756501ff62SPrzemyslaw Marczak - if errno is negative - a pointer to errno related message 2766501ff62SPrzemyslaw Marczak 27769e173ebSSimon Glassconfig OF_LIBFDT 27869e173ebSSimon Glass bool "Enable the FDT library" 27969e173ebSSimon Glass default y if OF_CONTROL 28069e173ebSSimon Glass help 28169e173ebSSimon Glass This enables the FDT library (libfdt). It provides functions for 28269e173ebSSimon Glass accessing binary device tree images in memory, such as adding and 283f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 28469e173ebSSimon Glass particular compatible nodes. The library operates on a flattened 28569e173ebSSimon Glass version of the device tree. 28669e173ebSSimon Glass 287ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY 288ddf67f71SMaxime Ripard bool "Enable the FDT library overlay support" 289*6417572eSTom Rini depends on OF_LIBFDT 29058a46f88SPraneeth Bajjuri default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE 291ddf67f71SMaxime Ripard help 292ddf67f71SMaxime Ripard This enables the FDT library (libfdt) overlay support. 293ddf67f71SMaxime Ripard 294aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT 295aa34fbc0SSimon Glass bool "Enable the FDT library for SPL" 296aa34fbc0SSimon Glass default y if SPL_OF_CONTROL 297aa34fbc0SSimon Glass help 298aa34fbc0SSimon Glass This enables the FDT library (libfdt). It provides functions for 299aa34fbc0SSimon Glass accessing binary device tree images in memory, such as adding and 300f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 301aa34fbc0SSimon Glass particular compatible nodes. The library operates on a flattened 302aa34fbc0SSimon Glass version of the device tree. 303aa34fbc0SSimon Glass 304ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS 305ebf7fff2SHeiko Schocher bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" 306ebf7fff2SHeiko Schocher depends on OF_LIBFDT 307ebf7fff2SHeiko Schocher default n 308ebf7fff2SHeiko Schocher help 309ebf7fff2SHeiko Schocher Allow overwriting defined partitions in the device tree blob 310ebf7fff2SHeiko Schocher using partition info defined in the 'mtdparts' environment 311ebf7fff2SHeiko Schocher variable. 312ebf7fff2SHeiko Schocher 3134b6dddc2SAlexander Grafmenu "System tables" 314e663b350SAlexander Graf depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) 3154b6dddc2SAlexander Graf 3164b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE 3174b6dddc2SAlexander Graf bool "Generate an SMBIOS (System Management BIOS) table" 3184b6dddc2SAlexander Graf default y 319e663b350SAlexander Graf depends on X86 || EFI_LOADER 3204b6dddc2SAlexander Graf help 3214b6dddc2SAlexander Graf The System Management BIOS (SMBIOS) specification addresses how 3224b6dddc2SAlexander Graf motherboard and system vendors present management information about 3234b6dddc2SAlexander Graf their products in a standard format by extending the BIOS interface 3244b6dddc2SAlexander Graf on Intel architecture systems. 3254b6dddc2SAlexander Graf 3264b6dddc2SAlexander Graf Check http://www.dmtf.org/standards/smbios for details. 3274b6dddc2SAlexander Graf 3284b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER 3294b6dddc2SAlexander Graf string "SMBIOS Manufacturer" 3304b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3314b6dddc2SAlexander Graf default SYS_VENDOR 3324b6dddc2SAlexander Graf help 3334b6dddc2SAlexander Graf The board manufacturer to store in SMBIOS structures. 3344b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_VENDOR). 3354b6dddc2SAlexander Graf 3364b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME 3374b6dddc2SAlexander Graf string "SMBIOS Product Name" 3384b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3394b6dddc2SAlexander Graf default SYS_BOARD 3404b6dddc2SAlexander Graf help 3414b6dddc2SAlexander Graf The product name to store in SMBIOS structures. 3424b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_BOARD). 3434b6dddc2SAlexander Graf 3444b6dddc2SAlexander Grafendmenu 3454b6dddc2SAlexander Graf 346867a6ac8SSimon Glasssource lib/efi/Kconfig 347ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig 34832ce6179SBryan O'Donoghuesource lib/optee/Kconfig 349867a6ac8SSimon Glass 350ed36323fSMasahiro Yamadaendmenu 351