xref: /openbmc/u-boot/lib/Kconfig (revision 36c1877c5c28dd515ad90d3a6b78f1797d80636e)
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
18*36c1877cSFaiz Abbasconfig DYNAMIC_CRC_TABLE
19*36c1877cSFaiz Abbas	bool "Enable Dynamic tables for CRC"
20*36c1877cSFaiz Abbas	help
21*36c1877cSFaiz Abbas	  Enable this option to calculate entries for CRC tables at runtime.
22*36c1877cSFaiz Abbas	  This can be helpful when reducing the size of the build image
23*36c1877cSFaiz Abbas
2445ccec8fSMasahiro Yamadaconfig HAVE_PRIVATE_LIBGCC
2545ccec8fSMasahiro Yamada	bool
2645ccec8fSMasahiro Yamada
27a451bc27SAdam Fordconfig LIB_UUID
28a451bc27SAdam Ford	bool
29a451bc27SAdam Ford
3045ccec8fSMasahiro Yamadaconfig USE_PRIVATE_LIBGCC
3145ccec8fSMasahiro Yamada	bool "Use private libgcc"
3245ccec8fSMasahiro Yamada	depends on HAVE_PRIVATE_LIBGCC
3391b86e21SMarek Vasut	default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
3445ccec8fSMasahiro Yamada	help
3545ccec8fSMasahiro Yamada	  This option allows you to use the built-in libgcc implementation
3667976306SMasahiro Yamada	  of U-Boot instead of the one provided by the compiler.
3745ccec8fSMasahiro Yamada	  If unsure, say N.
3845ccec8fSMasahiro Yamada
398c688bc4SMasahiro Yamadaconfig SYS_HZ
408c688bc4SMasahiro Yamada	int
418c688bc4SMasahiro Yamada	default 1000
428c688bc4SMasahiro Yamada	help
438c688bc4SMasahiro Yamada	  The frequency of the timer returned by get_timer().
448c688bc4SMasahiro Yamada	  get_timer() must operate in milliseconds and this option must be
458c688bc4SMasahiro Yamada	  set to 1000.
468c688bc4SMasahiro Yamada
477d9cde10SStefan Roeseconfig USE_TINY_PRINTF
487d9cde10SStefan Roese	bool "Enable tiny printf() version"
497d9cde10SStefan Roese	help
507d9cde10SStefan Roese	  This option enables a tiny, stripped down printf version.
517d9cde10SStefan Roese	  This should only be used in space limited environments,
527d9cde10SStefan Roese	  like SPL versions with hard memory limits. This version
537d9cde10SStefan Roese	  reduces the code size by about 2.5KiB on armv7.
547d9cde10SStefan Roese
557d9cde10SStefan Roese	  The supported format specifiers are %c, %s, %u/%d and %x.
567d9cde10SStefan Roese
577e3caa81SMasahiro Yamadaconfig PANIC_HANG
587e3caa81SMasahiro Yamada	bool "Do not reset the system on fatal error"
597e3caa81SMasahiro Yamada	help
607e3caa81SMasahiro Yamada	  Define this option to stop the system in case of a fatal error,
617e3caa81SMasahiro Yamada	  so that you have to reset it manually. This is probably NOT a good
627e3caa81SMasahiro Yamada	  idea for an embedded system where you want the system to reboot
637e3caa81SMasahiro Yamada	  automatically as fast as possible, but it may be useful during
647e3caa81SMasahiro Yamada	  development since you can try to debug the conditions that lead to
657e3caa81SMasahiro Yamada	  the situation.
667e3caa81SMasahiro Yamada
671a60650cSJoe Hershbergerconfig REGEX
681a60650cSJoe Hershberger	bool "Enable regular expression support"
69acd4d334SMaxime Ripard	default n if ARCH_SUNXI
70f7848d90SJoe Hershberger	default y if NET
711a60650cSJoe Hershberger	help
721a60650cSJoe Hershberger	  If this variable is defined, U-Boot is linked against the
731a60650cSJoe Hershberger	  SLRE (Super Light Regular Expression) library, which adds
741a60650cSJoe Hershberger	  regex support to some commands, for example "env grep" and
751a60650cSJoe Hershberger	  "setexpr".
761a60650cSJoe Hershberger
77a5a37567SAdam Fordchoice
78a5a37567SAdam Ford	prompt "Pseudo-random library support type"
79a5a37567SAdam Ford	depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
80a5a37567SAdam Ford	default LIB_RAND
81a5a37567SAdam Ford	help
82a5a37567SAdam Ford	  Select the library to provide pseudo-random number generator
83a5a37567SAdam Ford	  functions.  LIB_HW_RAND supports certain hardware engines that
84a5a37567SAdam Ford	  provide this functionality.  If in doubt, select LIB_RAND.
85a5a37567SAdam Ford
869ba9e85fSMichal Simekconfig LIB_RAND
873850dbe8SMasahiro Yamada	bool "Pseudo-random library support"
88a5a37567SAdam Ford
89a5a37567SAdam Fordconfig LIB_HW_RAND
90a5a37567SAdam Ford	bool "HW Engine for random libray support"
91a5a37567SAdam Ford
92a5a37567SAdam Fordendchoice
939ba9e85fSMichal Simek
94ab4458bdSSimon Glassconfig SPL_TINY_MEMSET
95ab4458bdSSimon Glass	bool "Use a very small memset() in SPL"
96ab4458bdSSimon Glass	help
97ab4458bdSSimon Glass	  The faster memset() is the arch-specific one (if available) enabled
98ab4458bdSSimon Glass	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
99ab4458bdSSimon Glass	  better performance by writing a word at a time. But in very
100ab4458bdSSimon Glass	  size-constrained envrionments even this may be too big. Enable this
101ab4458bdSSimon Glass	  option to reduce code size slightly at the cost of some speed.
102ab4458bdSSimon Glass
10396b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET
10496b9082cSPhilipp Tomsich	bool "Use a very small memset() in TPL"
10596b9082cSPhilipp Tomsich	help
10696b9082cSPhilipp Tomsich	  The faster memset() is the arch-specific one (if available) enabled
10796b9082cSPhilipp Tomsich	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
10896b9082cSPhilipp Tomsich	  better performance by writing a word at a time. But in very
10996b9082cSPhilipp Tomsich	  size-constrained envrionments even this may be too big. Enable this
11096b9082cSPhilipp Tomsich	  option to reduce code size slightly at the cost of some speed.
11196b9082cSPhilipp Tomsich
112aa049152SBoris Brezillonconfig RBTREE
113aa049152SBoris Brezillon	bool
114aa049152SBoris Brezillon
115da5337a6SNandor Hanconfig BITREVERSE
116da5337a6SNandor Han	bool "Bit reverse library from Linux"
117da5337a6SNandor Han
118d1389403SSimon Glasssource lib/dhry/Kconfig
119d1389403SSimon Glass
120b1a873dfSSimon Glassmenu "Security support"
121b1a873dfSSimon Glass
122b1a873dfSSimon Glassconfig AES
123b1a873dfSSimon Glass	bool "Support the AES algorithm"
124b1a873dfSSimon Glass	help
125b1a873dfSSimon Glass	  This provides a means to encrypt and decrypt data using the AES
126b1a873dfSSimon Glass	  (Advanced Encryption Standard). This algorithm uses a symetric key
127b1a873dfSSimon Glass	  and is widely used as a streaming cipher. Different key lengths are
128b1a873dfSSimon Glass	  supported by the algorithm but only a 128-bit key is supported at
129b1a873dfSSimon Glass	  present.
130b1a873dfSSimon Glass
131d9f23c7fSRuchika Guptasource lib/rsa/Kconfig
132c4beb22fSRuchika Gupta
133a7d660bcSSimon Glassconfig TPM
134a7d660bcSSimon Glass	bool "Trusted Platform Module (TPM) Support"
1352419cd16SSimon Glass	depends on DM
136a7d660bcSSimon Glass	help
137a7d660bcSSimon Glass	  This enables support for TPMs which can be used to provide security
138a7d660bcSSimon Glass	  features for your board. The TPM can be connected via LPC or I2C
139a7d660bcSSimon Glass	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
140a7d660bcSSimon Glass	  command to interactive the TPM. Driver model support is provided
141a7d660bcSSimon Glass	  for the low-level TPM interface, but only one TPM is supported at
142a7d660bcSSimon Glass	  a time by the TPM library.
143a7d660bcSSimon Glass
144b1a873dfSSimon Glassendmenu
145b1a873dfSSimon Glass
14694e3c8c4Sgaurav ranamenu "Hashing Support"
14794e3c8c4Sgaurav rana
14894e3c8c4Sgaurav ranaconfig SHA1
14994e3c8c4Sgaurav rana	bool "Enable SHA1 support"
15094e3c8c4Sgaurav rana	help
15194e3c8c4Sgaurav rana	  This option enables support of hashing using SHA1 algorithm.
15294e3c8c4Sgaurav rana	  The hash is calculated in software.
15394e3c8c4Sgaurav rana	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
15494e3c8c4Sgaurav rana	  (digest).
15594e3c8c4Sgaurav rana
15694e3c8c4Sgaurav ranaconfig SHA256
15794e3c8c4Sgaurav rana	bool "Enable SHA256 support"
15894e3c8c4Sgaurav rana	help
15994e3c8c4Sgaurav rana	  This option enables support of hashing using SHA256 algorithm.
16094e3c8c4Sgaurav rana	  The hash is calculated in software.
16194e3c8c4Sgaurav rana	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
16294e3c8c4Sgaurav rana	  (digest).
16394e3c8c4Sgaurav rana
16494e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL
16594e3c8c4Sgaurav rana	bool "Enable hashing using hardware"
16694e3c8c4Sgaurav rana	help
16794e3c8c4Sgaurav rana	  This option enables hardware acceleration
16894e3c8c4Sgaurav rana	  for SHA1/SHA256 hashing.
16994e3c8c4Sgaurav rana	  This affects the 'hash' command and also the
17094e3c8c4Sgaurav rana	  hash_lookup_algo() function.
17194e3c8c4Sgaurav rana
17294e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL
17394e3c8c4Sgaurav rana	bool "Enable Progressive hashing support using hardware"
17494e3c8c4Sgaurav rana	depends on SHA_HW_ACCEL
17594e3c8c4Sgaurav rana	help
17694e3c8c4Sgaurav rana	  This option enables hardware-acceleration for
17794e3c8c4Sgaurav rana	  SHA1/SHA256 progressive hashing.
17894e3c8c4Sgaurav rana	  Data can be streamed in a block at a time and the hashing
17994e3c8c4Sgaurav rana	  is performed in hardware.
180bea79d7dSAndre Przywara
181bea79d7dSAndre Przywaraconfig MD5
182bea79d7dSAndre Przywara	bool
183bea79d7dSAndre Przywara
18485d8bf57SMarek Behúnconfig CRC32C
18585d8bf57SMarek Behún	bool
18685d8bf57SMarek Behún
18794e3c8c4Sgaurav ranaendmenu
18894e3c8c4Sgaurav rana
189027b728dSJulius Wernermenu "Compression Support"
190027b728dSJulius Werner
191027b728dSJulius Wernerconfig LZ4
192027b728dSJulius Werner	bool "Enable LZ4 decompression support"
193027b728dSJulius Werner	help
194027b728dSJulius Werner	  If this option is set, support for LZ4 compressed images
195027b728dSJulius Werner	  is included. The LZ4 algorithm can run in-place as long as the
196027b728dSJulius Werner	  compressed image is loaded to the end of the output buffer, and
197027b728dSJulius Werner	  trades lower compression ratios for much faster decompression.
198027b728dSJulius Werner
199027b728dSJulius Werner	  NOTE: This implements the release version of the LZ4 frame
200027b728dSJulius Werner	  format as generated by default by the 'lz4' command line tool.
201027b728dSJulius Werner	  This is not the same as the outdated, less efficient legacy
202027b728dSJulius Werner	  frame format currently (2015) implemented in the Linux kernel
203027b728dSJulius Werner	  (generated by 'lz4 -l'). The two formats are incompatible.
204027b728dSJulius Werner
205aed998aaSSimon Glassconfig LZMA
206aed998aaSSimon Glass	bool "Enable LZMA decompression support"
207aed998aaSSimon Glass	help
208aed998aaSSimon Glass	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
209aed998aaSSimon Glass	  a dictionary compression algorithm that provides a high compression
210aed998aaSSimon Glass	  ratio and fairly fast decompression speed. See also
211aed998aaSSimon Glass	  CONFIG_CMD_LZMADEC which provides a decode command.
212aed998aaSSimon Glass
213173aafbfSBoris Brezillonconfig LZO
214d56b4b19STom Rini	bool "Enable LZO decompression support"
215d56b4b19STom Rini	help
216d56b4b19STom Rini	  This enables support for LZO compression algorithm.r
2177264f292SYork Sun
218f52bdf4bSJean-Jacques Hiblotconfig SPL_LZO
219f52bdf4bSJean-Jacques Hiblot	bool "Enable LZO decompression support in SPL"
220f52bdf4bSJean-Jacques Hiblot	help
221f52bdf4bSJean-Jacques Hiblot	  This enables support for LZO compression algorithm in the SPL.
222f52bdf4bSJean-Jacques Hiblot
2237264f292SYork Sunconfig SPL_GZIP
2247264f292SYork Sun	bool "Enable gzip decompression support for SPL build"
2257264f292SYork Sun	select SPL_ZLIB
2267264f292SYork Sun	help
2277264f292SYork Sun	  This enables support for GZIP compression altorithm for SPL boot.
2287264f292SYork Sun
2297264f292SYork Sunconfig SPL_ZLIB
2307264f292SYork Sun	bool
2317264f292SYork Sun	help
2327264f292SYork Sun	  This enables compression lib for SPL boot.
2337264f292SYork Sun
234027b728dSJulius Wernerendmenu
235027b728dSJulius Werner
2366501ff62SPrzemyslaw Marczakconfig ERRNO_STR
2376501ff62SPrzemyslaw Marczak	bool "Enable function for getting errno-related string message"
2386501ff62SPrzemyslaw Marczak	help
2396501ff62SPrzemyslaw Marczak	  The function errno_str(int errno), returns a pointer to the errno
2406501ff62SPrzemyslaw Marczak	  corresponding text message:
2416501ff62SPrzemyslaw Marczak	  - if errno is null or positive number - a pointer to "Success" message
2426501ff62SPrzemyslaw Marczak	  - if errno is negative - a pointer to errno related message
2436501ff62SPrzemyslaw Marczak
24469e173ebSSimon Glassconfig OF_LIBFDT
24569e173ebSSimon Glass	bool "Enable the FDT library"
24669e173ebSSimon Glass	default y if OF_CONTROL
24769e173ebSSimon Glass	help
24869e173ebSSimon Glass	  This enables the FDT library (libfdt). It provides functions for
24969e173ebSSimon Glass	  accessing binary device tree images in memory, such as adding and
250f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
25169e173ebSSimon Glass	  particular compatible nodes. The library operates on a flattened
25269e173ebSSimon Glass	  version of the device tree.
25369e173ebSSimon Glass
254ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY
255ddf67f71SMaxime Ripard	bool "Enable the FDT library overlay support"
256ddf67f71SMaxime Ripard	help
257ddf67f71SMaxime Ripard	  This enables the FDT library (libfdt) overlay support.
258ddf67f71SMaxime Ripard
259aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT
260aa34fbc0SSimon Glass	bool "Enable the FDT library for SPL"
261aa34fbc0SSimon Glass	default y if SPL_OF_CONTROL
262aa34fbc0SSimon Glass	help
263aa34fbc0SSimon Glass	  This enables the FDT library (libfdt). It provides functions for
264aa34fbc0SSimon Glass	  accessing binary device tree images in memory, such as adding and
265f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
266aa34fbc0SSimon Glass	  particular compatible nodes. The library operates on a flattened
267aa34fbc0SSimon Glass	  version of the device tree.
268aa34fbc0SSimon Glass
269ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS
270ebf7fff2SHeiko Schocher	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
271ebf7fff2SHeiko Schocher	depends on OF_LIBFDT
272ebf7fff2SHeiko Schocher	default n
273ebf7fff2SHeiko Schocher	help
274ebf7fff2SHeiko Schocher	  Allow overwriting defined partitions in the device tree blob
275ebf7fff2SHeiko Schocher	  using partition info defined in the 'mtdparts' environment
276ebf7fff2SHeiko Schocher	  variable.
277ebf7fff2SHeiko Schocher
2784b6dddc2SAlexander Grafmenu "System tables"
279e663b350SAlexander Graf	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
2804b6dddc2SAlexander Graf
2814b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE
2824b6dddc2SAlexander Graf	bool "Generate an SMBIOS (System Management BIOS) table"
2834b6dddc2SAlexander Graf	default y
284e663b350SAlexander Graf	depends on X86 || EFI_LOADER
2854b6dddc2SAlexander Graf	help
2864b6dddc2SAlexander Graf	  The System Management BIOS (SMBIOS) specification addresses how
2874b6dddc2SAlexander Graf	  motherboard and system vendors present management information about
2884b6dddc2SAlexander Graf	  their products in a standard format by extending the BIOS interface
2894b6dddc2SAlexander Graf	  on Intel architecture systems.
2904b6dddc2SAlexander Graf
2914b6dddc2SAlexander Graf	  Check http://www.dmtf.org/standards/smbios for details.
2924b6dddc2SAlexander Graf
2934b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER
2944b6dddc2SAlexander Graf	string "SMBIOS Manufacturer"
2954b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
2964b6dddc2SAlexander Graf	default SYS_VENDOR
2974b6dddc2SAlexander Graf	help
2984b6dddc2SAlexander Graf	  The board manufacturer to store in SMBIOS structures.
2994b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_VENDOR).
3004b6dddc2SAlexander Graf
3014b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME
3024b6dddc2SAlexander Graf	string "SMBIOS Product Name"
3034b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
3044b6dddc2SAlexander Graf	default SYS_BOARD
3054b6dddc2SAlexander Graf	help
3064b6dddc2SAlexander Graf	  The product name to store in SMBIOS structures.
3074b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_BOARD).
3084b6dddc2SAlexander Graf
3094b6dddc2SAlexander Grafendmenu
3104b6dddc2SAlexander Graf
311867a6ac8SSimon Glasssource lib/efi/Kconfig
312ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig
313867a6ac8SSimon Glass
314ed36323fSMasahiro Yamadaendmenu
315