blob: 5178e8642e30e3d549c7773b5f47b48fbabcca1b [file] [log] [blame]
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +09001menu "Library routines"
2
Adam Ford02bf5362017-08-11 09:46:05 -05003config 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
Masahiro Yamada3f053fe2014-09-16 16:32:59 +090010config 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
Masahiro Yamada9520b712014-10-24 01:30:43 +090018config HAVE_PRIVATE_LIBGCC
19 bool
20
Adam Ford70c8f052018-02-06 12:14:28 -060021config LIB_UUID
22 bool
23
Masahiro Yamada9520b712014-10-24 01:30:43 +090024config USE_PRIVATE_LIBGCC
25 bool "Use private libgcc"
26 depends on HAVE_PRIVATE_LIBGCC
Marek Vasut4e0126e2016-05-26 18:01:47 +020027 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
Masahiro Yamada9520b712014-10-24 01:30:43 +090028 help
29 This option allows you to use the built-in libgcc implementation
Masahiro Yamada1c6a5e42016-03-30 20:17:42 +090030 of U-Boot instead of the one provided by the compiler.
Masahiro Yamada9520b712014-10-24 01:30:43 +090031 If unsure, say N.
32
Masahiro Yamadae301fa02014-10-24 01:30:40 +090033config SYS_HZ
34 int
35 default 1000
36 help
37 The frequency of the timer returned by get_timer().
38 get_timer() must operate in milliseconds and this option must be
39 set to 1000.
40
Stefan Roese363ab7b2015-11-23 07:00:22 +010041config USE_TINY_PRINTF
42 bool "Enable tiny printf() version"
43 help
44 This option enables a tiny, stripped down printf version.
45 This should only be used in space limited environments,
46 like SPL versions with hard memory limits. This version
47 reduces the code size by about 2.5KiB on armv7.
48
49 The supported format specifiers are %c, %s, %u/%d and %x.
50
Masahiro Yamadaacede7a2017-12-04 12:37:00 +090051config PANIC_HANG
52 bool "Do not reset the system on fatal error"
53 help
54 Define this option to stop the system in case of a fatal error,
55 so that you have to reset it manually. This is probably NOT a good
56 idea for an embedded system where you want the system to reboot
57 automatically as fast as possible, but it may be useful during
58 development since you can try to debug the conditions that lead to
59 the situation.
60
Joe Hershberger937d3e82015-04-21 17:02:42 -050061config REGEX
62 bool "Enable regular expression support"
Maxime Ripard3bd59542018-01-16 09:44:21 +010063 default n if ARCH_SUNXI
Joe Hershberger8ab8b722015-06-22 17:57:36 -050064 default y if NET
Joe Hershberger937d3e82015-04-21 17:02:42 -050065 help
66 If this variable is defined, U-Boot is linked against the
67 SLRE (Super Light Regular Expression) library, which adds
68 regex support to some commands, for example "env grep" and
69 "setexpr".
70
Adam Ford38003a62018-02-06 10:18:18 -060071choice
72 prompt "Pseudo-random library support type"
73 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
74 default LIB_RAND
Masahiro Yamada2743c072015-06-11 19:16:43 +090075 help
Adam Ford38003a62018-02-06 10:18:18 -060076 Select the library to provide pseudo-random number generator
77 functions. LIB_HW_RAND supports certain hardware engines that
78 provide this functionality. If in doubt, select LIB_RAND.
79
80config LIB_RAND
81 bool "Pseudo-random library support"
82
83config LIB_HW_RAND
84 bool "HW Engine for random libray support"
85
86endchoice
Michal Simek2c1b1db2015-05-25 11:37:22 +020087
Simon Glasse2f94ae2017-04-02 09:50:28 -060088config SPL_TINY_MEMSET
89 bool "Use a very small memset() in SPL"
90 help
91 The faster memset() is the arch-specific one (if available) enabled
92 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
93 better performance by writing a word at a time. But in very
94 size-constrained envrionments even this may be too big. Enable this
95 option to reduce code size slightly at the cost of some speed.
96
Philipp Tomsichfefc4ec2017-08-03 22:52:04 +020097config TPL_TINY_MEMSET
98 bool "Use a very small memset() in TPL"
99 help
100 The faster memset() is the arch-specific one (if available) enabled
101 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
102 better performance by writing a word at a time. But in very
103 size-constrained envrionments even this may be too big. Enable this
104 option to reduce code size slightly at the cost of some speed.
105
Boris Brezillon627dc182017-02-27 18:22:05 +0100106config RBTREE
107 bool
108
Nandor Hand5ea84a2017-11-08 15:35:14 +0000109config BITREVERSE
110 bool "Bit reverse library from Linux"
111
Simon Glass99dbe4b2015-06-23 15:38:23 -0600112source lib/dhry/Kconfig
113
Simon Glass528fdd12017-04-26 22:27:49 -0600114menu "Security support"
115
116config AES
117 bool "Support the AES algorithm"
118 help
119 This provides a means to encrypt and decrypt data using the AES
120 (Advanced Encryption Standard). This algorithm uses a symetric key
121 and is widely used as a streaming cipher. Different key lengths are
122 supported by the algorithm but only a 128-bit key is supported at
123 present.
124
Ruchika Gupta4acd8c42015-01-23 16:01:56 +0530125source lib/rsa/Kconfig
Ruchika Gupta2c3822e2015-01-23 16:01:51 +0530126
Simon Glass350497c2015-08-22 18:31:19 -0600127config TPM
128 bool "Trusted Platform Module (TPM) Support"
Simon Glasscf294b02015-10-03 06:39:36 -0600129 depends on DM
Simon Glass350497c2015-08-22 18:31:19 -0600130 help
131 This enables support for TPMs which can be used to provide security
132 features for your board. The TPM can be connected via LPC or I2C
133 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
134 command to interactive the TPM. Driver model support is provided
135 for the low-level TPM interface, but only one TPM is supported at
136 a time by the TPM library.
137
Simon Glass528fdd12017-04-26 22:27:49 -0600138endmenu
139
gaurav ranaef201592015-02-20 12:51:46 +0530140menu "Hashing Support"
141
142config SHA1
143 bool "Enable SHA1 support"
144 help
145 This option enables support of hashing using SHA1 algorithm.
146 The hash is calculated in software.
147 The SHA1 algorithm produces a 160-bit (20-byte) hash value
148 (digest).
149
150config SHA256
151 bool "Enable SHA256 support"
152 help
153 This option enables support of hashing using SHA256 algorithm.
154 The hash is calculated in software.
155 The SHA256 algorithm produces a 256-bit (32-byte) hash value
156 (digest).
157
158config SHA_HW_ACCEL
159 bool "Enable hashing using hardware"
160 help
161 This option enables hardware acceleration
162 for SHA1/SHA256 hashing.
163 This affects the 'hash' command and also the
164 hash_lookup_algo() function.
165
166config SHA_PROG_HW_ACCEL
167 bool "Enable Progressive hashing support using hardware"
168 depends on SHA_HW_ACCEL
169 help
170 This option enables hardware-acceleration for
171 SHA1/SHA256 progressive hashing.
172 Data can be streamed in a block at a time and the hashing
173 is performed in hardware.
Andre Przywaraf0fa1132017-03-15 01:19:05 +0000174
175config MD5
176 bool
177
Marek BehĂșncdccc032017-09-03 17:00:23 +0200178config CRC32C
179 bool
180
gaurav ranaef201592015-02-20 12:51:46 +0530181endmenu
182
Julius Wernerf41a3ca2015-10-06 20:03:53 -0700183menu "Compression Support"
184
185config LZ4
186 bool "Enable LZ4 decompression support"
187 help
188 If this option is set, support for LZ4 compressed images
189 is included. The LZ4 algorithm can run in-place as long as the
190 compressed image is loaded to the end of the output buffer, and
191 trades lower compression ratios for much faster decompression.
192
193 NOTE: This implements the release version of the LZ4 frame
194 format as generated by default by the 'lz4' command line tool.
195 This is not the same as the outdated, less efficient legacy
196 frame format currently (2015) implemented in the Linux kernel
197 (generated by 'lz4 -l'). The two formats are incompatible.
198
Simon Glass264aa5f2017-05-17 03:25:42 -0600199config LZMA
200 bool "Enable LZMA decompression support"
201 help
202 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
203 a dictionary compression algorithm that provides a high compression
204 ratio and fairly fast decompression speed. See also
205 CONFIG_CMD_LZMADEC which provides a decode command.
206
Boris Brezillonaa57d0f2017-02-27 18:22:06 +0100207config LZO
Tom Rinic20bb732017-07-22 18:36:16 -0400208 bool "Enable LZO decompression support"
209 help
210 This enables support for LZO compression algorithm.r
York Suna6945fe2017-08-15 11:14:43 -0700211
Jean-Jacques Hiblotdbde2882017-09-15 12:57:30 +0200212config SPL_LZO
213 bool "Enable LZO decompression support in SPL"
214 help
215 This enables support for LZO compression algorithm in the SPL.
216
York Suna6945fe2017-08-15 11:14:43 -0700217config SPL_GZIP
218 bool "Enable gzip decompression support for SPL build"
219 select SPL_ZLIB
220 help
221 This enables support for GZIP compression altorithm for SPL boot.
222
223config SPL_ZLIB
224 bool
225 help
226 This enables compression lib for SPL boot.
227
Julius Wernerf41a3ca2015-10-06 20:03:53 -0700228endmenu
229
Przemyslaw Marczak37550132015-04-20 20:07:40 +0200230config ERRNO_STR
231 bool "Enable function for getting errno-related string message"
232 help
233 The function errno_str(int errno), returns a pointer to the errno
234 corresponding text message:
235 - if errno is null or positive number - a pointer to "Success" message
236 - if errno is negative - a pointer to errno related message
237
Simon Glassa66c5412016-02-22 22:55:42 -0700238config OF_LIBFDT
239 bool "Enable the FDT library"
240 default y if OF_CONTROL
241 help
242 This enables the FDT library (libfdt). It provides functions for
243 accessing binary device tree images in memory, such as adding and
Anatolij Gustschinda707d42017-08-18 17:58:51 +0200244 removing nodes and properties, scanning through the tree and finding
Simon Glassa66c5412016-02-22 22:55:42 -0700245 particular compatible nodes. The library operates on a flattened
246 version of the device tree.
247
Maxime Ripard9e901ce2016-07-05 10:26:44 +0200248config OF_LIBFDT_OVERLAY
249 bool "Enable the FDT library overlay support"
250 help
251 This enables the FDT library (libfdt) overlay support.
252
Simon Glass8b426922016-02-22 22:55:45 -0700253config SPL_OF_LIBFDT
254 bool "Enable the FDT library for SPL"
255 default y if SPL_OF_CONTROL
256 help
257 This enables the FDT library (libfdt). It provides functions for
258 accessing binary device tree images in memory, such as adding and
Anatolij Gustschinda707d42017-08-18 17:58:51 +0200259 removing nodes and properties, scanning through the tree and finding
Simon Glass8b426922016-02-22 22:55:45 -0700260 particular compatible nodes. The library operates on a flattened
261 version of the device tree.
262
Heiko Schocherc9ab9102016-10-06 07:31:45 +0200263config FDT_FIXUP_PARTITIONS
264 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
265 depends on OF_LIBFDT
266 default n
267 help
268 Allow overwriting defined partitions in the device tree blob
269 using partition info defined in the 'mtdparts' environment
270 variable.
271
Alexander Graffb228082016-08-19 01:23:23 +0200272menu "System tables"
Alexander Graf66f96e12016-08-19 01:23:29 +0200273 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
Alexander Graffb228082016-08-19 01:23:23 +0200274
275config GENERATE_SMBIOS_TABLE
276 bool "Generate an SMBIOS (System Management BIOS) table"
277 default y
Alexander Graf66f96e12016-08-19 01:23:29 +0200278 depends on X86 || EFI_LOADER
Alexander Graffb228082016-08-19 01:23:23 +0200279 help
280 The System Management BIOS (SMBIOS) specification addresses how
281 motherboard and system vendors present management information about
282 their products in a standard format by extending the BIOS interface
283 on Intel architecture systems.
284
285 Check http://www.dmtf.org/standards/smbios for details.
286
287config SMBIOS_MANUFACTURER
288 string "SMBIOS Manufacturer"
289 depends on GENERATE_SMBIOS_TABLE
290 default SYS_VENDOR
291 help
292 The board manufacturer to store in SMBIOS structures.
293 Change this to override the default one (CONFIG_SYS_VENDOR).
294
295config SMBIOS_PRODUCT_NAME
296 string "SMBIOS Product Name"
297 depends on GENERATE_SMBIOS_TABLE
298 default SYS_BOARD
299 help
300 The product name to store in SMBIOS structures.
301 Change this to override the default one (CONFIG_SYS_BOARD).
302
303endmenu
304
Simon Glass9539e692015-07-31 09:31:36 -0600305source lib/efi/Kconfig
Alexander Graf67ee7052016-03-04 01:10:07 +0100306source lib/efi_loader/Kconfig
Simon Glass9539e692015-07-31 09:31:36 -0600307
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +0900308endmenu