Convert CONFIG_BCH to Kconfig
[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 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 endmenu
180
181 config ERRNO_STR
182         bool "Enable function for getting errno-related string message"
183         help
184           The function errno_str(int errno), returns a pointer to the errno
185           corresponding text message:
186           - if errno is null or positive number - a pointer to "Success" message
187           - if errno is negative - a pointer to errno related message
188
189 config OF_LIBFDT
190         bool "Enable the FDT library"
191         default y if OF_CONTROL
192         help
193           This enables the FDT library (libfdt). It provides functions for
194           accessing binary device tree images in memory, such as adding and
195           removing nodes and properties, scanning through the tree and finding
196           particular compatible nodes. The library operates on a flattened
197           version of the device tree.
198
199 config OF_LIBFDT_OVERLAY
200         bool "Enable the FDT library overlay support"
201         help
202           This enables the FDT library (libfdt) overlay support.
203
204 config SPL_OF_LIBFDT
205         bool "Enable the FDT library for SPL"
206         default y if SPL_OF_CONTROL
207         help
208           This enables the FDT library (libfdt). It provides functions for
209           accessing binary device tree images in memory, such as adding and
210           removing nodes and properties, scanning through the tree and finding
211           particular compatible nodes. The library operates on a flattened
212           version of the device tree.
213
214 config FDT_FIXUP_PARTITIONS
215         bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
216         depends on OF_LIBFDT
217         default n
218         help
219           Allow overwriting defined partitions in the device tree blob
220           using partition info defined in the 'mtdparts' environment
221           variable.
222
223 menu "System tables"
224         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
225
226 config GENERATE_SMBIOS_TABLE
227         bool "Generate an SMBIOS (System Management BIOS) table"
228         default y
229         depends on X86 || EFI_LOADER
230         help
231           The System Management BIOS (SMBIOS) specification addresses how
232           motherboard and system vendors present management information about
233           their products in a standard format by extending the BIOS interface
234           on Intel architecture systems.
235
236           Check http://www.dmtf.org/standards/smbios for details.
237
238 config SMBIOS_MANUFACTURER
239         string "SMBIOS Manufacturer"
240         depends on GENERATE_SMBIOS_TABLE
241         default SYS_VENDOR
242         help
243           The board manufacturer to store in SMBIOS structures.
244           Change this to override the default one (CONFIG_SYS_VENDOR).
245
246 config SMBIOS_PRODUCT_NAME
247         string "SMBIOS Product Name"
248         depends on GENERATE_SMBIOS_TABLE
249         default SYS_BOARD
250         help
251           The product name to store in SMBIOS structures.
252           Change this to override the default one (CONFIG_SYS_BOARD).
253
254 endmenu
255
256 source lib/efi/Kconfig
257 source lib/efi_loader/Kconfig
258
259 endmenu