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