xref: /OK3568_Linux_fs/u-boot/lib/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunmenu "Library routines"
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunconfig BCH
4*4882a593Smuzhiyun	bool "Enable Software based BCH ECC"
5*4882a593Smuzhiyun	help
6*4882a593Smuzhiyun	  Enables software based BCH ECC algorithm present in lib/bch.c
7*4882a593Smuzhiyun	  This is used by SoC platforms which do not have built-in ELM
8*4882a593Smuzhiyun	  hardware engine required for BCH ECC correction.
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunconfig CC_OPTIMIZE_LIBS_FOR_SPEED
11*4882a593Smuzhiyun	bool "Optimize libraries for speed"
12*4882a593Smuzhiyun	help
13*4882a593Smuzhiyun	  Enabling this option will pass "-O2" to gcc when compiling
14*4882a593Smuzhiyun	  under "lib" directory.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	  If unsure, say N.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunconfig HAVE_PRIVATE_LIBGCC
19*4882a593Smuzhiyun	bool
20*4882a593Smuzhiyun
21*4882a593Smuzhiyunconfig USE_PRIVATE_LIBGCC
22*4882a593Smuzhiyun	bool "Use private libgcc"
23*4882a593Smuzhiyun	depends on HAVE_PRIVATE_LIBGCC
24*4882a593Smuzhiyun	default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
25*4882a593Smuzhiyun	help
26*4882a593Smuzhiyun	  This option allows you to use the built-in libgcc implementation
27*4882a593Smuzhiyun	  of U-Boot instead of the one provided by the compiler.
28*4882a593Smuzhiyun	  If unsure, say N.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunconfig SYS_HZ
31*4882a593Smuzhiyun	int
32*4882a593Smuzhiyun	default 1000
33*4882a593Smuzhiyun	help
34*4882a593Smuzhiyun	  The frequency of the timer returned by get_timer().
35*4882a593Smuzhiyun	  get_timer() must operate in milliseconds and this option must be
36*4882a593Smuzhiyun	  set to 1000.
37*4882a593Smuzhiyun
38*4882a593Smuzhiyunconfig SYS_STACK_SIZE
39*4882a593Smuzhiyun	hex
40*4882a593Smuzhiyun	default 0x200000
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	 The system stack size.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunconfig USE_TINY_PRINTF
45*4882a593Smuzhiyun	bool "Enable tiny printf() version"
46*4882a593Smuzhiyun	help
47*4882a593Smuzhiyun	  This option enables a tiny, stripped down printf version.
48*4882a593Smuzhiyun	  This should only be used in space limited environments,
49*4882a593Smuzhiyun	  like SPL versions with hard memory limits. This version
50*4882a593Smuzhiyun	  reduces the code size by about 2.5KiB on armv7.
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	  The supported format specifiers are %c, %s, %u/%d and %x.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunconfig PANIC_HANG
55*4882a593Smuzhiyun	bool "Do not reset the system on fatal error"
56*4882a593Smuzhiyun	help
57*4882a593Smuzhiyun	  Define this option to stop the system in case of a fatal error,
58*4882a593Smuzhiyun	  so that you have to reset it manually. This is probably NOT a good
59*4882a593Smuzhiyun	  idea for an embedded system where you want the system to reboot
60*4882a593Smuzhiyun	  automatically as fast as possible, but it may be useful during
61*4882a593Smuzhiyun	  development since you can try to debug the conditions that lead to
62*4882a593Smuzhiyun	  the situation.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyunconfig REGEX
65*4882a593Smuzhiyun	bool "Enable regular expression support"
66*4882a593Smuzhiyun	default y if NET
67*4882a593Smuzhiyun	help
68*4882a593Smuzhiyun	  If this variable is defined, U-Boot is linked against the
69*4882a593Smuzhiyun	  SLRE (Super Light Regular Expression) library, which adds
70*4882a593Smuzhiyun	  regex support to some commands, for example "env grep" and
71*4882a593Smuzhiyun	  "setexpr".
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunconfig LIB_RAND
74*4882a593Smuzhiyun	bool "Pseudo-random library support "
75*4882a593Smuzhiyun	help
76*4882a593Smuzhiyun	  This library provides pseudo-random number generator functions.
77*4882a593Smuzhiyun
78*4882a593Smuzhiyunconfig SPL_TINY_MEMSET
79*4882a593Smuzhiyun	bool "Use a very small memset() in SPL"
80*4882a593Smuzhiyun	depends on SPL
81*4882a593Smuzhiyun	help
82*4882a593Smuzhiyun	  The faster memset() is the arch-specific one (if available) enabled
83*4882a593Smuzhiyun	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
84*4882a593Smuzhiyun	  better performance by writing a word at a time. But in very
85*4882a593Smuzhiyun	  size-constrained envrionments even this may be too big. Enable this
86*4882a593Smuzhiyun	  option to reduce code size slightly at the cost of some speed.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunconfig TPL_TINY_MEMSET
89*4882a593Smuzhiyun	bool "Use a very small memset() in TPL"
90*4882a593Smuzhiyun	help
91*4882a593Smuzhiyun	  The faster memset() is the arch-specific one (if available) enabled
92*4882a593Smuzhiyun	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
93*4882a593Smuzhiyun	  better performance by writing a word at a time. But in very
94*4882a593Smuzhiyun	  size-constrained envrionments even this may be too big. Enable this
95*4882a593Smuzhiyun	  option to reduce code size slightly at the cost of some speed.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyunconfig RBTREE
98*4882a593Smuzhiyun	bool
99*4882a593Smuzhiyun
100*4882a593Smuzhiyunconfig BITREVERSE
101*4882a593Smuzhiyun	bool
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunconfig SYSMEM
104*4882a593Smuzhiyun	bool "System memory management"
105*4882a593Smuzhiyun	default y
106*4882a593Smuzhiyun	help
107*4882a593Smuzhiyun	  This enables support for system permanent memory management.
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunconfig BIDRAM
110*4882a593Smuzhiyun	bool "GD board bi_dram[] memory management"
111*4882a593Smuzhiyun	default y
112*4882a593Smuzhiyun	help
113*4882a593Smuzhiyun	  This enables support for GD board bi_dram[] memory management.
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunsource lib/dhry/Kconfig
116*4882a593Smuzhiyun
117*4882a593Smuzhiyunmenu "Security support"
118*4882a593Smuzhiyun
119*4882a593Smuzhiyunconfig AES
120*4882a593Smuzhiyun	bool "Support the AES algorithm"
121*4882a593Smuzhiyun	help
122*4882a593Smuzhiyun	  This provides a means to encrypt and decrypt data using the AES
123*4882a593Smuzhiyun	  (Advanced Encryption Standard). This algorithm uses a symetric key
124*4882a593Smuzhiyun	  and is widely used as a streaming cipher. Different key lengths are
125*4882a593Smuzhiyun	  supported by the algorithm but only a 128-bit key is supported at
126*4882a593Smuzhiyun	  present.
127*4882a593Smuzhiyun
128*4882a593Smuzhiyunsource lib/rsa/Kconfig
129*4882a593Smuzhiyun
130*4882a593Smuzhiyunconfig TPM
131*4882a593Smuzhiyun	bool "Trusted Platform Module (TPM) Support"
132*4882a593Smuzhiyun	depends on DM
133*4882a593Smuzhiyun	help
134*4882a593Smuzhiyun	  This enables support for TPMs which can be used to provide security
135*4882a593Smuzhiyun	  features for your board. The TPM can be connected via LPC or I2C
136*4882a593Smuzhiyun	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
137*4882a593Smuzhiyun	  command to interactive the TPM. Driver model support is provided
138*4882a593Smuzhiyun	  for the low-level TPM interface, but only one TPM is supported at
139*4882a593Smuzhiyun	  a time by the TPM library.
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunendmenu
142*4882a593Smuzhiyun
143*4882a593Smuzhiyunmenu "Boot Configuration"
144*4882a593Smuzhiyun
145*4882a593Smuzhiyunconfig XBC
146*4882a593Smuzhiyun	bool "Boot Configuration support"
147*4882a593Smuzhiyun	depends on ANDROID_BOOT_IMAGE
148*4882a593Smuzhiyun	default n
149*4882a593Smuzhiyun	help
150*4882a593Smuzhiyun	  This enables support of Boot Configuration which can be used
151*4882a593Smuzhiyun	  to pass boot configuration parameters to user space. These
152*4882a593Smuzhiyun	  parameters will show up in /proc/bootconfig similar to the kernel
153*4882a593Smuzhiyun	  parameters that show up in /proc/cmdline
154*4882a593Smuzhiyun
155*4882a593Smuzhiyunendmenu
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunmenu "Hashing Support"
158*4882a593Smuzhiyun
159*4882a593Smuzhiyunconfig SHA1
160*4882a593Smuzhiyun	bool "Enable SHA1 support"
161*4882a593Smuzhiyun	help
162*4882a593Smuzhiyun	  This option enables support of hashing using SHA1 algorithm.
163*4882a593Smuzhiyun	  The hash is calculated in software.
164*4882a593Smuzhiyun	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
165*4882a593Smuzhiyun	  (digest).
166*4882a593Smuzhiyun
167*4882a593Smuzhiyunconfig SHA256
168*4882a593Smuzhiyun	bool "Enable SHA256 support"
169*4882a593Smuzhiyun	help
170*4882a593Smuzhiyun	  This option enables support of hashing using SHA256 algorithm.
171*4882a593Smuzhiyun	  The hash is calculated in software.
172*4882a593Smuzhiyun	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
173*4882a593Smuzhiyun	  (digest).
174*4882a593Smuzhiyun
175*4882a593Smuzhiyunconfig SHA512
176*4882a593Smuzhiyun	bool "Enable SHA512 support"
177*4882a593Smuzhiyun	help
178*4882a593Smuzhiyun	  This option enables support of hashing using SHA512 algorithm.
179*4882a593Smuzhiyun	  The hash is calculated in software.
180*4882a593Smuzhiyun	  The SHA512 algorithm produces a 512-bit (64-byte) hash value
181*4882a593Smuzhiyun	  (digest).
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunconfig SHA_HW_ACCEL
184*4882a593Smuzhiyun	bool "Enable hashing using hardware"
185*4882a593Smuzhiyun	help
186*4882a593Smuzhiyun	  This option enables hardware acceleration
187*4882a593Smuzhiyun	  for SHA1/SHA256 hashing.
188*4882a593Smuzhiyun	  This affects the 'hash' command and also the
189*4882a593Smuzhiyun	  hash_lookup_algo() function.
190*4882a593Smuzhiyun
191*4882a593Smuzhiyunconfig SHA_PROG_HW_ACCEL
192*4882a593Smuzhiyun	bool "Enable Progressive hashing support using hardware"
193*4882a593Smuzhiyun	depends on SHA_HW_ACCEL
194*4882a593Smuzhiyun	help
195*4882a593Smuzhiyun	  This option enables hardware-acceleration for
196*4882a593Smuzhiyun	  SHA1/SHA256 progressive hashing.
197*4882a593Smuzhiyun	  Data can be streamed in a block at a time and the hashing
198*4882a593Smuzhiyun	  is performed in hardware.
199*4882a593Smuzhiyun
200*4882a593Smuzhiyunconfig MD5
201*4882a593Smuzhiyun	bool
202*4882a593Smuzhiyun
203*4882a593Smuzhiyunconfig CRC32C
204*4882a593Smuzhiyun	bool
205*4882a593Smuzhiyun
206*4882a593Smuzhiyunendmenu
207*4882a593Smuzhiyun
208*4882a593Smuzhiyunmenu "Compression Support"
209*4882a593Smuzhiyun
210*4882a593Smuzhiyunconfig LZ4
211*4882a593Smuzhiyun	bool "Enable LZ4 decompression support"
212*4882a593Smuzhiyun	help
213*4882a593Smuzhiyun	  If this option is set, support for LZ4 compressed images
214*4882a593Smuzhiyun	  is included. The LZ4 algorithm can run in-place as long as the
215*4882a593Smuzhiyun	  compressed image is loaded to the end of the output buffer, and
216*4882a593Smuzhiyun	  trades lower compression ratios for much faster decompression.
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun	  NOTE: This implements the release version of the LZ4 frame
219*4882a593Smuzhiyun	  format as generated by default by the 'lz4' command line tool.
220*4882a593Smuzhiyun	  This is not the same as the outdated, less efficient legacy
221*4882a593Smuzhiyun	  frame format currently (2015) implemented in the Linux kernel
222*4882a593Smuzhiyun	  (generated by 'lz4 -l'). The two formats are incompatible.
223*4882a593Smuzhiyun
224*4882a593Smuzhiyunconfig LZMA
225*4882a593Smuzhiyun	bool "Enable LZMA decompression support"
226*4882a593Smuzhiyun	help
227*4882a593Smuzhiyun	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
228*4882a593Smuzhiyun	  a dictionary compression algorithm that provides a high compression
229*4882a593Smuzhiyun	  ratio and fairly fast decompression speed. See also
230*4882a593Smuzhiyun	  CONFIG_CMD_LZMADEC which provides a decode command.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig SPL_LZMA
233*4882a593Smuzhiyun	bool "Enable LZMA decompression support in SPL"
234*4882a593Smuzhiyun	depends on SPL
235*4882a593Smuzhiyun	help
236*4882a593Smuzhiyun	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
237*4882a593Smuzhiyun	  a dictionary compression algorithm that provides a high compression
238*4882a593Smuzhiyun	  ratio and fairly fast decompression speed. See also
239*4882a593Smuzhiyun
240*4882a593Smuzhiyunconfig LZO
241*4882a593Smuzhiyun	bool "Enable LZO decompression support"
242*4882a593Smuzhiyun	help
243*4882a593Smuzhiyun	  This enables support for LZO compression algorithm.r
244*4882a593Smuzhiyun
245*4882a593Smuzhiyunconfig SPL_LZO
246*4882a593Smuzhiyun	bool "Enable LZO decompression support in SPL"
247*4882a593Smuzhiyun	help
248*4882a593Smuzhiyun	  This enables support for LZO compression algorithm in the SPL.
249*4882a593Smuzhiyun
250*4882a593Smuzhiyunconfig SPL_GZIP
251*4882a593Smuzhiyun	bool "Enable gzip decompression support for SPL build"
252*4882a593Smuzhiyun	select SPL_ZLIB
253*4882a593Smuzhiyun	help
254*4882a593Smuzhiyun	  This enables support for GZIP compression altorithm for SPL boot.
255*4882a593Smuzhiyun
256*4882a593Smuzhiyunconfig SPL_ZLIB
257*4882a593Smuzhiyun	bool
258*4882a593Smuzhiyun	help
259*4882a593Smuzhiyun	  This enables compression lib for SPL boot.
260*4882a593Smuzhiyun
261*4882a593Smuzhiyunendmenu
262*4882a593Smuzhiyun
263*4882a593Smuzhiyunconfig ERRNO_STR
264*4882a593Smuzhiyun	bool "Enable function for getting errno-related string message"
265*4882a593Smuzhiyun	help
266*4882a593Smuzhiyun	  The function errno_str(int errno), returns a pointer to the errno
267*4882a593Smuzhiyun	  corresponding text message:
268*4882a593Smuzhiyun	  - if errno is null or positive number - a pointer to "Success" message
269*4882a593Smuzhiyun	  - if errno is negative - a pointer to errno related message
270*4882a593Smuzhiyun
271*4882a593Smuzhiyunconfig HEXDUMP
272*4882a593Smuzhiyun	bool "Enable hexdump"
273*4882a593Smuzhiyun	help
274*4882a593Smuzhiyun	  This enables functions for printing dumps of binary data.
275*4882a593Smuzhiyun
276*4882a593Smuzhiyunconfig OF_LIBFDT
277*4882a593Smuzhiyun	bool "Enable the FDT library"
278*4882a593Smuzhiyun	default y if OF_CONTROL
279*4882a593Smuzhiyun	help
280*4882a593Smuzhiyun	  This enables the FDT library (libfdt). It provides functions for
281*4882a593Smuzhiyun	  accessing binary device tree images in memory, such as adding and
282*4882a593Smuzhiyun	  removing nodes and properties, scanning through the tree and finding
283*4882a593Smuzhiyun	  particular compatible nodes. The library operates on a flattened
284*4882a593Smuzhiyun	  version of the device tree.
285*4882a593Smuzhiyun
286*4882a593Smuzhiyunconfig OF_LIBFDT_OVERLAY
287*4882a593Smuzhiyun	bool "Enable the FDT library overlay support"
288*4882a593Smuzhiyun	help
289*4882a593Smuzhiyun	  This enables the FDT library (libfdt) overlay support.
290*4882a593Smuzhiyun
291*4882a593Smuzhiyunconfig SPL_OF_LIBFDT
292*4882a593Smuzhiyun	bool "Enable the FDT library for SPL"
293*4882a593Smuzhiyun	default y if SPL_OF_CONTROL
294*4882a593Smuzhiyun	help
295*4882a593Smuzhiyun	  This enables the FDT library (libfdt). It provides functions for
296*4882a593Smuzhiyun	  accessing binary device tree images in memory, such as adding and
297*4882a593Smuzhiyun	  removing nodes and properties, scanning through the tree and finding
298*4882a593Smuzhiyun	  particular compatible nodes. The library operates on a flattened
299*4882a593Smuzhiyun	  version of the device tree.
300*4882a593Smuzhiyun
301*4882a593Smuzhiyunconfig TPL_OF_LIBFDT
302*4882a593Smuzhiyun	bool "Enable the FDT library for TPL"
303*4882a593Smuzhiyun	default y if TPL_OF_CONTROL
304*4882a593Smuzhiyun	help
305*4882a593Smuzhiyun	  This enables the FDT library (libfdt). It provides functions for
306*4882a593Smuzhiyun	  accessing binary device tree images in memory, such as adding and
307*4882a593Smuzhiyun	  removing nodes and properties, scanning through the tree and finding
308*4882a593Smuzhiyun	  particular compatible nodes. The library operates on a flattened
309*4882a593Smuzhiyun	  version of the device tree.
310*4882a593Smuzhiyun
311*4882a593Smuzhiyunconfig FDT_FIXUP_PARTITIONS
312*4882a593Smuzhiyun	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
313*4882a593Smuzhiyun	depends on OF_LIBFDT
314*4882a593Smuzhiyun	default n
315*4882a593Smuzhiyun	help
316*4882a593Smuzhiyun	  Allow overwriting defined partitions in the device tree blob
317*4882a593Smuzhiyun	  using partition info defined in the 'mtdparts' environment
318*4882a593Smuzhiyun	  variable.
319*4882a593Smuzhiyun
320*4882a593Smuzhiyunmenu "System tables"
321*4882a593Smuzhiyun	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
322*4882a593Smuzhiyun
323*4882a593Smuzhiyunconfig GENERATE_SMBIOS_TABLE
324*4882a593Smuzhiyun	bool "Generate an SMBIOS (System Management BIOS) table"
325*4882a593Smuzhiyun	default y
326*4882a593Smuzhiyun	depends on X86 || EFI_LOADER
327*4882a593Smuzhiyun	help
328*4882a593Smuzhiyun	  The System Management BIOS (SMBIOS) specification addresses how
329*4882a593Smuzhiyun	  motherboard and system vendors present management information about
330*4882a593Smuzhiyun	  their products in a standard format by extending the BIOS interface
331*4882a593Smuzhiyun	  on Intel architecture systems.
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	  Check http://www.dmtf.org/standards/smbios for details.
334*4882a593Smuzhiyun
335*4882a593Smuzhiyunconfig SMBIOS_MANUFACTURER
336*4882a593Smuzhiyun	string "SMBIOS Manufacturer"
337*4882a593Smuzhiyun	depends on GENERATE_SMBIOS_TABLE
338*4882a593Smuzhiyun	default SYS_VENDOR
339*4882a593Smuzhiyun	help
340*4882a593Smuzhiyun	  The board manufacturer to store in SMBIOS structures.
341*4882a593Smuzhiyun	  Change this to override the default one (CONFIG_SYS_VENDOR).
342*4882a593Smuzhiyun
343*4882a593Smuzhiyunconfig SMBIOS_PRODUCT_NAME
344*4882a593Smuzhiyun	string "SMBIOS Product Name"
345*4882a593Smuzhiyun	depends on GENERATE_SMBIOS_TABLE
346*4882a593Smuzhiyun	default SYS_BOARD
347*4882a593Smuzhiyun	help
348*4882a593Smuzhiyun	  The product name to store in SMBIOS structures.
349*4882a593Smuzhiyun	  Change this to override the default one (CONFIG_SYS_BOARD).
350*4882a593Smuzhiyun
351*4882a593Smuzhiyunconfig LIB_RATIONAL
352*4882a593Smuzhiyun	bool "enable continued fraction calculation routines"
353*4882a593Smuzhiyun
354*4882a593Smuzhiyunconfig SPL_LIB_RATIONAL
355*4882a593Smuzhiyun	bool "enable continued fraction calculation routines for SPL"
356*4882a593Smuzhiyun	depends on SPL
357*4882a593Smuzhiyun
358*4882a593Smuzhiyunendmenu
359*4882a593Smuzhiyun
360*4882a593Smuzhiyunsource lib/efi/Kconfig
361*4882a593Smuzhiyunsource lib/efi_loader/Kconfig
362*4882a593Smuzhiyunsource lib/avb/libavb/Kconfig
363*4882a593Smuzhiyunsource lib/avb/libavb_ab/Kconfig
364*4882a593Smuzhiyunsource lib/avb/libavb_atx/Kconfig
365*4882a593Smuzhiyunsource lib/avb/libavb_user/Kconfig
366*4882a593Smuzhiyunsource lib/avb/rk_avb_user/Kconfig
367*4882a593Smuzhiyunsource lib/optee_clientApi/Kconfig
368*4882a593Smuzhiyunendmenu
369