xref: /rk3399_rockchip-uboot/lib/Kconfig (revision ffa8f8b76ea89ab65082d036dfb58c7fb136d861)
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
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
480e13c182SMasahiro Yamadaconfig PANIC_HANG
490e13c182SMasahiro Yamada	bool "Do not reset the system on fatal error"
500e13c182SMasahiro Yamada	help
510e13c182SMasahiro Yamada	  Define this option to stop the system in case of a fatal error,
520e13c182SMasahiro Yamada	  so that you have to reset it manually. This is probably NOT a good
530e13c182SMasahiro Yamada	  idea for an embedded system where you want the system to reboot
540e13c182SMasahiro Yamada	  automatically as fast as possible, but it may be useful during
550e13c182SMasahiro Yamada	  development since you can try to debug the conditions that lead to
560e13c182SMasahiro Yamada	  the situation.
570e13c182SMasahiro Yamada
581a60650cSJoe Hershbergerconfig REGEX
591a60650cSJoe Hershberger	bool "Enable regular expression support"
60f7848d90SJoe Hershberger	default y if NET
611a60650cSJoe Hershberger	help
621a60650cSJoe Hershberger	  If this variable is defined, U-Boot is linked against the
631a60650cSJoe Hershberger	  SLRE (Super Light Regular Expression) library, which adds
641a60650cSJoe Hershberger	  regex support to some commands, for example "env grep" and
651a60650cSJoe Hershberger	  "setexpr".
661a60650cSJoe Hershberger
679ba9e85fSMichal Simekconfig LIB_RAND
683850dbe8SMasahiro Yamada	bool "Pseudo-random library support "
693850dbe8SMasahiro Yamada	help
703850dbe8SMasahiro Yamada	  This library provides pseudo-random number generator functions.
719ba9e85fSMichal Simek
72ab4458bdSSimon Glassconfig SPL_TINY_MEMSET
73ab4458bdSSimon Glass	bool "Use a very small memset() in SPL"
74ab4458bdSSimon Glass	help
75ab4458bdSSimon Glass	  The faster memset() is the arch-specific one (if available) enabled
76ab4458bdSSimon Glass	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
77ab4458bdSSimon Glass	  better performance by writing a word at a time. But in very
78ab4458bdSSimon Glass	  size-constrained envrionments even this may be too big. Enable this
79ab4458bdSSimon Glass	  option to reduce code size slightly at the cost of some speed.
80ab4458bdSSimon Glass
8196b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET
8296b9082cSPhilipp Tomsich	bool "Use a very small memset() in TPL"
8396b9082cSPhilipp Tomsich	help
8496b9082cSPhilipp Tomsich	  The faster memset() is the arch-specific one (if available) enabled
8596b9082cSPhilipp Tomsich	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
8696b9082cSPhilipp Tomsich	  better performance by writing a word at a time. But in very
8796b9082cSPhilipp Tomsich	  size-constrained envrionments even this may be too big. Enable this
8896b9082cSPhilipp Tomsich	  option to reduce code size slightly at the cost of some speed.
8996b9082cSPhilipp Tomsich
90aa049152SBoris Brezillonconfig RBTREE
91aa049152SBoris Brezillon	bool
92aa049152SBoris Brezillon
93c6348130SZhangbin Tongconfig BITREVERSE
94c6348130SZhangbin Tong	bool
95c6348130SZhangbin Tong
96*ffa8f8b7SJoseph Chenconfig SYSMEM
97*ffa8f8b7SJoseph Chen	bool "System memory management"
98*ffa8f8b7SJoseph Chen	default y
99*ffa8f8b7SJoseph Chen	help
100*ffa8f8b7SJoseph Chen	  This enables support for system permanent memory management.
101*ffa8f8b7SJoseph Chen
102d1389403SSimon Glasssource lib/dhry/Kconfig
103d1389403SSimon Glass
104b1a873dfSSimon Glassmenu "Security support"
105b1a873dfSSimon Glass
106b1a873dfSSimon Glassconfig AES
107b1a873dfSSimon Glass	bool "Support the AES algorithm"
108b1a873dfSSimon Glass	help
109b1a873dfSSimon Glass	  This provides a means to encrypt and decrypt data using the AES
110b1a873dfSSimon Glass	  (Advanced Encryption Standard). This algorithm uses a symetric key
111b1a873dfSSimon Glass	  and is widely used as a streaming cipher. Different key lengths are
112b1a873dfSSimon Glass	  supported by the algorithm but only a 128-bit key is supported at
113b1a873dfSSimon Glass	  present.
114b1a873dfSSimon Glass
115d9f23c7fSRuchika Guptasource lib/rsa/Kconfig
116c4beb22fSRuchika Gupta
117a7d660bcSSimon Glassconfig TPM
118a7d660bcSSimon Glass	bool "Trusted Platform Module (TPM) Support"
1192419cd16SSimon Glass	depends on DM
120a7d660bcSSimon Glass	help
121a7d660bcSSimon Glass	  This enables support for TPMs which can be used to provide security
122a7d660bcSSimon Glass	  features for your board. The TPM can be connected via LPC or I2C
123a7d660bcSSimon Glass	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
124a7d660bcSSimon Glass	  command to interactive the TPM. Driver model support is provided
125a7d660bcSSimon Glass	  for the low-level TPM interface, but only one TPM is supported at
126a7d660bcSSimon Glass	  a time by the TPM library.
127a7d660bcSSimon Glass
128b1a873dfSSimon Glassendmenu
129b1a873dfSSimon Glass
13094e3c8c4Sgaurav ranamenu "Hashing Support"
13194e3c8c4Sgaurav rana
13294e3c8c4Sgaurav ranaconfig SHA1
13394e3c8c4Sgaurav rana	bool "Enable SHA1 support"
13494e3c8c4Sgaurav rana	help
13594e3c8c4Sgaurav rana	  This option enables support of hashing using SHA1 algorithm.
13694e3c8c4Sgaurav rana	  The hash is calculated in software.
13794e3c8c4Sgaurav rana	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
13894e3c8c4Sgaurav rana	  (digest).
13994e3c8c4Sgaurav rana
14094e3c8c4Sgaurav ranaconfig SHA256
14194e3c8c4Sgaurav rana	bool "Enable SHA256 support"
14294e3c8c4Sgaurav rana	help
14394e3c8c4Sgaurav rana	  This option enables support of hashing using SHA256 algorithm.
14494e3c8c4Sgaurav rana	  The hash is calculated in software.
14594e3c8c4Sgaurav rana	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
14694e3c8c4Sgaurav rana	  (digest).
14794e3c8c4Sgaurav rana
14894e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL
14994e3c8c4Sgaurav rana	bool "Enable hashing using hardware"
15094e3c8c4Sgaurav rana	help
15194e3c8c4Sgaurav rana	  This option enables hardware acceleration
15294e3c8c4Sgaurav rana	  for SHA1/SHA256 hashing.
15394e3c8c4Sgaurav rana	  This affects the 'hash' command and also the
15494e3c8c4Sgaurav rana	  hash_lookup_algo() function.
15594e3c8c4Sgaurav rana
15694e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL
15794e3c8c4Sgaurav rana	bool "Enable Progressive hashing support using hardware"
15894e3c8c4Sgaurav rana	depends on SHA_HW_ACCEL
15994e3c8c4Sgaurav rana	help
16094e3c8c4Sgaurav rana	  This option enables hardware-acceleration for
16194e3c8c4Sgaurav rana	  SHA1/SHA256 progressive hashing.
16294e3c8c4Sgaurav rana	  Data can be streamed in a block at a time and the hashing
16394e3c8c4Sgaurav rana	  is performed in hardware.
164bea79d7dSAndre Przywara
165bea79d7dSAndre Przywaraconfig MD5
166bea79d7dSAndre Przywara	bool
167bea79d7dSAndre Przywara
16892193ef7SMarek Behúnconfig CRC32C
16992193ef7SMarek Behún	bool
17092193ef7SMarek Behún
17194e3c8c4Sgaurav ranaendmenu
17294e3c8c4Sgaurav rana
173027b728dSJulius Wernermenu "Compression Support"
174027b728dSJulius Werner
175027b728dSJulius Wernerconfig LZ4
176027b728dSJulius Werner	bool "Enable LZ4 decompression support"
177027b728dSJulius Werner	help
178027b728dSJulius Werner	  If this option is set, support for LZ4 compressed images
179027b728dSJulius Werner	  is included. The LZ4 algorithm can run in-place as long as the
180027b728dSJulius Werner	  compressed image is loaded to the end of the output buffer, and
181027b728dSJulius Werner	  trades lower compression ratios for much faster decompression.
182027b728dSJulius Werner
183027b728dSJulius Werner	  NOTE: This implements the release version of the LZ4 frame
184027b728dSJulius Werner	  format as generated by default by the 'lz4' command line tool.
185027b728dSJulius Werner	  This is not the same as the outdated, less efficient legacy
186027b728dSJulius Werner	  frame format currently (2015) implemented in the Linux kernel
187027b728dSJulius Werner	  (generated by 'lz4 -l'). The two formats are incompatible.
188027b728dSJulius Werner
189aed998aaSSimon Glassconfig LZMA
190aed998aaSSimon Glass	bool "Enable LZMA decompression support"
191aed998aaSSimon Glass	help
192aed998aaSSimon Glass	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
193aed998aaSSimon Glass	  a dictionary compression algorithm that provides a high compression
194aed998aaSSimon Glass	  ratio and fairly fast decompression speed. See also
195aed998aaSSimon Glass	  CONFIG_CMD_LZMADEC which provides a decode command.
196aed998aaSSimon Glass
197173aafbfSBoris Brezillonconfig LZO
198d56b4b19STom Rini	bool "Enable LZO decompression support"
199d56b4b19STom Rini	help
200d56b4b19STom Rini	  This enables support for LZO compression algorithm.r
201b81c4739SYork Sun
202205ac79eSJean-Jacques Hiblotconfig SPL_LZO
203205ac79eSJean-Jacques Hiblot	bool "Enable LZO decompression support in SPL"
204205ac79eSJean-Jacques Hiblot	help
205205ac79eSJean-Jacques Hiblot	  This enables support for LZO compression algorithm in the SPL.
206205ac79eSJean-Jacques Hiblot
207b81c4739SYork Sunconfig SPL_GZIP
208b81c4739SYork Sun	bool "Enable gzip decompression support for SPL build"
209b81c4739SYork Sun	select SPL_ZLIB
210b81c4739SYork Sun	help
211b81c4739SYork Sun	  This enables support for GZIP compression altorithm for SPL boot.
212b81c4739SYork Sun
213b81c4739SYork Sunconfig SPL_ZLIB
214b81c4739SYork Sun	bool
215b81c4739SYork Sun	help
216b81c4739SYork Sun	  This enables compression lib for SPL boot.
217b81c4739SYork Sun
218027b728dSJulius Wernerendmenu
219027b728dSJulius Werner
2206501ff62SPrzemyslaw Marczakconfig ERRNO_STR
2216501ff62SPrzemyslaw Marczak	bool "Enable function for getting errno-related string message"
2226501ff62SPrzemyslaw Marczak	help
2236501ff62SPrzemyslaw Marczak	  The function errno_str(int errno), returns a pointer to the errno
2246501ff62SPrzemyslaw Marczak	  corresponding text message:
2256501ff62SPrzemyslaw Marczak	  - if errno is null or positive number - a pointer to "Success" message
2266501ff62SPrzemyslaw Marczak	  - if errno is negative - a pointer to errno related message
2276501ff62SPrzemyslaw Marczak
22869e173ebSSimon Glassconfig OF_LIBFDT
22969e173ebSSimon Glass	bool "Enable the FDT library"
23069e173ebSSimon Glass	default y if OF_CONTROL
23169e173ebSSimon Glass	help
23269e173ebSSimon Glass	  This enables the FDT library (libfdt). It provides functions for
23369e173ebSSimon Glass	  accessing binary device tree images in memory, such as adding and
234f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
23569e173ebSSimon Glass	  particular compatible nodes. The library operates on a flattened
23669e173ebSSimon Glass	  version of the device tree.
23769e173ebSSimon Glass
238ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY
239ddf67f71SMaxime Ripard	bool "Enable the FDT library overlay support"
240ddf67f71SMaxime Ripard	help
241ddf67f71SMaxime Ripard	  This enables the FDT library (libfdt) overlay support.
242ddf67f71SMaxime Ripard
243aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT
244aa34fbc0SSimon Glass	bool "Enable the FDT library for SPL"
245aa34fbc0SSimon Glass	default y if SPL_OF_CONTROL
246aa34fbc0SSimon Glass	help
247aa34fbc0SSimon Glass	  This enables the FDT library (libfdt). It provides functions for
248aa34fbc0SSimon Glass	  accessing binary device tree images in memory, such as adding and
249f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
250aa34fbc0SSimon Glass	  particular compatible nodes. The library operates on a flattened
251aa34fbc0SSimon Glass	  version of the device tree.
252aa34fbc0SSimon Glass
253e2f2fb23SKever Yangconfig TPL_OF_LIBFDT
254e2f2fb23SKever Yang	bool "Enable the FDT library for TPL"
255e2f2fb23SKever Yang	default y if TPL_OF_CONTROL
256e2f2fb23SKever Yang	help
257e2f2fb23SKever Yang	  This enables the FDT library (libfdt). It provides functions for
258e2f2fb23SKever Yang	  accessing binary device tree images in memory, such as adding and
259e2f2fb23SKever Yang	  removing nodes and properties, scanning through the tree and finding
260e2f2fb23SKever Yang	  particular compatible nodes. The library operates on a flattened
261e2f2fb23SKever Yang	  version of the device tree.
262e2f2fb23SKever Yang
263ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS
264ebf7fff2SHeiko Schocher	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
265ebf7fff2SHeiko Schocher	depends on OF_LIBFDT
266ebf7fff2SHeiko Schocher	default n
267ebf7fff2SHeiko Schocher	help
268ebf7fff2SHeiko Schocher	  Allow overwriting defined partitions in the device tree blob
269ebf7fff2SHeiko Schocher	  using partition info defined in the 'mtdparts' environment
270ebf7fff2SHeiko Schocher	  variable.
271ebf7fff2SHeiko Schocher
2724b6dddc2SAlexander Grafmenu "System tables"
273e663b350SAlexander Graf	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
2744b6dddc2SAlexander Graf
2754b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE
2764b6dddc2SAlexander Graf	bool "Generate an SMBIOS (System Management BIOS) table"
2774b6dddc2SAlexander Graf	default y
278e663b350SAlexander Graf	depends on X86 || EFI_LOADER
2794b6dddc2SAlexander Graf	help
2804b6dddc2SAlexander Graf	  The System Management BIOS (SMBIOS) specification addresses how
2814b6dddc2SAlexander Graf	  motherboard and system vendors present management information about
2824b6dddc2SAlexander Graf	  their products in a standard format by extending the BIOS interface
2834b6dddc2SAlexander Graf	  on Intel architecture systems.
2844b6dddc2SAlexander Graf
2854b6dddc2SAlexander Graf	  Check http://www.dmtf.org/standards/smbios for details.
2864b6dddc2SAlexander Graf
2874b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER
2884b6dddc2SAlexander Graf	string "SMBIOS Manufacturer"
2894b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
2904b6dddc2SAlexander Graf	default SYS_VENDOR
2914b6dddc2SAlexander Graf	help
2924b6dddc2SAlexander Graf	  The board manufacturer to store in SMBIOS structures.
2934b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_VENDOR).
2944b6dddc2SAlexander Graf
2954b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME
2964b6dddc2SAlexander Graf	string "SMBIOS Product Name"
2974b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
2984b6dddc2SAlexander Graf	default SYS_BOARD
2994b6dddc2SAlexander Graf	help
3004b6dddc2SAlexander Graf	  The product name to store in SMBIOS structures.
3014b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_BOARD).
3024b6dddc2SAlexander Graf
3034b6dddc2SAlexander Grafendmenu
3044b6dddc2SAlexander Graf
305867a6ac8SSimon Glasssource lib/efi/Kconfig
306ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig
30737a7bc39SJason Zhusource lib/avb/libavb/Kconfig
30837a7bc39SJason Zhusource lib/avb/libavb_ab/Kconfig
30937a7bc39SJason Zhusource lib/avb/libavb_atx/Kconfig
31037a7bc39SJason Zhusource lib/avb/libavb_user/Kconfig
31137a7bc39SJason Zhusource lib/avb/rk_avb_user/Kconfig
312abdd2437Shispingsource lib/optee_clientApi/Kconfig
313867a6ac8SSimon Glass
314ed36323fSMasahiro Yamadaendmenu
315