xref: /openbmc/u-boot/lib/Kconfig (revision 6ef2f90108e2cf101d931c71ea7904f2b6301641)
1ed36323fSMasahiro Yamadamenu "Library routines"
2ed36323fSMasahiro Yamada
3*6ef2f901SAdam Fordconfig BCH
4*6ef2f901SAdam Ford	bool "Enable Software based BCH ECC"
5*6ef2f901SAdam Ford	help
6*6ef2f901SAdam Ford	  Enables software based BCH ECC algorithm present in lib/bch.c
7*6ef2f901SAdam Ford	  This is used by SoC platforms which do not have built-in ELM
8*6ef2f901SAdam Ford	  hardware engine required for BCH ECC correction.
9*6ef2f901SAdam 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
1845ccec8fSMasahiro Yamadaconfig HAVE_PRIVATE_LIBGCC
1945ccec8fSMasahiro Yamada	bool
2045ccec8fSMasahiro Yamada
2145ccec8fSMasahiro Yamadaconfig USE_PRIVATE_LIBGCC
2245ccec8fSMasahiro Yamada	bool "Use private libgcc"
2345ccec8fSMasahiro Yamada	depends on HAVE_PRIVATE_LIBGCC
2491b86e21SMarek Vasut	default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
2545ccec8fSMasahiro Yamada	help
2645ccec8fSMasahiro Yamada	  This option allows you to use the built-in libgcc implementation
2767976306SMasahiro Yamada	  of U-Boot instead of the one provided by the compiler.
2845ccec8fSMasahiro Yamada	  If unsure, say N.
2945ccec8fSMasahiro Yamada
308c688bc4SMasahiro Yamadaconfig SYS_HZ
318c688bc4SMasahiro Yamada	int
328c688bc4SMasahiro Yamada	default 1000
338c688bc4SMasahiro Yamada	help
348c688bc4SMasahiro Yamada	  The frequency of the timer returned by get_timer().
358c688bc4SMasahiro Yamada	  get_timer() must operate in milliseconds and this option must be
368c688bc4SMasahiro Yamada	  set to 1000.
378c688bc4SMasahiro Yamada
387d9cde10SStefan Roeseconfig USE_TINY_PRINTF
397d9cde10SStefan Roese	bool "Enable tiny printf() version"
407d9cde10SStefan Roese	help
417d9cde10SStefan Roese	  This option enables a tiny, stripped down printf version.
427d9cde10SStefan Roese	  This should only be used in space limited environments,
437d9cde10SStefan Roese	  like SPL versions with hard memory limits. This version
447d9cde10SStefan Roese	  reduces the code size by about 2.5KiB on armv7.
457d9cde10SStefan Roese
467d9cde10SStefan Roese	  The supported format specifiers are %c, %s, %u/%d and %x.
477d9cde10SStefan Roese
481a60650cSJoe Hershbergerconfig REGEX
491a60650cSJoe Hershberger	bool "Enable regular expression support"
50f7848d90SJoe Hershberger	default y if NET
511a60650cSJoe Hershberger	help
521a60650cSJoe Hershberger	  If this variable is defined, U-Boot is linked against the
531a60650cSJoe Hershberger	  SLRE (Super Light Regular Expression) library, which adds
541a60650cSJoe Hershberger	  regex support to some commands, for example "env grep" and
551a60650cSJoe Hershberger	  "setexpr".
561a60650cSJoe Hershberger
579ba9e85fSMichal Simekconfig LIB_RAND
583850dbe8SMasahiro Yamada	bool "Pseudo-random library support "
593850dbe8SMasahiro Yamada	help
603850dbe8SMasahiro Yamada	  This library provides pseudo-random number generator functions.
619ba9e85fSMichal Simek
62ab4458bdSSimon Glassconfig SPL_TINY_MEMSET
63ab4458bdSSimon Glass	bool "Use a very small memset() in SPL"
64ab4458bdSSimon Glass	help
65ab4458bdSSimon Glass	  The faster memset() is the arch-specific one (if available) enabled
66ab4458bdSSimon Glass	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
67ab4458bdSSimon Glass	  better performance by writing a word at a time. But in very
68ab4458bdSSimon Glass	  size-constrained envrionments even this may be too big. Enable this
69ab4458bdSSimon Glass	  option to reduce code size slightly at the cost of some speed.
70ab4458bdSSimon Glass
7196b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET
7296b9082cSPhilipp Tomsich	bool "Use a very small memset() in TPL"
7396b9082cSPhilipp Tomsich	help
7496b9082cSPhilipp Tomsich	  The faster memset() is the arch-specific one (if available) enabled
7596b9082cSPhilipp Tomsich	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
7696b9082cSPhilipp Tomsich	  better performance by writing a word at a time. But in very
7796b9082cSPhilipp Tomsich	  size-constrained envrionments even this may be too big. Enable this
7896b9082cSPhilipp Tomsich	  option to reduce code size slightly at the cost of some speed.
7996b9082cSPhilipp Tomsich
80aa049152SBoris Brezillonconfig RBTREE
81aa049152SBoris Brezillon	bool
82aa049152SBoris Brezillon
83d1389403SSimon Glasssource lib/dhry/Kconfig
84d1389403SSimon Glass
85b1a873dfSSimon Glassmenu "Security support"
86b1a873dfSSimon Glass
87b1a873dfSSimon Glassconfig AES
88b1a873dfSSimon Glass	bool "Support the AES algorithm"
89b1a873dfSSimon Glass	help
90b1a873dfSSimon Glass	  This provides a means to encrypt and decrypt data using the AES
91b1a873dfSSimon Glass	  (Advanced Encryption Standard). This algorithm uses a symetric key
92b1a873dfSSimon Glass	  and is widely used as a streaming cipher. Different key lengths are
93b1a873dfSSimon Glass	  supported by the algorithm but only a 128-bit key is supported at
94b1a873dfSSimon Glass	  present.
95b1a873dfSSimon Glass
96d9f23c7fSRuchika Guptasource lib/rsa/Kconfig
97c4beb22fSRuchika Gupta
98a7d660bcSSimon Glassconfig TPM
99a7d660bcSSimon Glass	bool "Trusted Platform Module (TPM) Support"
1002419cd16SSimon Glass	depends on DM
101a7d660bcSSimon Glass	help
102a7d660bcSSimon Glass	  This enables support for TPMs which can be used to provide security
103a7d660bcSSimon Glass	  features for your board. The TPM can be connected via LPC or I2C
104a7d660bcSSimon Glass	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
105a7d660bcSSimon Glass	  command to interactive the TPM. Driver model support is provided
106a7d660bcSSimon Glass	  for the low-level TPM interface, but only one TPM is supported at
107a7d660bcSSimon Glass	  a time by the TPM library.
108a7d660bcSSimon Glass
109b1a873dfSSimon Glassendmenu
110b1a873dfSSimon Glass
11194e3c8c4Sgaurav ranamenu "Hashing Support"
11294e3c8c4Sgaurav rana
11394e3c8c4Sgaurav ranaconfig SHA1
11494e3c8c4Sgaurav rana	bool "Enable SHA1 support"
11594e3c8c4Sgaurav rana	help
11694e3c8c4Sgaurav rana	  This option enables support of hashing using SHA1 algorithm.
11794e3c8c4Sgaurav rana	  The hash is calculated in software.
11894e3c8c4Sgaurav rana	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
11994e3c8c4Sgaurav rana	  (digest).
12094e3c8c4Sgaurav rana
12194e3c8c4Sgaurav ranaconfig SHA256
12294e3c8c4Sgaurav rana	bool "Enable SHA256 support"
12394e3c8c4Sgaurav rana	help
12494e3c8c4Sgaurav rana	  This option enables support of hashing using SHA256 algorithm.
12594e3c8c4Sgaurav rana	  The hash is calculated in software.
12694e3c8c4Sgaurav rana	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
12794e3c8c4Sgaurav rana	  (digest).
12894e3c8c4Sgaurav rana
12994e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL
13094e3c8c4Sgaurav rana	bool "Enable hashing using hardware"
13194e3c8c4Sgaurav rana	help
13294e3c8c4Sgaurav rana	  This option enables hardware acceleration
13394e3c8c4Sgaurav rana	  for SHA1/SHA256 hashing.
13494e3c8c4Sgaurav rana	  This affects the 'hash' command and also the
13594e3c8c4Sgaurav rana	  hash_lookup_algo() function.
13694e3c8c4Sgaurav rana
13794e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL
13894e3c8c4Sgaurav rana	bool "Enable Progressive hashing support using hardware"
13994e3c8c4Sgaurav rana	depends on SHA_HW_ACCEL
14094e3c8c4Sgaurav rana	help
14194e3c8c4Sgaurav rana	  This option enables hardware-acceleration for
14294e3c8c4Sgaurav rana	  SHA1/SHA256 progressive hashing.
14394e3c8c4Sgaurav rana	  Data can be streamed in a block at a time and the hashing
14494e3c8c4Sgaurav rana	  is performed in hardware.
145bea79d7dSAndre Przywara
146bea79d7dSAndre Przywaraconfig MD5
147bea79d7dSAndre Przywara	bool
148bea79d7dSAndre Przywara
14994e3c8c4Sgaurav ranaendmenu
15094e3c8c4Sgaurav rana
151027b728dSJulius Wernermenu "Compression Support"
152027b728dSJulius Werner
153027b728dSJulius Wernerconfig LZ4
154027b728dSJulius Werner	bool "Enable LZ4 decompression support"
155027b728dSJulius Werner	help
156027b728dSJulius Werner	  If this option is set, support for LZ4 compressed images
157027b728dSJulius Werner	  is included. The LZ4 algorithm can run in-place as long as the
158027b728dSJulius Werner	  compressed image is loaded to the end of the output buffer, and
159027b728dSJulius Werner	  trades lower compression ratios for much faster decompression.
160027b728dSJulius Werner
161027b728dSJulius Werner	  NOTE: This implements the release version of the LZ4 frame
162027b728dSJulius Werner	  format as generated by default by the 'lz4' command line tool.
163027b728dSJulius Werner	  This is not the same as the outdated, less efficient legacy
164027b728dSJulius Werner	  frame format currently (2015) implemented in the Linux kernel
165027b728dSJulius Werner	  (generated by 'lz4 -l'). The two formats are incompatible.
166027b728dSJulius Werner
167aed998aaSSimon Glassconfig LZMA
168aed998aaSSimon Glass	bool "Enable LZMA decompression support"
169aed998aaSSimon Glass	help
170aed998aaSSimon Glass	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
171aed998aaSSimon Glass	  a dictionary compression algorithm that provides a high compression
172aed998aaSSimon Glass	  ratio and fairly fast decompression speed. See also
173aed998aaSSimon Glass	  CONFIG_CMD_LZMADEC which provides a decode command.
174aed998aaSSimon Glass
175173aafbfSBoris Brezillonconfig LZO
176d56b4b19STom Rini	bool "Enable LZO decompression support"
177d56b4b19STom Rini	help
178d56b4b19STom Rini	  This enables support for LZO compression algorithm.r
179027b728dSJulius Wernerendmenu
180027b728dSJulius Werner
1816501ff62SPrzemyslaw Marczakconfig ERRNO_STR
1826501ff62SPrzemyslaw Marczak	bool "Enable function for getting errno-related string message"
1836501ff62SPrzemyslaw Marczak	help
1846501ff62SPrzemyslaw Marczak	  The function errno_str(int errno), returns a pointer to the errno
1856501ff62SPrzemyslaw Marczak	  corresponding text message:
1866501ff62SPrzemyslaw Marczak	  - if errno is null or positive number - a pointer to "Success" message
1876501ff62SPrzemyslaw Marczak	  - if errno is negative - a pointer to errno related message
1886501ff62SPrzemyslaw Marczak
18969e173ebSSimon Glassconfig OF_LIBFDT
19069e173ebSSimon Glass	bool "Enable the FDT library"
19169e173ebSSimon Glass	default y if OF_CONTROL
19269e173ebSSimon Glass	help
19369e173ebSSimon Glass	  This enables the FDT library (libfdt). It provides functions for
19469e173ebSSimon Glass	  accessing binary device tree images in memory, such as adding and
195f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
19669e173ebSSimon Glass	  particular compatible nodes. The library operates on a flattened
19769e173ebSSimon Glass	  version of the device tree.
19869e173ebSSimon Glass
199ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY
200ddf67f71SMaxime Ripard	bool "Enable the FDT library overlay support"
201ddf67f71SMaxime Ripard	help
202ddf67f71SMaxime Ripard	  This enables the FDT library (libfdt) overlay support.
203ddf67f71SMaxime Ripard
204aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT
205aa34fbc0SSimon Glass	bool "Enable the FDT library for SPL"
206aa34fbc0SSimon Glass	default y if SPL_OF_CONTROL
207aa34fbc0SSimon Glass	help
208aa34fbc0SSimon Glass	  This enables the FDT library (libfdt). It provides functions for
209aa34fbc0SSimon Glass	  accessing binary device tree images in memory, such as adding and
210f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
211aa34fbc0SSimon Glass	  particular compatible nodes. The library operates on a flattened
212aa34fbc0SSimon Glass	  version of the device tree.
213aa34fbc0SSimon Glass
214ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS
215ebf7fff2SHeiko Schocher	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
216ebf7fff2SHeiko Schocher	depends on OF_LIBFDT
217ebf7fff2SHeiko Schocher	default n
218ebf7fff2SHeiko Schocher	help
219ebf7fff2SHeiko Schocher	  Allow overwriting defined partitions in the device tree blob
220ebf7fff2SHeiko Schocher	  using partition info defined in the 'mtdparts' environment
221ebf7fff2SHeiko Schocher	  variable.
222ebf7fff2SHeiko Schocher
2234b6dddc2SAlexander Grafmenu "System tables"
224e663b350SAlexander Graf	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
2254b6dddc2SAlexander Graf
2264b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE
2274b6dddc2SAlexander Graf	bool "Generate an SMBIOS (System Management BIOS) table"
2284b6dddc2SAlexander Graf	default y
229e663b350SAlexander Graf	depends on X86 || EFI_LOADER
2304b6dddc2SAlexander Graf	help
2314b6dddc2SAlexander Graf	  The System Management BIOS (SMBIOS) specification addresses how
2324b6dddc2SAlexander Graf	  motherboard and system vendors present management information about
2334b6dddc2SAlexander Graf	  their products in a standard format by extending the BIOS interface
2344b6dddc2SAlexander Graf	  on Intel architecture systems.
2354b6dddc2SAlexander Graf
2364b6dddc2SAlexander Graf	  Check http://www.dmtf.org/standards/smbios for details.
2374b6dddc2SAlexander Graf
2384b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER
2394b6dddc2SAlexander Graf	string "SMBIOS Manufacturer"
2404b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
2414b6dddc2SAlexander Graf	default SYS_VENDOR
2424b6dddc2SAlexander Graf	help
2434b6dddc2SAlexander Graf	  The board manufacturer to store in SMBIOS structures.
2444b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_VENDOR).
2454b6dddc2SAlexander Graf
2464b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME
2474b6dddc2SAlexander Graf	string "SMBIOS Product Name"
2484b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
2494b6dddc2SAlexander Graf	default SYS_BOARD
2504b6dddc2SAlexander Graf	help
2514b6dddc2SAlexander Graf	  The product name to store in SMBIOS structures.
2524b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_BOARD).
2534b6dddc2SAlexander Graf
2544b6dddc2SAlexander Grafendmenu
2554b6dddc2SAlexander Graf
256867a6ac8SSimon Glasssource lib/efi/Kconfig
257ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig
258867a6ac8SSimon Glass
259ed36323fSMasahiro Yamadaendmenu
260