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 19094e3c8c4Sgaurav ranamenu "Hashing Support" 19194e3c8c4Sgaurav rana 19294e3c8c4Sgaurav ranaconfig SHA1 19394e3c8c4Sgaurav rana bool "Enable SHA1 support" 19494e3c8c4Sgaurav rana help 19594e3c8c4Sgaurav rana This option enables support of hashing using SHA1 algorithm. 19694e3c8c4Sgaurav rana The hash is calculated in software. 19794e3c8c4Sgaurav rana The SHA1 algorithm produces a 160-bit (20-byte) hash value 19894e3c8c4Sgaurav rana (digest). 19994e3c8c4Sgaurav rana 20094e3c8c4Sgaurav ranaconfig SHA256 20194e3c8c4Sgaurav rana bool "Enable SHA256 support" 20294e3c8c4Sgaurav rana help 20394e3c8c4Sgaurav rana This option enables support of hashing using SHA256 algorithm. 20494e3c8c4Sgaurav rana The hash is calculated in software. 20594e3c8c4Sgaurav rana The SHA256 algorithm produces a 256-bit (32-byte) hash value 20694e3c8c4Sgaurav rana (digest). 20794e3c8c4Sgaurav rana 20894e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL 20994e3c8c4Sgaurav rana bool "Enable hashing using hardware" 21094e3c8c4Sgaurav rana help 21194e3c8c4Sgaurav rana This option enables hardware acceleration 21294e3c8c4Sgaurav rana for SHA1/SHA256 hashing. 21394e3c8c4Sgaurav rana This affects the 'hash' command and also the 21494e3c8c4Sgaurav rana hash_lookup_algo() function. 21594e3c8c4Sgaurav rana 21694e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL 21794e3c8c4Sgaurav rana bool "Enable Progressive hashing support using hardware" 21894e3c8c4Sgaurav rana depends on SHA_HW_ACCEL 21994e3c8c4Sgaurav rana help 22094e3c8c4Sgaurav rana This option enables hardware-acceleration for 22194e3c8c4Sgaurav rana SHA1/SHA256 progressive hashing. 22294e3c8c4Sgaurav rana Data can be streamed in a block at a time and the hashing 22394e3c8c4Sgaurav rana is performed in hardware. 224bea79d7dSAndre Przywara 225bea79d7dSAndre Przywaraconfig MD5 226bea79d7dSAndre Przywara bool 227bea79d7dSAndre Przywara 22885d8bf57SMarek Behúnconfig CRC32C 22985d8bf57SMarek Behún bool 23085d8bf57SMarek Behún 23194e3c8c4Sgaurav ranaendmenu 23294e3c8c4Sgaurav rana 233027b728dSJulius Wernermenu "Compression Support" 234027b728dSJulius Werner 235027b728dSJulius Wernerconfig LZ4 236027b728dSJulius Werner bool "Enable LZ4 decompression support" 237027b728dSJulius Werner help 238027b728dSJulius Werner If this option is set, support for LZ4 compressed images 239027b728dSJulius Werner is included. The LZ4 algorithm can run in-place as long as the 240027b728dSJulius Werner compressed image is loaded to the end of the output buffer, and 241027b728dSJulius Werner trades lower compression ratios for much faster decompression. 242027b728dSJulius Werner 243027b728dSJulius Werner NOTE: This implements the release version of the LZ4 frame 244027b728dSJulius Werner format as generated by default by the 'lz4' command line tool. 245027b728dSJulius Werner This is not the same as the outdated, less efficient legacy 246027b728dSJulius Werner frame format currently (2015) implemented in the Linux kernel 247027b728dSJulius Werner (generated by 'lz4 -l'). The two formats are incompatible. 248027b728dSJulius Werner 249aed998aaSSimon Glassconfig LZMA 250aed998aaSSimon Glass bool "Enable LZMA decompression support" 251aed998aaSSimon Glass help 252aed998aaSSimon Glass This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), 253aed998aaSSimon Glass a dictionary compression algorithm that provides a high compression 254aed998aaSSimon Glass ratio and fairly fast decompression speed. See also 255aed998aaSSimon Glass CONFIG_CMD_LZMADEC which provides a decode command. 256aed998aaSSimon Glass 257173aafbfSBoris Brezillonconfig LZO 258d56b4b19STom Rini bool "Enable LZO decompression support" 259d56b4b19STom Rini help 260d56b4b19STom Rini This enables support for LZO compression algorithm.r 2617264f292SYork Sun 262f52bdf4bSJean-Jacques Hiblotconfig SPL_LZO 263f52bdf4bSJean-Jacques Hiblot bool "Enable LZO decompression support in SPL" 264f52bdf4bSJean-Jacques Hiblot help 265f52bdf4bSJean-Jacques Hiblot This enables support for LZO compression algorithm in the SPL. 266f52bdf4bSJean-Jacques Hiblot 2677264f292SYork Sunconfig SPL_GZIP 2687264f292SYork Sun bool "Enable gzip decompression support for SPL build" 2697264f292SYork Sun select SPL_ZLIB 2707264f292SYork Sun help 2717264f292SYork Sun This enables support for GZIP compression altorithm for SPL boot. 2727264f292SYork Sun 2737264f292SYork Sunconfig SPL_ZLIB 2747264f292SYork Sun bool 2757264f292SYork Sun help 2767264f292SYork Sun This enables compression lib for SPL boot. 2777264f292SYork Sun 278027b728dSJulius Wernerendmenu 279027b728dSJulius Werner 2806501ff62SPrzemyslaw Marczakconfig ERRNO_STR 2816501ff62SPrzemyslaw Marczak bool "Enable function for getting errno-related string message" 2826501ff62SPrzemyslaw Marczak help 2836501ff62SPrzemyslaw Marczak The function errno_str(int errno), returns a pointer to the errno 2846501ff62SPrzemyslaw Marczak corresponding text message: 2856501ff62SPrzemyslaw Marczak - if errno is null or positive number - a pointer to "Success" message 2866501ff62SPrzemyslaw Marczak - if errno is negative - a pointer to errno related message 2876501ff62SPrzemyslaw Marczak 288*f8c987f8SAlexey Brodkinconfig HEXDUMP 289*f8c987f8SAlexey Brodkin bool "Enable hexdump" 290*f8c987f8SAlexey Brodkin help 291*f8c987f8SAlexey Brodkin This enables functions for printing dumps of binary data. 292*f8c987f8SAlexey Brodkin 29369e173ebSSimon Glassconfig OF_LIBFDT 29469e173ebSSimon Glass bool "Enable the FDT library" 29569e173ebSSimon Glass default y if OF_CONTROL 29669e173ebSSimon Glass help 29769e173ebSSimon Glass This enables the FDT library (libfdt). It provides functions for 29869e173ebSSimon Glass accessing binary device tree images in memory, such as adding and 299f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 30069e173ebSSimon Glass particular compatible nodes. The library operates on a flattened 30169e173ebSSimon Glass version of the device tree. 30269e173ebSSimon Glass 303ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY 304ddf67f71SMaxime Ripard bool "Enable the FDT library overlay support" 3056417572eSTom Rini depends on OF_LIBFDT 30658a46f88SPraneeth Bajjuri default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE 307ddf67f71SMaxime Ripard help 308ddf67f71SMaxime Ripard This enables the FDT library (libfdt) overlay support. 309ddf67f71SMaxime Ripard 310aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT 311aa34fbc0SSimon Glass bool "Enable the FDT library for SPL" 312aa34fbc0SSimon Glass default y if SPL_OF_CONTROL 313aa34fbc0SSimon Glass help 314aa34fbc0SSimon Glass This enables the FDT library (libfdt). It provides functions for 315aa34fbc0SSimon Glass accessing binary device tree images in memory, such as adding and 316f1a7ba1dSAnatolij Gustschin removing nodes and properties, scanning through the tree and finding 317aa34fbc0SSimon Glass particular compatible nodes. The library operates on a flattened 318aa34fbc0SSimon Glass version of the device tree. 319aa34fbc0SSimon Glass 320ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS 321ebf7fff2SHeiko Schocher bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" 322ebf7fff2SHeiko Schocher depends on OF_LIBFDT 323ebf7fff2SHeiko Schocher default n 324ebf7fff2SHeiko Schocher help 325ebf7fff2SHeiko Schocher Allow overwriting defined partitions in the device tree blob 326ebf7fff2SHeiko Schocher using partition info defined in the 'mtdparts' environment 327ebf7fff2SHeiko Schocher variable. 328ebf7fff2SHeiko Schocher 3294b6dddc2SAlexander Grafmenu "System tables" 330e663b350SAlexander Graf depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) 3314b6dddc2SAlexander Graf 3324b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE 3334b6dddc2SAlexander Graf bool "Generate an SMBIOS (System Management BIOS) table" 3344b6dddc2SAlexander Graf default y 335e663b350SAlexander Graf depends on X86 || EFI_LOADER 3364b6dddc2SAlexander Graf help 3374b6dddc2SAlexander Graf The System Management BIOS (SMBIOS) specification addresses how 3384b6dddc2SAlexander Graf motherboard and system vendors present management information about 3394b6dddc2SAlexander Graf their products in a standard format by extending the BIOS interface 3404b6dddc2SAlexander Graf on Intel architecture systems. 3414b6dddc2SAlexander Graf 3424b6dddc2SAlexander Graf Check http://www.dmtf.org/standards/smbios for details. 3434b6dddc2SAlexander Graf 3444b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER 3454b6dddc2SAlexander Graf string "SMBIOS Manufacturer" 3464b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3474b6dddc2SAlexander Graf default SYS_VENDOR 3484b6dddc2SAlexander Graf help 3494b6dddc2SAlexander Graf The board manufacturer to store in SMBIOS structures. 3504b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_VENDOR). 3514b6dddc2SAlexander Graf 3524b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME 3534b6dddc2SAlexander Graf string "SMBIOS Product Name" 3544b6dddc2SAlexander Graf depends on GENERATE_SMBIOS_TABLE 3554b6dddc2SAlexander Graf default SYS_BOARD 3564b6dddc2SAlexander Graf help 3574b6dddc2SAlexander Graf The product name to store in SMBIOS structures. 3584b6dddc2SAlexander Graf Change this to override the default one (CONFIG_SYS_BOARD). 3594b6dddc2SAlexander Graf 3604b6dddc2SAlexander Grafendmenu 3614b6dddc2SAlexander Graf 362867a6ac8SSimon Glasssource lib/efi/Kconfig 363ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig 36432ce6179SBryan O'Donoghuesource lib/optee/Kconfig 365867a6ac8SSimon Glass 366ed36323fSMasahiro Yamadaendmenu 367