blob: b8833e018371dd3af833608c0b15cb619e114496 [file] [log] [blame]
Masahiro Yamadaed363232014-09-16 16:32:58 +09001menu "Library routines"
2
Marek Szyprowski69be8fd2020-06-03 14:43:40 +02003config ADDR_MAP
4 bool "Enable support for non-identity virtual-physical mappings"
5 help
6 Enables helper code for implementing non-identity virtual-physical
7 memory mappings for 32bit CPUs.
8
Bin Menge0103152021-02-25 17:22:36 +08009 This library only works in the post-relocation phase.
10
Marek Szyprowski69be8fd2020-06-03 14:43:40 +020011config SYS_NUM_ADDR_MAP
12 int "Size of the address-map table"
13 depends on ADDR_MAP
14 default 16
15 help
16 Sets the number of entries in the virtual-physical mapping table.
17
Simon Glass6405ab72021-11-24 09:26:42 -070018config PHYSMEM
19 bool "Access to physical memory region (> 4G)"
20 help
21 Some basic support is provided for operations on memory not
22 normally accessible to 32-bit U-Boot - e.g. some architectures
23 support access to more than 4G of memory on 32-bit
24 machines using physical address extension or similar.
25 Enable this to access this basic support, which only supports clearing
26 the memory.
27
Adam Ford6ef2f902017-08-11 09:46:05 -050028config BCH
29 bool "Enable Software based BCH ECC"
30 help
31 Enables software based BCH ECC algorithm present in lib/bch.c
32 This is used by SoC platforms which do not have built-in ELM
33 hardware engine required for BCH ECC correction.
34
Simon Glass3c10dc92019-12-06 21:41:34 -070035config BINMAN_FDT
36 bool "Allow access to binman information in the device tree"
Bin Meng56e72572021-02-03 21:20:02 +080037 depends on BINMAN && DM && OF_CONTROL
Bin Meng1621d3c2021-05-10 20:23:36 +080038 default y if OF_SEPARATE || OF_EMBED
Simon Glass3c10dc92019-12-06 21:41:34 -070039 help
40 This enables U-Boot to access information about binman entries,
41 stored in the device tree in a binman node. Typical uses are to
42 locate entries in the firmware image. See binman.h for the available
43 functionality.
44
Masahiro Yamadab0928da2014-09-16 16:32:59 +090045config CC_OPTIMIZE_LIBS_FOR_SPEED
46 bool "Optimize libraries for speed"
47 help
48 Enabling this option will pass "-O2" to gcc when compiling
49 under "lib" directory.
50
51 If unsure, say N.
52
Simon Glass1a46cb62021-07-02 12:36:17 -060053config CHARSET
54 bool
Simon Glass1a46cb62021-07-02 12:36:17 -060055
Faiz Abbas36c18772018-02-06 19:15:58 +053056config DYNAMIC_CRC_TABLE
57 bool "Enable Dynamic tables for CRC"
58 help
59 Enable this option to calculate entries for CRC tables at runtime.
60 This can be helpful when reducing the size of the build image
61
Bin Meng2895c4b2018-10-15 02:21:15 -070062config HAVE_ARCH_IOMAP
63 bool
64 help
65 Enable this option if architecture provides io{read,write}{8,16,32}
66 I/O accessor functions.
67
Masahiro Yamada45ccec82014-10-24 01:30:43 +090068config HAVE_PRIVATE_LIBGCC
69 bool
70
Adam Forda451bc22018-02-06 12:14:28 -060071config LIB_UUID
72 bool
73
Kautuk Consul1c03ab92022-12-07 17:12:34 +053074config SEMIHOSTING
75 bool "Support semihosting"
76 depends on ARM
77 help
78 Semihosting is a method for a target to communicate with a host
79 debugger. It uses special instructions which the debugger will trap
80 on and interpret. This allows U-Boot to read/write files, print to
81 the console, and execute arbitrary commands on the host system.
82
83 Enabling this option will add support for reading and writing files
84 on the host system. If you don't have a debugger attached then trying
85 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
86
87config SEMIHOSTING_FALLBACK
88 bool "Recover gracefully when semihosting fails"
89 depends on SEMIHOSTING && ARM64
90 default y
91 help
92 Normally, if U-Boot makes a semihosting call and no debugger is
93 attached, then it will panic due to a synchronous abort
94 exception. This config adds an exception handler which will allow
95 U-Boot to recover. Say 'y' if unsure.
96
97config SPL_SEMIHOSTING
98 bool "Support semihosting in SPL"
99 depends on SPL && ARM
100 help
101 Semihosting is a method for a target to communicate with a host
102 debugger. It uses special instructions which the debugger will trap
103 on and interpret. This allows U-Boot to read/write files, print to
104 the console, and execute arbitrary commands on the host system.
105
106 Enabling this option will add support for reading and writing files
107 on the host system. If you don't have a debugger attached then trying
108 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
109
110config SPL_SEMIHOSTING_FALLBACK
111 bool "Recover gracefully when semihosting fails in SPL"
112 depends on SPL_SEMIHOSTING && ARM64
113 select ARMV8_SPL_EXCEPTION_VECTORS
114 default y
115 help
116 Normally, if U-Boot makes a semihosting call and no debugger is
117 attached, then it will panic due to a synchronous abort
118 exception. This config adds an exception handler which will allow
119 U-Boot to recover. Say 'y' if unsure.
120
Alex Kiernan14ad44a2018-04-19 04:32:54 +0000121config PRINTF
122 bool
123 default y
124
125config SPL_PRINTF
126 bool
127 select SPL_SPRINTF
Simon Glass27084c02019-09-25 08:56:27 -0600128 select SPL_STRTO if !SPL_USE_TINY_PRINTF
Alex Kiernan14ad44a2018-04-19 04:32:54 +0000129
130config TPL_PRINTF
131 bool
132 select TPL_SPRINTF
Simon Glass27084c02019-09-25 08:56:27 -0600133 select TPL_STRTO if !TPL_USE_TINY_PRINTF
Alex Kiernan14ad44a2018-04-19 04:32:54 +0000134
Simon Glass747093d2022-04-30 00:56:53 -0600135config VPL_PRINTF
136 bool
137 select VPL_SPRINTF
138 select VPL_STRTO if !VPL_USE_TINY_PRINTF
139
Alex Kiernan14ad44a2018-04-19 04:32:54 +0000140config SPRINTF
141 bool
142 default y
143
144config SPL_SPRINTF
145 bool
146
147config TPL_SPRINTF
148 bool
149
Simon Glass747093d2022-04-30 00:56:53 -0600150config VPL_SPRINTF
151 bool
152
Andrii Anisove87dfb02020-08-06 12:42:52 +0300153config SSCANF
154 bool
Andrii Anisove87dfb02020-08-06 12:42:52 +0300155
Alex Kiernan14ad44a2018-04-19 04:32:54 +0000156config STRTO
157 bool
158 default y
159
160config SPL_STRTO
161 bool
162
163config TPL_STRTO
164 bool
165
Simon Glass747093d2022-04-30 00:56:53 -0600166config VPL_STRTO
167 bool
168
Alex Kiernanc232d142018-05-29 15:30:52 +0000169config IMAGE_SPARSE
170 bool
171
172config IMAGE_SPARSE_FILLBUF_SIZE
173 hex "Android sparse image CHUNK_TYPE_FILL buffer size"
174 default 0x80000
175 depends on IMAGE_SPARSE
176 help
177 Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
178 chunks.
179
Masahiro Yamada45ccec82014-10-24 01:30:43 +0900180config USE_PRIVATE_LIBGCC
181 bool "Use private libgcc"
182 depends on HAVE_PRIVATE_LIBGCC
Marek Vasut91b86e22016-05-26 18:01:47 +0200183 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
Masahiro Yamada45ccec82014-10-24 01:30:43 +0900184 help
185 This option allows you to use the built-in libgcc implementation
Masahiro Yamada67976302016-03-30 20:17:42 +0900186 of U-Boot instead of the one provided by the compiler.
Masahiro Yamada45ccec82014-10-24 01:30:43 +0900187 If unsure, say N.
188
Masahiro Yamada8c688bc2014-10-24 01:30:40 +0900189config SYS_HZ
190 int
191 default 1000
192 help
193 The frequency of the timer returned by get_timer().
194 get_timer() must operate in milliseconds and this option must be
195 set to 1000.
196
Simon Glass27084c02019-09-25 08:56:27 -0600197config SPL_USE_TINY_PRINTF
Thomas Hebb37ef1772019-11-10 08:23:53 -0800198 bool "Enable tiny printf() version in SPL"
Simon Glass27084c02019-09-25 08:56:27 -0600199 depends on SPL
Tom Rini2a51e162019-06-08 12:46:18 -0400200 default y
Stefan Roese7d9cde12015-11-23 07:00:22 +0100201 help
202 This option enables a tiny, stripped down printf version.
203 This should only be used in space limited environments,
204 like SPL versions with hard memory limits. This version
205 reduces the code size by about 2.5KiB on armv7.
206
207 The supported format specifiers are %c, %s, %u/%d and %x.
208
Simon Glass27084c02019-09-25 08:56:27 -0600209config TPL_USE_TINY_PRINTF
Thomas Hebb37ef1772019-11-10 08:23:53 -0800210 bool "Enable tiny printf() version in TPL"
Simon Glass27084c02019-09-25 08:56:27 -0600211 depends on TPL
212 default y if SPL_USE_TINY_PRINTF
213 help
214 This option enables a tiny, stripped down printf version.
215 This should only be used in space limited environments,
216 like SPL versions with hard memory limits. This version
217 reduces the code size by about 2.5KiB on armv7.
218
219 The supported format specifiers are %c, %s, %u/%d and %x.
220
Simon Glass747093d2022-04-30 00:56:53 -0600221config VPL_USE_TINY_PRINTF
222 bool "Enable tiny printf() version for VPL"
223 depends on VPL
224 help
225 This option enables a tiny, stripped down printf version.
226 This should only be used in space limited environments,
227 like SPL versions with hard memory limits. This version
228 reduces the code size by about 2.5KiB on armv7.
229
230 The supported format specifiers are %c, %s, %u/%d and %x.
231
Masahiro Yamada7e3caa82017-12-04 12:37:00 +0900232config PANIC_HANG
233 bool "Do not reset the system on fatal error"
234 help
235 Define this option to stop the system in case of a fatal error,
236 so that you have to reset it manually. This is probably NOT a good
237 idea for an embedded system where you want the system to reboot
238 automatically as fast as possible, but it may be useful during
239 development since you can try to debug the conditions that lead to
240 the situation.
241
Joe Hershberger1a606502015-04-21 17:02:42 -0500242config REGEX
243 bool "Enable regular expression support"
Joe Hershbergerf7848d92015-06-22 17:57:36 -0500244 default y if NET
Joe Hershberger1a606502015-04-21 17:02:42 -0500245 help
246 If this variable is defined, U-Boot is linked against the
247 SLRE (Super Light Regular Expression) library, which adds
248 regex support to some commands, for example "env grep" and
249 "setexpr".
250
Adam Forda5a37562018-02-06 10:18:18 -0600251choice
252 prompt "Pseudo-random library support type"
Heinrich Schuchardt16112352020-01-19 19:28:12 +0100253 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
Heinrich Schuchardt28cef9c2020-11-20 12:55:22 +0100254 RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
Adam Forda5a37562018-02-06 10:18:18 -0600255 default LIB_RAND
Masahiro Yamada3850dbe2015-06-11 19:16:43 +0900256 help
Adam Forda5a37562018-02-06 10:18:18 -0600257 Select the library to provide pseudo-random number generator
258 functions. LIB_HW_RAND supports certain hardware engines that
259 provide this functionality. If in doubt, select LIB_RAND.
260
261config LIB_RAND
262 bool "Pseudo-random library support"
263
264config LIB_HW_RAND
Marcin Juszkiewicz43e442a2020-05-26 19:07:15 +0200265 bool "HW Engine for random library support"
Adam Forda5a37562018-02-06 10:18:18 -0600266
267endchoice
Michal Simek9ba9e852015-05-25 11:37:22 +0200268
Simon Glasse1722fc2021-12-01 09:02:36 -0700269config SUPPORT_ACPI
270 bool
271 help
272 Enable this if your arch or board can support generating ACPI
273 (Advanced Configuration and Power Interface) tables. In this case
274 U-Boot can generate these tables and pass them to the Operating
275 System.
276
277config GENERATE_ACPI_TABLE
278 bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
279 depends on SUPPORT_ACPI
280 select QFW if QEMU
281 help
282 The Advanced Configuration and Power Interface (ACPI) specification
283 provides an open standard for device configuration and management
284 by the operating system. It defines platform-independent interfaces
285 for configuration and power management monitoring.
286
Simon Glassab4458b2017-04-02 09:50:28 -0600287config SPL_TINY_MEMSET
288 bool "Use a very small memset() in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400289 depends on SPL
Simon Glassab4458b2017-04-02 09:50:28 -0600290 help
291 The faster memset() is the arch-specific one (if available) enabled
292 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
293 better performance by writing a word at a time. But in very
Chris Packham6e705112019-01-13 22:13:28 +1300294 size-constrained environments even this may be too big. Enable this
Simon Glassab4458b2017-04-02 09:50:28 -0600295 option to reduce code size slightly at the cost of some speed.
296
Philipp Tomsich96b90822017-08-03 22:52:04 +0200297config TPL_TINY_MEMSET
298 bool "Use a very small memset() in TPL"
Tom Rini8bea4bf2022-06-08 08:24:39 -0400299 depends on TPL
Philipp Tomsich96b90822017-08-03 22:52:04 +0200300 help
301 The faster memset() is the arch-specific one (if available) enabled
302 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
303 better performance by writing a word at a time. But in very
Chris Packham6e705112019-01-13 22:13:28 +1300304 size-constrained environments even this may be too big. Enable this
Philipp Tomsich96b90822017-08-03 22:52:04 +0200305 option to reduce code size slightly at the cost of some speed.
306
Boris Brezillonaa049152017-02-27 18:22:05 +0100307config RBTREE
308 bool
309
Nandor Handa5337a2017-11-08 15:35:14 +0000310config BITREVERSE
311 bool "Bit reverse library from Linux"
312
Simon Glassa24a78d2019-04-08 13:20:51 -0600313config TRACE
314 bool "Support for tracing of function calls and timing"
315 imply CMD_TRACE
Pragnesh Patela80f8512021-01-17 18:11:24 +0530316 select TIMER_EARLY
Simon Glassa24a78d2019-04-08 13:20:51 -0600317 help
318 Enables function tracing within U-Boot. This allows recording of call
319 traces including timing information. The command can write data to
320 memory for exporting for analysis (e.g. using bootchart).
321 See doc/README.trace for full details.
322
Simon Glass1c6eb072019-04-08 13:20:52 -0600323config TRACE_BUFFER_SIZE
324 hex "Size of trace buffer in U-Boot"
325 depends on TRACE
326 default 0x01000000
327 help
328 Sets the size of the trace buffer in U-Boot. This is allocated from
329 memory during relocation. If this buffer is too small, the trace
330 history will be truncated, with later records omitted.
331
332 If early trace is enabled (i.e. before relocation), this buffer must
333 be large enough to include all the data from the early trace buffer as
334 well, since this is copied over to the main buffer during relocation.
335
336 A trace record is emitted for each function call and each record is
337 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
338 the size is too small then 'trace stats' will show a message saying
339 how many records were dropped due to buffer overflow.
340
Heinrich Schuchardtda0fb5f2019-06-02 13:30:09 +0200341config TRACE_CALL_DEPTH_LIMIT
342 int "Trace call depth limit"
343 depends on TRACE
344 default 15
345 help
346 Sets the maximum call depth up to which function calls are recorded.
347
Simon Glass1c6eb072019-04-08 13:20:52 -0600348config TRACE_EARLY
349 bool "Enable tracing before relocation"
350 depends on TRACE
351 help
352 Sometimes it is helpful to trace execution of U-Boot before
353 relocation. This is possible by using a arch-specific, fixed buffer
354 position in memory. Enable this option to start tracing as early as
355 possible after U-Boot starts.
356
357config TRACE_EARLY_SIZE
358 hex "Size of early trace buffer in U-Boot"
359 depends on TRACE_EARLY
360 default 0x00100000
361 help
362 Sets the size of the early trace buffer in bytes. This is used to hold
363 tracing information before relocation.
364
Heinrich Schuchardtda0fb5f2019-06-02 13:30:09 +0200365config TRACE_EARLY_CALL_DEPTH_LIMIT
366 int "Early trace call depth limit"
367 depends on TRACE_EARLY
368 default 200
369 help
370 Sets the maximum call depth up to which function calls are recorded
371 during early tracing.
372
Simon Glass1c6eb072019-04-08 13:20:52 -0600373config TRACE_EARLY_ADDR
374 hex "Address of early trace buffer in U-Boot"
375 depends on TRACE_EARLY
376 default 0x00100000
377 help
378 Sets the address of the early trace buffer in U-Boot. This memory
379 must be accessible before relocation.
380
381 A trace record is emitted for each function call and each record is
382 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
383 the size is too small then the message which says the amount of early
384 data being coped will the the same as the
385
Loic Poulain334a9b92021-11-25 18:16:14 +0100386config CIRCBUF
387 bool "Enable circular buffer support"
388
Simon Glassd1389402015-06-23 15:38:23 -0600389source lib/dhry/Kconfig
390
Simon Glassb1a873d2017-04-26 22:27:49 -0600391menu "Security support"
392
393config AES
394 bool "Support the AES algorithm"
395 help
396 This provides a means to encrypt and decrypt data using the AES
397 (Advanced Encryption Standard). This algorithm uses a symetric key
398 and is widely used as a streaming cipher. Different key lengths are
399 supported by the algorithm but only a 128-bit key is supported at
400 present.
401
Alexandru Gagniuc928a8be2021-07-29 11:47:16 -0500402source lib/ecdsa/Kconfig
Ruchika Guptad9f23c72015-01-23 16:01:56 +0530403source lib/rsa/Kconfig
AKASHI Takahirob4adf622019-11-13 09:45:00 +0900404source lib/crypto/Kconfig
Steffen Jaeckel26dd9932021-07-08 15:57:33 +0200405source lib/crypt/Kconfig
Ruchika Guptac4beb222015-01-23 16:01:51 +0530406
Simon Glassa7d660b2015-08-22 18:31:19 -0600407config TPM
408 bool "Trusted Platform Module (TPM) Support"
Simon Glass2419cd12015-10-03 06:39:36 -0600409 depends on DM
Sughosh Ganue67ffb52022-07-22 21:32:04 +0530410 imply DM_RNG
Simon Glassa7d660b2015-08-22 18:31:19 -0600411 help
412 This enables support for TPMs which can be used to provide security
413 features for your board. The TPM can be connected via LPC or I2C
414 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
415 command to interactive the TPM. Driver model support is provided
416 for the low-level TPM interface, but only one TPM is supported at
417 a time by the TPM library.
418
Simon Glass63078962018-10-01 12:22:19 -0600419config SPL_TPM
420 bool "Trusted Platform Module (TPM) Support in SPL"
421 depends on SPL_DM
422 help
423 This enables support for TPMs which can be used to provide security
424 features for your board. The TPM can be connected via LPC or I2C
425 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
426 command to interactive the TPM. Driver model support is provided
427 for the low-level TPM interface, but only one TPM is supported at
428 a time by the TPM library.
429
430config TPL_TPM
431 bool "Trusted Platform Module (TPM) Support in TPL"
432 depends on TPL_DM
433 help
434 This enables support for TPMs which can be used to provide security
435 features for your board. The TPM can be connected via LPC or I2C
436 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
437 command to interactive the TPM. Driver model support is provided
438 for the low-level TPM interface, but only one TPM is supported at
439 a time by the TPM library.
440
Simon Glass747093d2022-04-30 00:56:53 -0600441config VPL_TPM
442 bool "Trusted Platform Module (TPM) Support in VPL"
443 depends on VPL_DM
444 help
445 This enables support for TPMs which can be used to provide security
446 features for your board. The TPM can be connected via LPC or I2C
447 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
448 command to interactive the TPM. Driver model support is provided
449 for the low-level TPM interface, but only one TPM is supported at
450 a time by the TPM library.
451
Simon Glassb1a873d2017-04-26 22:27:49 -0600452endmenu
453
Igor Opaniuk33305842018-06-03 21:56:37 +0300454menu "Android Verified Boot"
455
456config LIBAVB
457 bool "Android Verified Boot 2.0 support"
458 depends on ANDROID_BOOT_IMAGE
Igor Opaniuk33305842018-06-03 21:56:37 +0300459 help
460 This enables support of Android Verified Boot 2.0 which can be used
461 to assure the end user of the integrity of the software running on a
462 device. Introduces such features as boot chain of trust, rollback
463 protection etc.
464
465endmenu
466
gaurav rana94e3c8c2015-02-20 12:51:46 +0530467menu "Hashing Support"
468
Qu Wenruo7c3fd5c2021-12-27 14:12:07 +0800469config BLAKE2
470 bool "Enable BLAKE2 support"
471 help
472 This option enables support of hashing using BLAKE2B algorithm.
473 The hash is calculated in software.
474 The BLAKE2 algorithm produces a hash value (digest) between 1 and
475 64 bytes.
476
gaurav rana94e3c8c2015-02-20 12:51:46 +0530477config SHA1
478 bool "Enable SHA1 support"
479 help
480 This option enables support of hashing using SHA1 algorithm.
481 The hash is calculated in software.
482 The SHA1 algorithm produces a 160-bit (20-byte) hash value
483 (digest).
484
485config SHA256
486 bool "Enable SHA256 support"
487 help
488 This option enables support of hashing using SHA256 algorithm.
489 The hash is calculated in software.
490 The SHA256 algorithm produces a 256-bit (32-byte) hash value
491 (digest).
492
Reuben Dowled16b38f2020-04-16 17:36:52 +1200493config SHA512
494 bool "Enable SHA512 support"
Reuben Dowled16b38f2020-04-16 17:36:52 +1200495 help
496 This option enables support of hashing using SHA512 algorithm.
497 The hash is calculated in software.
498 The SHA512 algorithm produces a 512-bit (64-byte) hash value
499 (digest).
500
501config SHA384
502 bool "Enable SHA384 support"
Alexandru Gagniuce60e4492021-09-02 19:54:18 -0500503 select SHA512
Reuben Dowled16b38f2020-04-16 17:36:52 +1200504 help
505 This option enables support of hashing using SHA384 algorithm.
Alexandru Gagniuce60e4492021-09-02 19:54:18 -0500506 The hash is calculated in software. This is also selects SHA512,
507 because these implementations share the bulk of the code..
Reuben Dowled16b38f2020-04-16 17:36:52 +1200508 The SHA384 algorithm produces a 384-bit (48-byte) hash value
509 (digest).
510
gaurav rana94e3c8c2015-02-20 12:51:46 +0530511config SHA_HW_ACCEL
Heinrich Schuchardte2ae4832021-05-14 07:08:27 +0200512 bool "Enable hardware acceleration for SHA hash functions"
gaurav rana94e3c8c2015-02-20 12:51:46 +0530513 help
Heinrich Schuchardte2ae4832021-05-14 07:08:27 +0200514 This option enables hardware acceleration for the SHA1 and SHA256
515 hashing algorithms. This affects the 'hash' command and also the
516 hash_lookup_algo() function.
517
Simon Glass603d15a2021-09-25 19:43:17 -0600518if SPL
519
520config SPL_SHA1
521 bool "Enable SHA1 support in SPL"
522 default y if SHA1
523 help
524 This option enables support of hashing using SHA1 algorithm.
525 The hash is calculated in software.
526 The SHA1 algorithm produces a 160-bit (20-byte) hash value
527 (digest).
528
529config SPL_SHA256
530 bool "Enable SHA256 support in SPL"
531 default y if SHA256
532 help
533 This option enables support of hashing using SHA256 algorithm.
534 The hash is calculated in software.
535 The SHA256 algorithm produces a 256-bit (32-byte) hash value
536 (digest).
537
538config SPL_SHA512
539 bool "Enable SHA512 support in SPL"
540 default y if SHA512
541 help
542 This option enables support of hashing using SHA512 algorithm.
543 The hash is calculated in software.
544 The SHA512 algorithm produces a 512-bit (64-byte) hash value
545 (digest).
546
547config SPL_SHA384
548 bool "Enable SHA384 support in SPL"
549 default y if SHA384
550 select SPL_SHA512
551 help
552 This option enables support of hashing using SHA384 algorithm.
553 The hash is calculated in software. This is also selects SHA512,
554 because these implementations share the bulk of the code..
555 The SHA384 algorithm produces a 384-bit (48-byte) hash value
556 (digest).
557
Simon Glass2c212562021-09-25 19:43:18 -0600558config SPL_SHA_HW_ACCEL
559 bool "Enable hardware acceleration for SHA hash functions"
560 default y if SHA_HW_ACCEL
561 help
562 This option enables hardware acceleration for the SHA1 and SHA256
563 hashing algorithms. This affects the 'hash' command and also the
564 hash_lookup_algo() function.
565
566config SPL_SHA_PROG_HW_ACCEL
567 bool "Enable Progressive hashing support using hardware in SPL"
568 depends on SHA_PROG_HW_ACCEL
569 default y
570 help
571 This option enables hardware-acceleration for SHA progressive
572 hashing.
573 Data can be streamed in a block at a time and the hashing is
574 performed in hardware.
575
Simon Glass603d15a2021-09-25 19:43:17 -0600576endif
577
Heinrich Schuchardte2ae4832021-05-14 07:08:27 +0200578if SHA_HW_ACCEL
579
580config SHA512_HW_ACCEL
581 bool "Enable hardware acceleration for SHA512"
Alexandru Gagniuce60e4492021-09-02 19:54:18 -0500582 depends on SHA512
Heinrich Schuchardte2ae4832021-05-14 07:08:27 +0200583 help
584 This option enables hardware acceleration for the SHA384 and SHA512
585 hashing algorithms. This affects the 'hash' command and also the
586 hash_lookup_algo() function.
gaurav rana94e3c8c2015-02-20 12:51:46 +0530587
588config SHA_PROG_HW_ACCEL
589 bool "Enable Progressive hashing support using hardware"
gaurav rana94e3c8c2015-02-20 12:51:46 +0530590 help
Joel Stanleya479f102021-02-17 13:50:42 +1030591 This option enables hardware-acceleration for SHA progressive
592 hashing.
593 Data can be streamed in a block at a time and the hashing is
594 performed in hardware.
Andre Przywarabea79d72017-03-15 01:19:05 +0000595
Heinrich Schuchardte2ae4832021-05-14 07:08:27 +0200596endif
597
Andre Przywarabea79d72017-03-15 01:19:05 +0000598config MD5
Simon Glass8239be62020-05-06 08:03:56 -0600599 bool "Support MD5 algorithm"
600 help
601 This option enables MD5 support. MD5 is an algorithm designed
602 in 1991 that produces a 16-byte digest (or checksum) from its input
603 data. It has a number of vulnerabilities which preclude its use in
604 security applications, but it can be useful for providing a quick
605 checksum of a block of data.
606
607config SPL_MD5
608 bool "Support MD5 algorithm in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400609 depends on SPL
Simon Glass8239be62020-05-06 08:03:56 -0600610 help
611 This option enables MD5 support in SPL. MD5 is an algorithm designed
612 in 1991 that produces a 16-byte digest (or checksum) from its input
613 data. It has a number of vulnerabilities which preclude its use in
614 security applications, but it can be useful for providing a quick
615 checksum of a block of data.
Andre Przywarabea79d72017-03-15 01:19:05 +0000616
Simon Glasse7d285b2021-09-25 19:43:24 -0600617config CRC32
618 def_bool y
619 help
620 Enables CRC32 support in U-Boot. This is normally required.
621
Marek Behún85d8bf52017-09-03 17:00:23 +0200622config CRC32C
623 bool
624
Marek Behún83a486b2019-04-29 22:40:43 +0200625config XXHASH
626 bool
627
gaurav rana94e3c8c2015-02-20 12:51:46 +0530628endmenu
629
Julius Werner027b7282015-10-06 20:03:53 -0700630menu "Compression Support"
631
632config LZ4
633 bool "Enable LZ4 decompression support"
634 help
635 If this option is set, support for LZ4 compressed images
636 is included. The LZ4 algorithm can run in-place as long as the
637 compressed image is loaded to the end of the output buffer, and
638 trades lower compression ratios for much faster decompression.
Patrick Delaunay4fa01502021-03-10 10:16:28 +0100639
Julius Werner027b7282015-10-06 20:03:53 -0700640 NOTE: This implements the release version of the LZ4 frame
641 format as generated by default by the 'lz4' command line tool.
642 This is not the same as the outdated, less efficient legacy
643 frame format currently (2015) implemented in the Linux kernel
644 (generated by 'lz4 -l'). The two formats are incompatible.
645
Simon Glassaed998a2017-05-17 03:25:42 -0600646config LZMA
647 bool "Enable LZMA decompression support"
648 help
649 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
650 a dictionary compression algorithm that provides a high compression
651 ratio and fairly fast decompression speed. See also
652 CONFIG_CMD_LZMADEC which provides a decode command.
653
Boris Brezillon173aafb2017-02-27 18:22:06 +0100654config LZO
Tom Rinid56b4b12017-07-22 18:36:16 -0400655 bool "Enable LZO decompression support"
656 help
Oleksandr Suvorov5145bc72021-09-01 16:05:08 +0300657 This enables support for the LZO compression algorithm.
York Sun7264f292017-08-15 11:14:43 -0700658
Marek Vasut95f4bbd2019-03-08 16:06:55 +0100659config GZIP
Heiko Schocher51323612019-04-29 08:59:38 +0200660 bool "Enable gzip decompression support"
Marek Vasut95f4bbd2019-03-08 16:06:55 +0100661 select ZLIB
662 default y
663 help
664 This enables support for GZIP compression algorithm.
665
Joao Marcos Costa81014f72020-07-30 15:33:49 +0200666config ZLIB_UNCOMPRESS
667 bool "Enables zlib's uncompress() functionality"
668 help
669 This enables an extra zlib functionality: the uncompress() function,
670 which decompresses data from a buffer into another, knowing their
671 sizes. Unlike gunzip(), there is no header parsing.
672
Michael Walleeff5a542020-05-22 14:07:36 +0200673config GZIP_COMPRESSED
674 bool
675 select ZLIB
676
Atish Patra2a2119e2020-03-05 16:24:21 -0800677config BZIP2
678 bool "Enable bzip2 decompression support"
679 help
680 This enables support for BZIP2 compression algorithm.
681
Marek Vasut95f4bbd2019-03-08 16:06:55 +0100682config ZLIB
683 bool
684 default y
685 help
686 This enables ZLIB compression lib.
687
Marek Behún8509f222019-04-29 22:40:44 +0200688config ZSTD
689 bool "Enable Zstandard decompression support"
690 select XXHASH
691 help
692 This enables Zstandard decompression library.
693
Simon Glass048c6e82018-11-06 15:21:30 -0700694config SPL_LZ4
695 bool "Enable LZ4 decompression support in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400696 depends on SPL
Simon Glass048c6e82018-11-06 15:21:30 -0700697 help
Marcin Juszkiewicz43e442a2020-05-26 19:07:15 +0200698 This enables support for the LZ4 decompression algorithm in SPL. LZ4
Simon Glass048c6e82018-11-06 15:21:30 -0700699 is a lossless data compression algorithm that is focused on
700 fast compression and decompression speed. It belongs to the LZ77
701 family of byte-oriented compression schemes.
702
Weijie Gao04cb3992020-04-21 09:28:38 +0200703config SPL_LZMA
704 bool "Enable LZMA decompression support for SPL build"
Tom Rinib3401992022-06-10 23:03:09 -0400705 depends on SPL
Weijie Gao04cb3992020-04-21 09:28:38 +0200706 help
Marcin Juszkiewicz43e442a2020-05-26 19:07:15 +0200707 This enables support for LZMA compression algorithm for SPL boot.
Weijie Gao04cb3992020-04-21 09:28:38 +0200708
Simon Glass747093d2022-04-30 00:56:53 -0600709config VPL_LZMA
710 bool "Enable LZMA decompression support for VPL build"
711 default y if LZMA
712 help
713 This enables support for LZMA compression algorithm for VPL boot.
714
Jean-Jacques Hiblotf52bdf42017-09-15 12:57:30 +0200715config SPL_LZO
716 bool "Enable LZO decompression support in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400717 depends on SPL
Jean-Jacques Hiblotf52bdf42017-09-15 12:57:30 +0200718 help
719 This enables support for LZO compression algorithm in the SPL.
720
York Sun7264f292017-08-15 11:14:43 -0700721config SPL_GZIP
722 bool "Enable gzip decompression support for SPL build"
723 select SPL_ZLIB
724 help
Oleksandr Suvorov5145bc72021-09-01 16:05:08 +0300725 This enables support for the GZIP compression algorithm for SPL boot.
York Sun7264f292017-08-15 11:14:43 -0700726
727config SPL_ZLIB
728 bool
729 help
730 This enables compression lib for SPL boot.
731
Marek Behún8509f222019-04-29 22:40:44 +0200732config SPL_ZSTD
733 bool "Enable Zstandard decompression support in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400734 depends on SPL
Marek Behún8509f222019-04-29 22:40:44 +0200735 select XXHASH
736 help
737 This enables Zstandard decompression library in the SPL.
738
Julius Werner027b7282015-10-06 20:03:53 -0700739endmenu
740
Przemyslaw Marczak6501ff62015-04-20 20:07:40 +0200741config ERRNO_STR
742 bool "Enable function for getting errno-related string message"
743 help
744 The function errno_str(int errno), returns a pointer to the errno
745 corresponding text message:
746 - if errno is null or positive number - a pointer to "Success" message
747 - if errno is negative - a pointer to errno related message
748
Alexey Brodkinf8c987f2018-06-05 17:17:57 +0300749config HEXDUMP
750 bool "Enable hexdump"
751 help
752 This enables functions for printing dumps of binary data.
753
Simon Glass26637e22020-09-12 11:13:35 -0600754config SPL_HEXDUMP
755 bool "Enable hexdump in SPL"
Heinrich Schuchardtfa3f1f12021-07-24 17:35:46 +0200756 depends on SPL && HEXDUMP
Simon Glass26637e22020-09-12 11:13:35 -0600757 help
758 This enables functions for printing dumps of binary data in
759 SPL.
760
Sean Anderson72eda502020-10-27 19:55:36 -0400761config GETOPT
762 bool "Enable getopt"
763 help
764 This enables functions for parsing command-line options.
765
Simon Glass69e173e2016-02-22 22:55:42 -0700766config OF_LIBFDT
767 bool "Enable the FDT library"
768 default y if OF_CONTROL
769 help
770 This enables the FDT library (libfdt). It provides functions for
771 accessing binary device tree images in memory, such as adding and
Anatolij Gustschinf1a7ba12017-08-18 17:58:51 +0200772 removing nodes and properties, scanning through the tree and finding
Simon Glass69e173e2016-02-22 22:55:42 -0700773 particular compatible nodes. The library operates on a flattened
774 version of the device tree.
775
Simon Glass0d76afc2019-10-27 09:47:40 -0600776config OF_LIBFDT_ASSUME_MASK
777 hex "Mask of conditions to assume for libfdt"
778 depends on OF_LIBFDT || FIT
779 default 0
780 help
781 Use this to change the assumptions made by libfdt about the
782 device tree it is working with. A value of 0 means that no assumptions
783 are made, and libfdt is able to deal with malicious data. A value of
784 0xff means all assumptions are made and any invalid data may cause
785 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
786
Maxime Ripardddf67f72016-07-05 10:26:44 +0200787config OF_LIBFDT_OVERLAY
788 bool "Enable the FDT library overlay support"
Tom Rini64175722018-05-08 08:52:17 -0400789 depends on OF_LIBFDT
Praneeth Bajjuri58a46f82018-04-25 16:03:23 -0500790 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
Maxime Ripardddf67f72016-07-05 10:26:44 +0200791 help
792 This enables the FDT library (libfdt) overlay support.
793
Tom Rini40ed7be2022-08-02 07:33:27 -0400794config SYS_FDT_PAD
795 hex "Maximum size of the FDT memory area passeed to the OS"
796 depends on OF_LIBFDT
797 default 0x13000 if FMAN_ENET || QE || U_QE
798 default 0x3000
799 help
800 During OS boot, we allocate a region of memory within the bootmap
801 for the FDT. This is the size that we will expand the FDT that we
802 are using will be extended to be, in bytes.
803
Simon Glassaa34fbc2016-02-22 22:55:45 -0700804config SPL_OF_LIBFDT
805 bool "Enable the FDT library for SPL"
Simon Glass747093d2022-04-30 00:56:53 -0600806 depends on SPL_LIBGENERIC_SUPPORT
Simon Glassaa34fbc2016-02-22 22:55:45 -0700807 default y if SPL_OF_CONTROL
808 help
809 This enables the FDT library (libfdt). It provides functions for
810 accessing binary device tree images in memory, such as adding and
Anatolij Gustschinf1a7ba12017-08-18 17:58:51 +0200811 removing nodes and properties, scanning through the tree and finding
Simon Glassaa34fbc2016-02-22 22:55:45 -0700812 particular compatible nodes. The library operates on a flattened
813 version of the device tree.
814
Simon Glass0d76afc2019-10-27 09:47:40 -0600815config SPL_OF_LIBFDT_ASSUME_MASK
816 hex "Mask of conditions to assume for libfdt"
Tom Rinib3401992022-06-10 23:03:09 -0400817 depends on SPL_OF_LIBFDT || (FIT && SPL)
Simon Glass0d76afc2019-10-27 09:47:40 -0600818 default 0xff
819 help
820 Use this to change the assumptions made by libfdt in SPL about the
821 device tree it is working with. A value of 0 means that no assumptions
822 are made, and libfdt is able to deal with malicious data. A value of
823 0xff means all assumptions are made and any invalid data may cause
824 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
825
Simon Glass5592a632018-10-01 12:22:21 -0600826config TPL_OF_LIBFDT
827 bool "Enable the FDT library for TPL"
Simon Glass747093d2022-04-30 00:56:53 -0600828 depends on TPL_LIBGENERIC_SUPPORT
Simon Glass5592a632018-10-01 12:22:21 -0600829 default y if TPL_OF_CONTROL
830 help
831 This enables the FDT library (libfdt). It provides functions for
832 accessing binary device tree images in memory, such as adding and
833 removing nodes and properties, scanning through the tree and finding
834 particular compatible nodes. The library operates on a flattened
835 version of the device tree.
836
Simon Glass0d76afc2019-10-27 09:47:40 -0600837config TPL_OF_LIBFDT_ASSUME_MASK
838 hex "Mask of conditions to assume for libfdt"
Tom Rini8bea4bf2022-06-08 08:24:39 -0400839 depends on TPL_OF_LIBFDT || (FIT && TPL)
Simon Glass0d76afc2019-10-27 09:47:40 -0600840 default 0xff
841 help
842 Use this to change the assumptions made by libfdt in TPL about the
843 device tree it is working with. A value of 0 means that no assumptions
844 are made, and libfdt is able to deal with malicious data. A value of
845 0xff means all assumptions are made and any invalid data may cause
846 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
847
Simon Glass747093d2022-04-30 00:56:53 -0600848config VPL_OF_LIBFDT
849 bool "Enable the FDT library for VPL"
Tom Rini13ce3512022-06-08 08:24:40 -0400850 depends on VPL
Simon Glass747093d2022-04-30 00:56:53 -0600851 default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
852 help
853 This enables the FDT library (libfdt). It provides functions for
854 accessing binary device tree images in memory, such as adding and
855 removing nodes and properties, scanning through the tree and finding
856 particular compatible nodes. The library operates on a flattened
857 version of the device tree.
858
859config VPL_OF_LIBFDT_ASSUME_MASK
860 hex "Mask of conditions to assume for libfdt"
Tom Rini13ce3512022-06-08 08:24:40 -0400861 depends on VPL_OF_LIBFDT || (FIT && VPL)
Simon Glass747093d2022-04-30 00:56:53 -0600862 default 0xff
863 help
864 Use this to change the assumptions made by libfdt in SPL about the
865 device tree it is working with. A value of 0 means that no assumptions
866 are made, and libfdt is able to deal with malicious data. A value of
867 0xff means all assumptions are made and any invalid data may cause
868 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
869
Heiko Schocherebf7fff2016-10-06 07:31:45 +0200870config FDT_FIXUP_PARTITIONS
871 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
872 depends on OF_LIBFDT
Masahiro Yamadaab948cd2018-07-20 11:04:09 +0900873 depends on CMD_MTDPARTS
Heiko Schocherebf7fff2016-10-06 07:31:45 +0200874 help
875 Allow overwriting defined partitions in the device tree blob
876 using partition info defined in the 'mtdparts' environment
877 variable.
878
Alexander Graf4b6dddc2016-08-19 01:23:23 +0200879menu "System tables"
Alexander Grafe663b352016-08-19 01:23:29 +0200880 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
Alexander Graf4b6dddc2016-08-19 01:23:23 +0200881
Simon Glassd2cb7a22020-11-04 09:57:25 -0700882config BLOBLIST_TABLES
883 bool "Put tables in a bloblist"
Simon Glassf2c14422021-03-15 18:11:22 +1300884 depends on X86 && BLOBLIST
Simon Glassd2cb7a22020-11-04 09:57:25 -0700885 help
886 Normally tables are placed at address 0xf0000 and can be up to 64KB
887 long. With this option, tables are instead placed in the bloblist
888 with a pointer from 0xf0000. The size can then be larger and the
889 tables can be placed high in memory.
890
Alexander Graf4b6dddc2016-08-19 01:23:23 +0200891config GENERATE_SMBIOS_TABLE
892 bool "Generate an SMBIOS (System Management BIOS) table"
893 default y
Alexander Grafe663b352016-08-19 01:23:29 +0200894 depends on X86 || EFI_LOADER
Alexander Graf4b6dddc2016-08-19 01:23:23 +0200895 help
896 The System Management BIOS (SMBIOS) specification addresses how
897 motherboard and system vendors present management information about
898 their products in a standard format by extending the BIOS interface
899 on Intel architecture systems.
900
901 Check http://www.dmtf.org/standards/smbios for details.
902
Simon Glass44c74bd2020-11-05 06:32:11 -0700903 See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
904 the devicetree.
905
Tero Kristo7d0f3fb2021-06-11 11:45:02 +0300906config LIB_RATIONAL
907 bool "enable continued fraction calculation routines"
908
909config SPL_LIB_RATIONAL
910 bool "enable continued fraction calculation routines for SPL"
911 depends on SPL
912
Alexander Graf4b6dddc2016-08-19 01:23:23 +0200913endmenu
914
AKASHI Takahiro2b121962019-11-13 09:44:53 +0900915config ASN1_COMPILER
916 bool
Philippe Reynesa0e71d92022-03-28 22:56:54 +0200917 help
918 ASN.1 (Abstract Syntax Notation One) is a standard interface
919 description language for defining data structures that can be
920 serialized and deserialized in a cross-platform way. It is
921 broadly used in telecommunications and computer networking,
922 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
923 This option enables the support of the asn1 compiler.
AKASHI Takahiro2b121962019-11-13 09:44:53 +0900924
AKASHI Takahiroab8a0e02019-11-13 09:44:55 +0900925config ASN1_DECODER
926 bool
927 help
Philippe Reynesa0e71d92022-03-28 22:56:54 +0200928 ASN.1 (Abstract Syntax Notation One) is a standard interface
929 description language for defining data structures that can be
930 serialized and deserialized in a cross-platform way. It is
931 broadly used in telecommunications and computer networking,
932 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
933 This option enables the support of the asn1 decoder.
AKASHI Takahiroab8a0e02019-11-13 09:44:55 +0900934
Philippe Reynesfd210fe2022-03-28 22:56:56 +0200935config SPL_ASN1_DECODER
936 bool
937 help
938 ASN.1 (Abstract Syntax Notation One) is a standard interface
939 description language for defining data structures that can be
940 serialized and deserialized in a cross-platform way. It is
941 broadly used in telecommunications and computer networking,
942 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
943 This option enables the support of the asn1 decoder in the SPL.
944
AKASHI Takahiroa9b45e62019-11-13 09:44:57 +0900945config OID_REGISTRY
946 bool
947 help
Philippe Reynes7d44a982022-03-28 22:56:55 +0200948 In computing, object identifiers or OIDs are an identifier mechanism
949 standardized by the International Telecommunication Union (ITU) and
950 ISO/IEC for naming any object, concept, or "thing" with a globally
951 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
AKASHI Takahiroa9b45e62019-11-13 09:44:57 +0900952 Enable fast lookup object identifier registry.
953
Philippe Reynesfd210fe2022-03-28 22:56:56 +0200954config SPL_OID_REGISTRY
955 bool
956 help
957 In computing, object identifiers or OIDs are an identifier mechanism
958 standardized by the International Telecommunication Union (ITU) and
959 ISO/IEC for naming any object, concept, or "thing" with a globally
960 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
961 Enable fast lookup object identifier registry in the SPL.
962
Christian Gmeiner415eab02020-11-03 15:34:51 +0100963config SMBIOS_PARSER
964 bool "SMBIOS parser"
965 help
966 A simple parser for SMBIOS data.
967
Simon Glass867a6ac2015-07-31 09:31:36 -0600968source lib/efi/Kconfig
Alexander Grafed980b82016-03-04 01:10:07 +0100969source lib/efi_loader/Kconfig
Bryan O'Donoghue32ce6172018-03-13 16:50:27 +0000970source lib/optee/Kconfig
Simon Glass867a6ac2015-07-31 09:31:36 -0600971
Thierry Reding54969b42019-03-21 19:10:04 +0100972config TEST_FDTDEC
973 bool "enable fdtdec test"
974 depends on OF_LIBFDT
975
AKASHI Takahiro05429b62019-11-13 09:44:49 +0900976config LIB_DATE
977 bool
978
Keerthy805b3ca2020-02-12 13:55:03 +0530979config LIB_ELF
980 bool
981 help
Patrick Delaunay6205bbb2021-01-04 15:33:28 +0100982 Support basic elf loading/validating functions.
983 This supports for 32 bit and 64 bit versions.
Keerthy805b3ca2020-02-12 13:55:03 +0530984
Patrick Delaunay77b8cfe2021-03-10 10:16:25 +0100985config LMB
986 bool "Enable the logical memory blocks library (lmb)"
Tom Rini11232132022-04-06 09:21:25 -0400987 default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
Patrick Delaunay77b8cfe2021-03-10 10:16:25 +0100988 NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
989 help
990 Support the library logical memory blocks.
991
Patrick Delaunay6d665022021-03-10 10:16:31 +0100992config LMB_USE_MAX_REGIONS
Heinrich Schuchardtac7606a2021-11-14 09:38:53 +0100993 bool "Use a common number of memory and reserved regions in lmb lib"
Patrick Delaunay6d665022021-03-10 10:16:31 +0100994 depends on LMB
995 default y
996 help
997 Define the number of supported memory regions in the library logical
998 memory blocks.
999 This feature allow to reduce the lmb library size by using compiler
1000 optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
Patrick Delaunay4fa01502021-03-10 10:16:28 +01001001
1002config LMB_MAX_REGIONS
1003 int "Number of memory and reserved regions in lmb lib"
Patrick Delaunay6d665022021-03-10 10:16:31 +01001004 depends on LMB && LMB_USE_MAX_REGIONS
Patrick Delaunay4fa01502021-03-10 10:16:28 +01001005 default 8
1006 help
1007 Define the number of supported regions, memory and reserved, in the
1008 library logical memory blocks.
Patrick Delaunay6d665022021-03-10 10:16:31 +01001009
1010config LMB_MEMORY_REGIONS
1011 int "Number of memory regions in lmb lib"
1012 depends on LMB && !LMB_USE_MAX_REGIONS
1013 default 8
1014 help
1015 Define the number of supported memory regions in the library logical
1016 memory blocks.
1017 The minimal value is CONFIG_NR_DRAM_BANKS.
1018
1019config LMB_RESERVED_REGIONS
1020 int "Number of reserved regions in lmb lib"
1021 depends on LMB && !LMB_USE_MAX_REGIONS
1022 default 8
1023 help
1024 Define the number of supported reserved regions in the library logical
1025 memory blocks.
1026
Eugen Hristev97f2a742022-01-04 18:20:19 +02001027endmenu
Sughosh Ganu86794052022-10-21 18:16:03 +05301028
1029menu "FWU Multi Bank Updates"
1030
1031source lib/fwu_updates/Kconfig
1032
1033endmenu