xref: /openbmc/u-boot/lib/Kconfig (revision f8c987f8f127f867d96ca74bcd1fcb11d8265b67)
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