Merge git://git.denx.de/u-boot-ubi
[oweals/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 HAVE_PRIVATE_LIBGCC
19         bool
20
21 config 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
30 config 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
38 config 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
48 config REGEX
49         bool "Enable regular expression support"
50         default y if NET
51         help
52           If this variable is defined, U-Boot is linked against the
53           SLRE (Super Light Regular Expression) library, which adds
54           regex support to some commands, for example "env grep" and
55           "setexpr".
56
57 config LIB_RAND
58         bool "Pseudo-random library support "
59         help
60           This library provides pseudo-random number generator functions.
61
62 config SPL_TINY_MEMSET
63         bool "Use a very small memset() in SPL"
64         help
65           The faster memset() is the arch-specific one (if available) enabled
66           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
67           better performance by writing a word at a time. But in very
68           size-constrained envrionments even this may be too big. Enable this
69           option to reduce code size slightly at the cost of some speed.
70
71 config TPL_TINY_MEMSET
72         bool "Use a very small memset() in TPL"
73         help
74           The faster memset() is the arch-specific one (if available) enabled
75           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
76           better performance by writing a word at a time. But in very
77           size-constrained envrionments even this may be too big. Enable this
78           option to reduce code size slightly at the cost of some speed.
79
80 config RBTREE
81         bool
82
83 source lib/dhry/Kconfig
84
85 menu "Security support"
86
87 config AES
88         bool "Support the AES algorithm"
89         help
90           This provides a means to encrypt and decrypt data using the AES
91           (Advanced Encryption Standard). This algorithm uses a symetric key
92           and is widely used as a streaming cipher. Different key lengths are
93           supported by the algorithm but only a 128-bit key is supported at
94           present.
95
96 source lib/rsa/Kconfig
97
98 config TPM
99         bool "Trusted Platform Module (TPM) Support"
100         depends on DM
101         help
102           This enables support for TPMs which can be used to provide security
103           features for your board. The TPM can be connected via LPC or I2C
104           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
105           command to interactive the TPM. Driver model support is provided
106           for the low-level TPM interface, but only one TPM is supported at
107           a time by the TPM library.
108
109 endmenu
110
111 menu "Hashing Support"
112
113 config SHA1
114         bool "Enable SHA1 support"
115         help
116           This option enables support of hashing using SHA1 algorithm.
117           The hash is calculated in software.
118           The SHA1 algorithm produces a 160-bit (20-byte) hash value
119           (digest).
120
121 config SHA256
122         bool "Enable SHA256 support"
123         help
124           This option enables support of hashing using SHA256 algorithm.
125           The hash is calculated in software.
126           The SHA256 algorithm produces a 256-bit (32-byte) hash value
127           (digest).
128
129 config SHA_HW_ACCEL
130         bool "Enable hashing using hardware"
131         help
132           This option enables hardware acceleration
133           for SHA1/SHA256 hashing.
134           This affects the 'hash' command and also the
135           hash_lookup_algo() function.
136
137 config SHA_PROG_HW_ACCEL
138         bool "Enable Progressive hashing support using hardware"
139         depends on SHA_HW_ACCEL
140         help
141           This option enables hardware-acceleration for
142           SHA1/SHA256 progressive hashing.
143           Data can be streamed in a block at a time and the hashing
144           is performed in hardware.
145
146 config MD5
147         bool
148
149 endmenu
150
151 menu "Compression Support"
152
153 config LZ4
154         bool "Enable LZ4 decompression support"
155         help
156           If this option is set, support for LZ4 compressed images
157           is included. The LZ4 algorithm can run in-place as long as the
158           compressed image is loaded to the end of the output buffer, and
159           trades lower compression ratios for much faster decompression.
160           
161           NOTE: This implements the release version of the LZ4 frame
162           format as generated by default by the 'lz4' command line tool.
163           This is not the same as the outdated, less efficient legacy
164           frame format currently (2015) implemented in the Linux kernel
165           (generated by 'lz4 -l'). The two formats are incompatible.
166
167 config LZMA
168         bool "Enable LZMA decompression support"
169         help
170           This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
171           a dictionary compression algorithm that provides a high compression
172           ratio and fairly fast decompression speed. See also
173           CONFIG_CMD_LZMADEC which provides a decode command.
174
175 config LZO
176         bool "Enable LZO decompression support"
177         help
178           This enables support for LZO compression algorithm.r
179
180 config SPL_GZIP
181         bool "Enable gzip decompression support for SPL build"
182         select SPL_ZLIB
183         help
184           This enables support for GZIP compression altorithm for SPL boot.
185
186 config SPL_ZLIB
187         bool
188         help
189           This enables compression lib for SPL boot.
190
191 endmenu
192
193 config ERRNO_STR
194         bool "Enable function for getting errno-related string message"
195         help
196           The function errno_str(int errno), returns a pointer to the errno
197           corresponding text message:
198           - if errno is null or positive number - a pointer to "Success" message
199           - if errno is negative - a pointer to errno related message
200
201 config OF_LIBFDT
202         bool "Enable the FDT library"
203         default y if OF_CONTROL
204         help
205           This enables the FDT library (libfdt). It provides functions for
206           accessing binary device tree images in memory, such as adding and
207           removing nodes and properties, scanning through the tree and finding
208           particular compatible nodes. The library operates on a flattened
209           version of the device tree.
210
211 config OF_LIBFDT_OVERLAY
212         bool "Enable the FDT library overlay support"
213         help
214           This enables the FDT library (libfdt) overlay support.
215
216 config SPL_OF_LIBFDT
217         bool "Enable the FDT library for SPL"
218         default y if SPL_OF_CONTROL
219         help
220           This enables the FDT library (libfdt). It provides functions for
221           accessing binary device tree images in memory, such as adding and
222           removing nodes and properties, scanning through the tree and finding
223           particular compatible nodes. The library operates on a flattened
224           version of the device tree.
225
226 config FDT_FIXUP_PARTITIONS
227         bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
228         depends on OF_LIBFDT
229         default n
230         help
231           Allow overwriting defined partitions in the device tree blob
232           using partition info defined in the 'mtdparts' environment
233           variable.
234
235 menu "System tables"
236         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
237
238 config GENERATE_SMBIOS_TABLE
239         bool "Generate an SMBIOS (System Management BIOS) table"
240         default y
241         depends on X86 || EFI_LOADER
242         help
243           The System Management BIOS (SMBIOS) specification addresses how
244           motherboard and system vendors present management information about
245           their products in a standard format by extending the BIOS interface
246           on Intel architecture systems.
247
248           Check http://www.dmtf.org/standards/smbios for details.
249
250 config SMBIOS_MANUFACTURER
251         string "SMBIOS Manufacturer"
252         depends on GENERATE_SMBIOS_TABLE
253         default SYS_VENDOR
254         help
255           The board manufacturer to store in SMBIOS structures.
256           Change this to override the default one (CONFIG_SYS_VENDOR).
257
258 config SMBIOS_PRODUCT_NAME
259         string "SMBIOS Product Name"
260         depends on GENERATE_SMBIOS_TABLE
261         default SYS_BOARD
262         help
263           The product name to store in SMBIOS structures.
264           Change this to override the default one (CONFIG_SYS_BOARD).
265
266 endmenu
267
268 source lib/efi/Kconfig
269 source lib/efi_loader/Kconfig
270
271 endmenu