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