Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / lib / Kconfig
1 menu "Library routines"
2
3 config CC_OPTIMIZE_LIBS_FOR_SPEED
4         bool "Optimize libraries for speed"
5         help
6           Enabling this option will pass "-O2" to gcc when compiling
7           under "lib" directory.
8
9           If unsure, say N.
10
11 config HAVE_PRIVATE_LIBGCC
12         bool
13
14 config USE_PRIVATE_LIBGCC
15         bool "Use private libgcc"
16         depends on HAVE_PRIVATE_LIBGCC
17         default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
18         help
19           This option allows you to use the built-in libgcc implementation
20           of U-Boot instead of the one provided by the compiler.
21           If unsure, say N.
22
23 config SYS_HZ
24         int
25         default 1000
26         help
27           The frequency of the timer returned by get_timer().
28           get_timer() must operate in milliseconds and this option must be
29           set to 1000.
30
31 config USE_TINY_PRINTF
32         bool "Enable tiny printf() version"
33         help
34           This option enables a tiny, stripped down printf version.
35           This should only be used in space limited environments,
36           like SPL versions with hard memory limits. This version
37           reduces the code size by about 2.5KiB on armv7.
38
39           The supported format specifiers are %c, %s, %u/%d and %x.
40
41 config REGEX
42         bool "Enable regular expression support"
43         default y if NET
44         help
45           If this variable is defined, U-Boot is linked against the
46           SLRE (Super Light Regular Expression) library, which adds
47           regex support to some commands, for example "env grep" and
48           "setexpr".
49
50 config LIB_RAND
51         bool "Pseudo-random library support "
52         help
53           This library provides pseudo-random number generator functions.
54
55 config SPL_TINY_MEMSET
56         bool "Use a very small memset() in SPL"
57         help
58           The faster memset() is the arch-specific one (if available) enabled
59           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
60           better performance by writing a word at a time. But in very
61           size-constrained envrionments even this may be too big. Enable this
62           option to reduce code size slightly at the cost of some speed.
63
64 config RBTREE
65         bool
66
67 source lib/dhry/Kconfig
68
69 menu "Security support"
70
71 config AES
72         bool "Support the AES algorithm"
73         help
74           This provides a means to encrypt and decrypt data using the AES
75           (Advanced Encryption Standard). This algorithm uses a symetric key
76           and is widely used as a streaming cipher. Different key lengths are
77           supported by the algorithm but only a 128-bit key is supported at
78           present.
79
80 source lib/rsa/Kconfig
81
82 config TPM
83         bool "Trusted Platform Module (TPM) Support"
84         depends on DM
85         help
86           This enables support for TPMs which can be used to provide security
87           features for your board. The TPM can be connected via LPC or I2C
88           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
89           command to interactive the TPM. Driver model support is provided
90           for the low-level TPM interface, but only one TPM is supported at
91           a time by the TPM library.
92
93 endmenu
94
95 menu "Hashing Support"
96
97 config SHA1
98         bool "Enable SHA1 support"
99         help
100           This option enables support of hashing using SHA1 algorithm.
101           The hash is calculated in software.
102           The SHA1 algorithm produces a 160-bit (20-byte) hash value
103           (digest).
104
105 config SHA256
106         bool "Enable SHA256 support"
107         help
108           This option enables support of hashing using SHA256 algorithm.
109           The hash is calculated in software.
110           The SHA256 algorithm produces a 256-bit (32-byte) hash value
111           (digest).
112
113 config SHA_HW_ACCEL
114         bool "Enable hashing using hardware"
115         help
116           This option enables hardware acceleration
117           for SHA1/SHA256 hashing.
118           This affects the 'hash' command and also the
119           hash_lookup_algo() function.
120
121 config SHA_PROG_HW_ACCEL
122         bool "Enable Progressive hashing support using hardware"
123         depends on SHA_HW_ACCEL
124         help
125           This option enables hardware-acceleration for
126           SHA1/SHA256 progressive hashing.
127           Data can be streamed in a block at a time and the hashing
128           is performed in hardware.
129
130 config MD5
131         bool
132
133 endmenu
134
135 menu "Compression Support"
136
137 config LZ4
138         bool "Enable LZ4 decompression support"
139         help
140           If this option is set, support for LZ4 compressed images
141           is included. The LZ4 algorithm can run in-place as long as the
142           compressed image is loaded to the end of the output buffer, and
143           trades lower compression ratios for much faster decompression.
144           
145           NOTE: This implements the release version of the LZ4 frame
146           format as generated by default by the 'lz4' command line tool.
147           This is not the same as the outdated, less efficient legacy
148           frame format currently (2015) implemented in the Linux kernel
149           (generated by 'lz4 -l'). The two formats are incompatible.
150
151 config LZO
152         bool
153 endmenu
154
155 config ERRNO_STR
156         bool "Enable function for getting errno-related string message"
157         help
158           The function errno_str(int errno), returns a pointer to the errno
159           corresponding text message:
160           - if errno is null or positive number - a pointer to "Success" message
161           - if errno is negative - a pointer to errno related message
162
163 config OF_LIBFDT
164         bool "Enable the FDT library"
165         default y if OF_CONTROL
166         help
167           This enables the FDT library (libfdt). It provides functions for
168           accessing binary device tree images in memory, such as adding and
169           removing notes and properties, scanning through the tree and finding
170           particular compatible nodes. The library operates on a flattened
171           version of the device tree.
172
173 config OF_LIBFDT_OVERLAY
174         bool "Enable the FDT library overlay support"
175         help
176           This enables the FDT library (libfdt) overlay support.
177
178 config SPL_OF_LIBFDT
179         bool "Enable the FDT library for SPL"
180         default y if SPL_OF_CONTROL
181         help
182           This enables the FDT library (libfdt). It provides functions for
183           accessing binary device tree images in memory, such as adding and
184           removing notes and properties, scanning through the tree and finding
185           particular compatible nodes. The library operates on a flattened
186           version of the device tree.
187
188 config FDT_FIXUP_PARTITIONS
189         bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
190         depends on OF_LIBFDT
191         default n
192         help
193           Allow overwriting defined partitions in the device tree blob
194           using partition info defined in the 'mtdparts' environment
195           variable.
196
197 menu "System tables"
198         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
199
200 config GENERATE_SMBIOS_TABLE
201         bool "Generate an SMBIOS (System Management BIOS) table"
202         default y
203         depends on X86 || EFI_LOADER
204         help
205           The System Management BIOS (SMBIOS) specification addresses how
206           motherboard and system vendors present management information about
207           their products in a standard format by extending the BIOS interface
208           on Intel architecture systems.
209
210           Check http://www.dmtf.org/standards/smbios for details.
211
212 config SMBIOS_MANUFACTURER
213         string "SMBIOS Manufacturer"
214         depends on GENERATE_SMBIOS_TABLE
215         default SYS_VENDOR
216         help
217           The board manufacturer to store in SMBIOS structures.
218           Change this to override the default one (CONFIG_SYS_VENDOR).
219
220 config SMBIOS_PRODUCT_NAME
221         string "SMBIOS Product Name"
222         depends on GENERATE_SMBIOS_TABLE
223         default SYS_BOARD
224         help
225           The product name to store in SMBIOS structures.
226           Change this to override the default one (CONFIG_SYS_BOARD).
227
228 endmenu
229
230 source lib/efi/Kconfig
231 source lib/efi_loader/Kconfig
232
233 endmenu