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