xref: /rk3399_rockchip-uboot/lib/Kconfig (revision 4700eff16121332601631d377187c7ae4a505051)
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
387f28cbb6SJoseph Chenconfig SYS_STACK_SIZE
397f28cbb6SJoseph Chen	hex
40595f057cSJoseph Chen	default 0x200000
417f28cbb6SJoseph Chen	help
427f28cbb6SJoseph Chen	 The system stack size.
437f28cbb6SJoseph Chen
447d9cde10SStefan Roeseconfig USE_TINY_PRINTF
457d9cde10SStefan Roese	bool "Enable tiny printf() version"
467d9cde10SStefan Roese	help
477d9cde10SStefan Roese	  This option enables a tiny, stripped down printf version.
487d9cde10SStefan Roese	  This should only be used in space limited environments,
497d9cde10SStefan Roese	  like SPL versions with hard memory limits. This version
507d9cde10SStefan Roese	  reduces the code size by about 2.5KiB on armv7.
517d9cde10SStefan Roese
527d9cde10SStefan Roese	  The supported format specifiers are %c, %s, %u/%d and %x.
537d9cde10SStefan Roese
540e13c182SMasahiro Yamadaconfig PANIC_HANG
550e13c182SMasahiro Yamada	bool "Do not reset the system on fatal error"
560e13c182SMasahiro Yamada	help
570e13c182SMasahiro Yamada	  Define this option to stop the system in case of a fatal error,
580e13c182SMasahiro Yamada	  so that you have to reset it manually. This is probably NOT a good
590e13c182SMasahiro Yamada	  idea for an embedded system where you want the system to reboot
600e13c182SMasahiro Yamada	  automatically as fast as possible, but it may be useful during
610e13c182SMasahiro Yamada	  development since you can try to debug the conditions that lead to
620e13c182SMasahiro Yamada	  the situation.
630e13c182SMasahiro Yamada
641a60650cSJoe Hershbergerconfig REGEX
651a60650cSJoe Hershberger	bool "Enable regular expression support"
66f7848d90SJoe Hershberger	default y if NET
671a60650cSJoe Hershberger	help
681a60650cSJoe Hershberger	  If this variable is defined, U-Boot is linked against the
691a60650cSJoe Hershberger	  SLRE (Super Light Regular Expression) library, which adds
701a60650cSJoe Hershberger	  regex support to some commands, for example "env grep" and
711a60650cSJoe Hershberger	  "setexpr".
721a60650cSJoe Hershberger
739ba9e85fSMichal Simekconfig LIB_RAND
743850dbe8SMasahiro Yamada	bool "Pseudo-random library support "
753850dbe8SMasahiro Yamada	help
763850dbe8SMasahiro Yamada	  This library provides pseudo-random number generator functions.
779ba9e85fSMichal Simek
78ab4458bdSSimon Glassconfig SPL_TINY_MEMSET
79ab4458bdSSimon Glass	bool "Use a very small memset() in SPL"
80b11db21eSJoseph Chen	depends on SPL
81ab4458bdSSimon Glass	help
82ab4458bdSSimon Glass	  The faster memset() is the arch-specific one (if available) enabled
83ab4458bdSSimon Glass	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
84ab4458bdSSimon Glass	  better performance by writing a word at a time. But in very
85ab4458bdSSimon Glass	  size-constrained envrionments even this may be too big. Enable this
86ab4458bdSSimon Glass	  option to reduce code size slightly at the cost of some speed.
87ab4458bdSSimon Glass
8896b9082cSPhilipp Tomsichconfig TPL_TINY_MEMSET
8996b9082cSPhilipp Tomsich	bool "Use a very small memset() in TPL"
9096b9082cSPhilipp Tomsich	help
9196b9082cSPhilipp Tomsich	  The faster memset() is the arch-specific one (if available) enabled
9296b9082cSPhilipp Tomsich	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
9396b9082cSPhilipp Tomsich	  better performance by writing a word at a time. But in very
9496b9082cSPhilipp Tomsich	  size-constrained envrionments even this may be too big. Enable this
9596b9082cSPhilipp Tomsich	  option to reduce code size slightly at the cost of some speed.
9696b9082cSPhilipp Tomsich
97aa049152SBoris Brezillonconfig RBTREE
98aa049152SBoris Brezillon	bool
99aa049152SBoris Brezillon
100c6348130SZhangbin Tongconfig BITREVERSE
101c6348130SZhangbin Tong	bool
102c6348130SZhangbin Tong
103ffa8f8b7SJoseph Chenconfig SYSMEM
104ffa8f8b7SJoseph Chen	bool "System memory management"
105ffa8f8b7SJoseph Chen	default y
106ffa8f8b7SJoseph Chen	help
107ffa8f8b7SJoseph Chen	  This enables support for system permanent memory management.
108ffa8f8b7SJoseph Chen
109483d0493SJoseph Chenconfig BIDRAM
110483d0493SJoseph Chen	bool "GD board bi_dram[] memory management"
111483d0493SJoseph Chen	default y
112483d0493SJoseph Chen	help
113483d0493SJoseph Chen	  This enables support for GD board bi_dram[] memory management.
114483d0493SJoseph Chen
115d1389403SSimon Glasssource lib/dhry/Kconfig
116d1389403SSimon Glass
117b1a873dfSSimon Glassmenu "Security support"
118b1a873dfSSimon Glass
119b1a873dfSSimon Glassconfig AES
120b1a873dfSSimon Glass	bool "Support the AES algorithm"
121b1a873dfSSimon Glass	help
122b1a873dfSSimon Glass	  This provides a means to encrypt and decrypt data using the AES
123b1a873dfSSimon Glass	  (Advanced Encryption Standard). This algorithm uses a symetric key
124b1a873dfSSimon Glass	  and is widely used as a streaming cipher. Different key lengths are
125b1a873dfSSimon Glass	  supported by the algorithm but only a 128-bit key is supported at
126b1a873dfSSimon Glass	  present.
127b1a873dfSSimon Glass
128d9f23c7fSRuchika Guptasource lib/rsa/Kconfig
129c4beb22fSRuchika Gupta
130a7d660bcSSimon Glassconfig TPM
131a7d660bcSSimon Glass	bool "Trusted Platform Module (TPM) Support"
1322419cd16SSimon Glass	depends on DM
133a7d660bcSSimon Glass	help
134a7d660bcSSimon Glass	  This enables support for TPMs which can be used to provide security
135a7d660bcSSimon Glass	  features for your board. The TPM can be connected via LPC or I2C
136a7d660bcSSimon Glass	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
137a7d660bcSSimon Glass	  command to interactive the TPM. Driver model support is provided
138a7d660bcSSimon Glass	  for the low-level TPM interface, but only one TPM is supported at
139a7d660bcSSimon Glass	  a time by the TPM library.
140a7d660bcSSimon Glass
141b1a873dfSSimon Glassendmenu
142b1a873dfSSimon Glass
143f93178aeSJoseph Chenmenu "Boot Configuration"
144f93178aeSJoseph Chen
145f93178aeSJoseph Chenconfig XBC
146f93178aeSJoseph Chen	bool "Boot Configuration support"
147f93178aeSJoseph Chen	depends on ANDROID_BOOT_IMAGE
148f93178aeSJoseph Chen	default n
149f93178aeSJoseph Chen	help
150f93178aeSJoseph Chen	  This enables support of Boot Configuration which can be used
151f93178aeSJoseph Chen	  to pass boot configuration parameters to user space. These
152f93178aeSJoseph Chen	  parameters will show up in /proc/bootconfig similar to the kernel
153f93178aeSJoseph Chen	  parameters that show up in /proc/cmdline
154f93178aeSJoseph Chen
155f93178aeSJoseph Chenendmenu
156f93178aeSJoseph Chen
15794e3c8c4Sgaurav ranamenu "Hashing Support"
15894e3c8c4Sgaurav rana
15994e3c8c4Sgaurav ranaconfig SHA1
16094e3c8c4Sgaurav rana	bool "Enable SHA1 support"
16194e3c8c4Sgaurav rana	help
16294e3c8c4Sgaurav rana	  This option enables support of hashing using SHA1 algorithm.
16394e3c8c4Sgaurav rana	  The hash is calculated in software.
16494e3c8c4Sgaurav rana	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
16594e3c8c4Sgaurav rana	  (digest).
16694e3c8c4Sgaurav rana
16794e3c8c4Sgaurav ranaconfig SHA256
16894e3c8c4Sgaurav rana	bool "Enable SHA256 support"
16994e3c8c4Sgaurav rana	help
17094e3c8c4Sgaurav rana	  This option enables support of hashing using SHA256 algorithm.
17194e3c8c4Sgaurav rana	  The hash is calculated in software.
17294e3c8c4Sgaurav rana	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
17394e3c8c4Sgaurav rana	  (digest).
17494e3c8c4Sgaurav rana
1752227535dSJoseph Chenconfig SHA512
1762227535dSJoseph Chen	bool "Enable SHA512 support"
1772227535dSJoseph Chen	help
1782227535dSJoseph Chen	  This option enables support of hashing using SHA512 algorithm.
1792227535dSJoseph Chen	  The hash is calculated in software.
1802227535dSJoseph Chen	  The SHA512 algorithm produces a 512-bit (64-byte) hash value
1812227535dSJoseph Chen	  (digest).
1822227535dSJoseph Chen
18394e3c8c4Sgaurav ranaconfig SHA_HW_ACCEL
18494e3c8c4Sgaurav rana	bool "Enable hashing using hardware"
18594e3c8c4Sgaurav rana	help
18694e3c8c4Sgaurav rana	  This option enables hardware acceleration
18794e3c8c4Sgaurav rana	  for SHA1/SHA256 hashing.
18894e3c8c4Sgaurav rana	  This affects the 'hash' command and also the
18994e3c8c4Sgaurav rana	  hash_lookup_algo() function.
19094e3c8c4Sgaurav rana
19194e3c8c4Sgaurav ranaconfig SHA_PROG_HW_ACCEL
19294e3c8c4Sgaurav rana	bool "Enable Progressive hashing support using hardware"
19394e3c8c4Sgaurav rana	depends on SHA_HW_ACCEL
19494e3c8c4Sgaurav rana	help
19594e3c8c4Sgaurav rana	  This option enables hardware-acceleration for
19694e3c8c4Sgaurav rana	  SHA1/SHA256 progressive hashing.
19794e3c8c4Sgaurav rana	  Data can be streamed in a block at a time and the hashing
19894e3c8c4Sgaurav rana	  is performed in hardware.
199bea79d7dSAndre Przywara
200bea79d7dSAndre Przywaraconfig MD5
201bea79d7dSAndre Przywara	bool
202bea79d7dSAndre Przywara
20392193ef7SMarek Behúnconfig CRC32C
20492193ef7SMarek Behún	bool
20592193ef7SMarek Behún
20694e3c8c4Sgaurav ranaendmenu
20794e3c8c4Sgaurav rana
208027b728dSJulius Wernermenu "Compression Support"
209027b728dSJulius Werner
210027b728dSJulius Wernerconfig LZ4
211027b728dSJulius Werner	bool "Enable LZ4 decompression support"
212027b728dSJulius Werner	help
213027b728dSJulius Werner	  If this option is set, support for LZ4 compressed images
214027b728dSJulius Werner	  is included. The LZ4 algorithm can run in-place as long as the
215027b728dSJulius Werner	  compressed image is loaded to the end of the output buffer, and
216027b728dSJulius Werner	  trades lower compression ratios for much faster decompression.
217027b728dSJulius Werner
218027b728dSJulius Werner	  NOTE: This implements the release version of the LZ4 frame
219027b728dSJulius Werner	  format as generated by default by the 'lz4' command line tool.
220027b728dSJulius Werner	  This is not the same as the outdated, less efficient legacy
221027b728dSJulius Werner	  frame format currently (2015) implemented in the Linux kernel
222027b728dSJulius Werner	  (generated by 'lz4 -l'). The two formats are incompatible.
223027b728dSJulius Werner
224aed998aaSSimon Glassconfig LZMA
225aed998aaSSimon Glass	bool "Enable LZMA decompression support"
226aed998aaSSimon Glass	help
227aed998aaSSimon Glass	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
228aed998aaSSimon Glass	  a dictionary compression algorithm that provides a high compression
229aed998aaSSimon Glass	  ratio and fairly fast decompression speed. See also
230aed998aaSSimon Glass	  CONFIG_CMD_LZMADEC which provides a decode command.
231aed998aaSSimon Glass
2324425319bSJoseph Chenconfig SPL_LZMA
2334425319bSJoseph Chen	bool "Enable LZMA decompression support in SPL"
2344425319bSJoseph Chen	depends on SPL
2354425319bSJoseph Chen	help
2364425319bSJoseph Chen	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
2374425319bSJoseph Chen	  a dictionary compression algorithm that provides a high compression
2384425319bSJoseph Chen	  ratio and fairly fast decompression speed. See also
2394425319bSJoseph Chen
240173aafbfSBoris Brezillonconfig LZO
241d56b4b19STom Rini	bool "Enable LZO decompression support"
242d56b4b19STom Rini	help
243d56b4b19STom Rini	  This enables support for LZO compression algorithm.r
244b81c4739SYork Sun
245205ac79eSJean-Jacques Hiblotconfig SPL_LZO
246205ac79eSJean-Jacques Hiblot	bool "Enable LZO decompression support in SPL"
247205ac79eSJean-Jacques Hiblot	help
248205ac79eSJean-Jacques Hiblot	  This enables support for LZO compression algorithm in the SPL.
249205ac79eSJean-Jacques Hiblot
250b81c4739SYork Sunconfig SPL_GZIP
251b81c4739SYork Sun	bool "Enable gzip decompression support for SPL build"
252b81c4739SYork Sun	select SPL_ZLIB
253b81c4739SYork Sun	help
254b81c4739SYork Sun	  This enables support for GZIP compression altorithm for SPL boot.
255b81c4739SYork Sun
256b81c4739SYork Sunconfig SPL_ZLIB
257b81c4739SYork Sun	bool
258b81c4739SYork Sun	help
259b81c4739SYork Sun	  This enables compression lib for SPL boot.
260b81c4739SYork Sun
261027b728dSJulius Wernerendmenu
262027b728dSJulius Werner
2636501ff62SPrzemyslaw Marczakconfig ERRNO_STR
2646501ff62SPrzemyslaw Marczak	bool "Enable function for getting errno-related string message"
2656501ff62SPrzemyslaw Marczak	help
2666501ff62SPrzemyslaw Marczak	  The function errno_str(int errno), returns a pointer to the errno
2676501ff62SPrzemyslaw Marczak	  corresponding text message:
2686501ff62SPrzemyslaw Marczak	  - if errno is null or positive number - a pointer to "Success" message
2696501ff62SPrzemyslaw Marczak	  - if errno is negative - a pointer to errno related message
2706501ff62SPrzemyslaw Marczak
27128386b6dSAlexey Brodkinconfig HEXDUMP
27228386b6dSAlexey Brodkin	bool "Enable hexdump"
27328386b6dSAlexey Brodkin	help
27428386b6dSAlexey Brodkin	  This enables functions for printing dumps of binary data.
27528386b6dSAlexey Brodkin
27669e173ebSSimon Glassconfig OF_LIBFDT
27769e173ebSSimon Glass	bool "Enable the FDT library"
27869e173ebSSimon Glass	default y if OF_CONTROL
27969e173ebSSimon Glass	help
28069e173ebSSimon Glass	  This enables the FDT library (libfdt). It provides functions for
28169e173ebSSimon Glass	  accessing binary device tree images in memory, such as adding and
282f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
28369e173ebSSimon Glass	  particular compatible nodes. The library operates on a flattened
28469e173ebSSimon Glass	  version of the device tree.
28569e173ebSSimon Glass
286ddf67f71SMaxime Ripardconfig OF_LIBFDT_OVERLAY
287ddf67f71SMaxime Ripard	bool "Enable the FDT library overlay support"
288ddf67f71SMaxime Ripard	help
289ddf67f71SMaxime Ripard	  This enables the FDT library (libfdt) overlay support.
290ddf67f71SMaxime Ripard
291aa34fbc0SSimon Glassconfig SPL_OF_LIBFDT
292aa34fbc0SSimon Glass	bool "Enable the FDT library for SPL"
293aa34fbc0SSimon Glass	default y if SPL_OF_CONTROL
294aa34fbc0SSimon Glass	help
295aa34fbc0SSimon Glass	  This enables the FDT library (libfdt). It provides functions for
296aa34fbc0SSimon Glass	  accessing binary device tree images in memory, such as adding and
297f1a7ba1dSAnatolij Gustschin	  removing nodes and properties, scanning through the tree and finding
298aa34fbc0SSimon Glass	  particular compatible nodes. The library operates on a flattened
299aa34fbc0SSimon Glass	  version of the device tree.
300aa34fbc0SSimon Glass
301e2f2fb23SKever Yangconfig TPL_OF_LIBFDT
302e2f2fb23SKever Yang	bool "Enable the FDT library for TPL"
303e2f2fb23SKever Yang	default y if TPL_OF_CONTROL
304e2f2fb23SKever Yang	help
305e2f2fb23SKever Yang	  This enables the FDT library (libfdt). It provides functions for
306e2f2fb23SKever Yang	  accessing binary device tree images in memory, such as adding and
307e2f2fb23SKever Yang	  removing nodes and properties, scanning through the tree and finding
308e2f2fb23SKever Yang	  particular compatible nodes. The library operates on a flattened
309e2f2fb23SKever Yang	  version of the device tree.
310e2f2fb23SKever Yang
311ebf7fff2SHeiko Schocherconfig FDT_FIXUP_PARTITIONS
312ebf7fff2SHeiko Schocher	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
313ebf7fff2SHeiko Schocher	depends on OF_LIBFDT
314ebf7fff2SHeiko Schocher	default n
315ebf7fff2SHeiko Schocher	help
316ebf7fff2SHeiko Schocher	  Allow overwriting defined partitions in the device tree blob
317ebf7fff2SHeiko Schocher	  using partition info defined in the 'mtdparts' environment
318ebf7fff2SHeiko Schocher	  variable.
319ebf7fff2SHeiko Schocher
3204b6dddc2SAlexander Grafmenu "System tables"
321e663b350SAlexander Graf	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
3224b6dddc2SAlexander Graf
3234b6dddc2SAlexander Grafconfig GENERATE_SMBIOS_TABLE
3244b6dddc2SAlexander Graf	bool "Generate an SMBIOS (System Management BIOS) table"
3254b6dddc2SAlexander Graf	default y
326e663b350SAlexander Graf	depends on X86 || EFI_LOADER
3274b6dddc2SAlexander Graf	help
3284b6dddc2SAlexander Graf	  The System Management BIOS (SMBIOS) specification addresses how
3294b6dddc2SAlexander Graf	  motherboard and system vendors present management information about
3304b6dddc2SAlexander Graf	  their products in a standard format by extending the BIOS interface
3314b6dddc2SAlexander Graf	  on Intel architecture systems.
3324b6dddc2SAlexander Graf
3334b6dddc2SAlexander Graf	  Check http://www.dmtf.org/standards/smbios for details.
3344b6dddc2SAlexander Graf
3354b6dddc2SAlexander Grafconfig SMBIOS_MANUFACTURER
3364b6dddc2SAlexander Graf	string "SMBIOS Manufacturer"
3374b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
3384b6dddc2SAlexander Graf	default SYS_VENDOR
3394b6dddc2SAlexander Graf	help
3404b6dddc2SAlexander Graf	  The board manufacturer to store in SMBIOS structures.
3414b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_VENDOR).
3424b6dddc2SAlexander Graf
3434b6dddc2SAlexander Grafconfig SMBIOS_PRODUCT_NAME
3444b6dddc2SAlexander Graf	string "SMBIOS Product Name"
3454b6dddc2SAlexander Graf	depends on GENERATE_SMBIOS_TABLE
3464b6dddc2SAlexander Graf	default SYS_BOARD
3474b6dddc2SAlexander Graf	help
3484b6dddc2SAlexander Graf	  The product name to store in SMBIOS structures.
3494b6dddc2SAlexander Graf	  Change this to override the default one (CONFIG_SYS_BOARD).
3504b6dddc2SAlexander Graf
351*4700eff1STero Kristoconfig LIB_RATIONAL
352*4700eff1STero Kristo	bool "enable continued fraction calculation routines"
353*4700eff1STero Kristo
354*4700eff1STero Kristoconfig SPL_LIB_RATIONAL
355*4700eff1STero Kristo	bool "enable continued fraction calculation routines for SPL"
356*4700eff1STero Kristo	depends on SPL
357*4700eff1STero Kristo
3584b6dddc2SAlexander Grafendmenu
3594b6dddc2SAlexander Graf
360867a6ac8SSimon Glasssource lib/efi/Kconfig
361ed980b8cSAlexander Grafsource lib/efi_loader/Kconfig
36237a7bc39SJason Zhusource lib/avb/libavb/Kconfig
36337a7bc39SJason Zhusource lib/avb/libavb_ab/Kconfig
36437a7bc39SJason Zhusource lib/avb/libavb_atx/Kconfig
36537a7bc39SJason Zhusource lib/avb/libavb_user/Kconfig
36637a7bc39SJason Zhusource lib/avb/rk_avb_user/Kconfig
367abdd2437Shispingsource lib/optee_clientApi/Kconfig
368ed36323fSMasahiro Yamadaendmenu
369