blob: 710deb7a630306dbb088517117e4e09beb86de85 [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
21config USE_PRIVATE_LIBGCC
22 bool "Use private libgcc"
23 depends on HAVE_PRIVATE_LIBGCC
Marek Vasut4e0126e2016-05-26 18:01:47 +020024 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
Masahiro Yamada9520b712014-10-24 01:30:43 +090025 help
26 This option allows you to use the built-in libgcc implementation
Masahiro Yamada1c6a5e42016-03-30 20:17:42 +090027 of U-Boot instead of the one provided by the compiler.
Masahiro Yamada9520b712014-10-24 01:30:43 +090028 If unsure, say N.
29
Masahiro Yamadae301fa02014-10-24 01:30:40 +090030config 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
Stefan Roese363ab7b2015-11-23 07:00:22 +010038config 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
Masahiro Yamadaacede7a2017-12-04 12:37:00 +090048config PANIC_HANG
49 bool "Do not reset the system on fatal error"
50 help
51 Define this option to stop the system in case of a fatal error,
52 so that you have to reset it manually. This is probably NOT a good
53 idea for an embedded system where you want the system to reboot
54 automatically as fast as possible, but it may be useful during
55 development since you can try to debug the conditions that lead to
56 the situation.
57
Joe Hershberger937d3e82015-04-21 17:02:42 -050058config REGEX
59 bool "Enable regular expression support"
Maxime Ripard3bd59542018-01-16 09:44:21 +010060 default n if ARCH_SUNXI
Joe Hershberger8ab8b722015-06-22 17:57:36 -050061 default y if NET
Joe Hershberger937d3e82015-04-21 17:02:42 -050062 help
63 If this variable is defined, U-Boot is linked against the
64 SLRE (Super Light Regular Expression) library, which adds
65 regex support to some commands, for example "env grep" and
66 "setexpr".
67
Michal Simek2c1b1db2015-05-25 11:37:22 +020068config LIB_RAND
Masahiro Yamada2743c072015-06-11 19:16:43 +090069 bool "Pseudo-random library support "
70 help
71 This library provides pseudo-random number generator functions.
Michal Simek2c1b1db2015-05-25 11:37:22 +020072
Simon Glasse2f94ae2017-04-02 09:50:28 -060073config SPL_TINY_MEMSET
74 bool "Use a very small memset() in SPL"
75 help
76 The faster memset() is the arch-specific one (if available) enabled
77 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
78 better performance by writing a word at a time. But in very
79 size-constrained envrionments even this may be too big. Enable this
80 option to reduce code size slightly at the cost of some speed.
81
Philipp Tomsichfefc4ec2017-08-03 22:52:04 +020082config TPL_TINY_MEMSET
83 bool "Use a very small memset() in TPL"
84 help
85 The faster memset() is the arch-specific one (if available) enabled
86 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
87 better performance by writing a word at a time. But in very
88 size-constrained envrionments even this may be too big. Enable this
89 option to reduce code size slightly at the cost of some speed.
90
Boris Brezillon627dc182017-02-27 18:22:05 +010091config RBTREE
92 bool
93
Nandor Hand5ea84a2017-11-08 15:35:14 +000094config BITREVERSE
95 bool "Bit reverse library from Linux"
96
Simon Glass99dbe4b2015-06-23 15:38:23 -060097source lib/dhry/Kconfig
98
Simon Glass528fdd12017-04-26 22:27:49 -060099menu "Security support"
100
101config AES
102 bool "Support the AES algorithm"
103 help
104 This provides a means to encrypt and decrypt data using the AES
105 (Advanced Encryption Standard). This algorithm uses a symetric key
106 and is widely used as a streaming cipher. Different key lengths are
107 supported by the algorithm but only a 128-bit key is supported at
108 present.
109
Ruchika Gupta4acd8c42015-01-23 16:01:56 +0530110source lib/rsa/Kconfig
Ruchika Gupta2c3822e2015-01-23 16:01:51 +0530111
Simon Glass350497c2015-08-22 18:31:19 -0600112config TPM
113 bool "Trusted Platform Module (TPM) Support"
Simon Glasscf294b02015-10-03 06:39:36 -0600114 depends on DM
Simon Glass350497c2015-08-22 18:31:19 -0600115 help
116 This enables support for TPMs which can be used to provide security
117 features for your board. The TPM can be connected via LPC or I2C
118 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
119 command to interactive the TPM. Driver model support is provided
120 for the low-level TPM interface, but only one TPM is supported at
121 a time by the TPM library.
122
Simon Glass528fdd12017-04-26 22:27:49 -0600123endmenu
124
gaurav ranaef201592015-02-20 12:51:46 +0530125menu "Hashing Support"
126
127config SHA1
128 bool "Enable SHA1 support"
129 help
130 This option enables support of hashing using SHA1 algorithm.
131 The hash is calculated in software.
132 The SHA1 algorithm produces a 160-bit (20-byte) hash value
133 (digest).
134
135config SHA256
136 bool "Enable SHA256 support"
137 help
138 This option enables support of hashing using SHA256 algorithm.
139 The hash is calculated in software.
140 The SHA256 algorithm produces a 256-bit (32-byte) hash value
141 (digest).
142
143config SHA_HW_ACCEL
144 bool "Enable hashing using hardware"
145 help
146 This option enables hardware acceleration
147 for SHA1/SHA256 hashing.
148 This affects the 'hash' command and also the
149 hash_lookup_algo() function.
150
151config SHA_PROG_HW_ACCEL
152 bool "Enable Progressive hashing support using hardware"
153 depends on SHA_HW_ACCEL
154 help
155 This option enables hardware-acceleration for
156 SHA1/SHA256 progressive hashing.
157 Data can be streamed in a block at a time and the hashing
158 is performed in hardware.
Andre Przywaraf0fa1132017-03-15 01:19:05 +0000159
160config MD5
161 bool
162
Marek BehĂșncdccc032017-09-03 17:00:23 +0200163config CRC32C
164 bool
165
gaurav ranaef201592015-02-20 12:51:46 +0530166endmenu
167
Julius Wernerf41a3ca2015-10-06 20:03:53 -0700168menu "Compression Support"
169
170config LZ4
171 bool "Enable LZ4 decompression support"
172 help
173 If this option is set, support for LZ4 compressed images
174 is included. The LZ4 algorithm can run in-place as long as the
175 compressed image is loaded to the end of the output buffer, and
176 trades lower compression ratios for much faster decompression.
177
178 NOTE: This implements the release version of the LZ4 frame
179 format as generated by default by the 'lz4' command line tool.
180 This is not the same as the outdated, less efficient legacy
181 frame format currently (2015) implemented in the Linux kernel
182 (generated by 'lz4 -l'). The two formats are incompatible.
183
Simon Glass264aa5f2017-05-17 03:25:42 -0600184config LZMA
185 bool "Enable LZMA decompression support"
186 help
187 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
188 a dictionary compression algorithm that provides a high compression
189 ratio and fairly fast decompression speed. See also
190 CONFIG_CMD_LZMADEC which provides a decode command.
191
Boris Brezillonaa57d0f2017-02-27 18:22:06 +0100192config LZO
Tom Rinic20bb732017-07-22 18:36:16 -0400193 bool "Enable LZO decompression support"
194 help
195 This enables support for LZO compression algorithm.r
York Suna6945fe2017-08-15 11:14:43 -0700196
Jean-Jacques Hiblotdbde2882017-09-15 12:57:30 +0200197config SPL_LZO
198 bool "Enable LZO decompression support in SPL"
199 help
200 This enables support for LZO compression algorithm in the SPL.
201
York Suna6945fe2017-08-15 11:14:43 -0700202config SPL_GZIP
203 bool "Enable gzip decompression support for SPL build"
204 select SPL_ZLIB
205 help
206 This enables support for GZIP compression altorithm for SPL boot.
207
208config SPL_ZLIB
209 bool
210 help
211 This enables compression lib for SPL boot.
212
Julius Wernerf41a3ca2015-10-06 20:03:53 -0700213endmenu
214
Przemyslaw Marczak37550132015-04-20 20:07:40 +0200215config ERRNO_STR
216 bool "Enable function for getting errno-related string message"
217 help
218 The function errno_str(int errno), returns a pointer to the errno
219 corresponding text message:
220 - if errno is null or positive number - a pointer to "Success" message
221 - if errno is negative - a pointer to errno related message
222
Simon Glassa66c5412016-02-22 22:55:42 -0700223config OF_LIBFDT
224 bool "Enable the FDT library"
225 default y if OF_CONTROL
226 help
227 This enables the FDT library (libfdt). It provides functions for
228 accessing binary device tree images in memory, such as adding and
Anatolij Gustschinda707d42017-08-18 17:58:51 +0200229 removing nodes and properties, scanning through the tree and finding
Simon Glassa66c5412016-02-22 22:55:42 -0700230 particular compatible nodes. The library operates on a flattened
231 version of the device tree.
232
Maxime Ripard9e901ce2016-07-05 10:26:44 +0200233config OF_LIBFDT_OVERLAY
234 bool "Enable the FDT library overlay support"
235 help
236 This enables the FDT library (libfdt) overlay support.
237
Simon Glass8b426922016-02-22 22:55:45 -0700238config SPL_OF_LIBFDT
239 bool "Enable the FDT library for SPL"
240 default y if SPL_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 Glass8b426922016-02-22 22:55:45 -0700245 particular compatible nodes. The library operates on a flattened
246 version of the device tree.
247
Heiko Schocherc9ab9102016-10-06 07:31:45 +0200248config FDT_FIXUP_PARTITIONS
249 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
250 depends on OF_LIBFDT
251 default n
252 help
253 Allow overwriting defined partitions in the device tree blob
254 using partition info defined in the 'mtdparts' environment
255 variable.
256
Alexander Graffb228082016-08-19 01:23:23 +0200257menu "System tables"
Alexander Graf66f96e12016-08-19 01:23:29 +0200258 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
Alexander Graffb228082016-08-19 01:23:23 +0200259
260config GENERATE_SMBIOS_TABLE
261 bool "Generate an SMBIOS (System Management BIOS) table"
262 default y
Alexander Graf66f96e12016-08-19 01:23:29 +0200263 depends on X86 || EFI_LOADER
Alexander Graffb228082016-08-19 01:23:23 +0200264 help
265 The System Management BIOS (SMBIOS) specification addresses how
266 motherboard and system vendors present management information about
267 their products in a standard format by extending the BIOS interface
268 on Intel architecture systems.
269
270 Check http://www.dmtf.org/standards/smbios for details.
271
272config SMBIOS_MANUFACTURER
273 string "SMBIOS Manufacturer"
274 depends on GENERATE_SMBIOS_TABLE
275 default SYS_VENDOR
276 help
277 The board manufacturer to store in SMBIOS structures.
278 Change this to override the default one (CONFIG_SYS_VENDOR).
279
280config SMBIOS_PRODUCT_NAME
281 string "SMBIOS Product Name"
282 depends on GENERATE_SMBIOS_TABLE
283 default SYS_BOARD
284 help
285 The product name to store in SMBIOS structures.
286 Change this to override the default one (CONFIG_SYS_BOARD).
287
288endmenu
289
Simon Glass9539e692015-07-31 09:31:36 -0600290source lib/efi/Kconfig
Alexander Graf67ee7052016-03-04 01:10:07 +0100291source lib/efi_loader/Kconfig
Simon Glass9539e692015-07-31 09:31:36 -0600292
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +0900293endmenu