]> Git Repo - J-u-boot.git/blob - lib/Kconfig
Convert CONFIG_SYS_TIMER_COUNTS_DOWN to Kconfig
[J-u-boot.git] / lib / Kconfig
1 menu "Library routines"
2
3 config 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
9           This library only works in the post-relocation phase.
10
11 config 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
18 config SYS_TIMER_COUNTS_DOWN
19         bool "System timer counts down rathe than up"
20
21 config PHYSMEM
22         bool "Access to physical memory region (> 4G)"
23         help
24           Some basic support is provided for operations on memory not
25           normally accessible to 32-bit U-Boot - e.g. some architectures
26           support access to more than 4G of memory on 32-bit
27           machines using physical address extension or similar.
28           Enable this to access this basic support, which only supports clearing
29           the memory.
30
31 config BCH
32         bool "Enable Software based BCH ECC"
33         help
34           Enables software based BCH ECC algorithm present in lib/bch.c
35           This is used by SoC platforms which do not have built-in ELM
36           hardware engine required for BCH ECC correction.
37
38 config BINMAN_FDT
39         bool "Allow access to binman information in the device tree"
40         depends on BINMAN && DM && OF_CONTROL
41         default y if OF_SEPARATE || OF_EMBED
42         help
43           This enables U-Boot to access information about binman entries,
44           stored in the device tree in a binman node. Typical uses are to
45           locate entries in the firmware image. See binman.h for the available
46           functionality.
47
48 config CC_OPTIMIZE_LIBS_FOR_SPEED
49         bool "Optimize libraries for speed"
50         help
51           Enabling this option will pass "-O2" to gcc when compiling
52           under "lib" directory.
53
54           If unsure, say N.
55
56 config CHARSET
57         bool
58
59 config DYNAMIC_CRC_TABLE
60         bool "Enable Dynamic tables for CRC"
61         help
62           Enable this option to calculate entries for CRC tables at runtime.
63           This can be helpful when reducing the size of the build image
64
65 config HAVE_ARCH_IOMAP
66         bool
67         help
68           Enable this option if architecture provides io{read,write}{8,16,32}
69           I/O accessor functions.
70
71 config HAVE_PRIVATE_LIBGCC
72         bool
73
74 config LIB_UUID
75         bool
76
77 config PRINTF
78         bool
79         default y
80
81 config SPL_PRINTF
82         bool
83         select SPL_SPRINTF
84         select SPL_STRTO if !SPL_USE_TINY_PRINTF
85
86 config TPL_PRINTF
87         bool
88         select TPL_SPRINTF
89         select TPL_STRTO if !TPL_USE_TINY_PRINTF
90
91 config VPL_PRINTF
92         bool
93         select VPL_SPRINTF
94         select VPL_STRTO if !VPL_USE_TINY_PRINTF
95
96 config SPRINTF
97         bool
98         default y
99
100 config SPL_SPRINTF
101         bool
102
103 config TPL_SPRINTF
104         bool
105
106 config VPL_SPRINTF
107         bool
108
109 config SSCANF
110         bool
111
112 config STRTO
113         bool
114         default y
115
116 config SPL_STRTO
117         bool
118
119 config TPL_STRTO
120         bool
121
122 config VPL_STRTO
123         bool
124
125 config IMAGE_SPARSE
126         bool
127
128 config IMAGE_SPARSE_FILLBUF_SIZE
129         hex "Android sparse image CHUNK_TYPE_FILL buffer size"
130         default 0x80000
131         depends on IMAGE_SPARSE
132         help
133           Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
134           chunks.
135
136 config USE_PRIVATE_LIBGCC
137         bool "Use private libgcc"
138         depends on HAVE_PRIVATE_LIBGCC
139         default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
140         help
141           This option allows you to use the built-in libgcc implementation
142           of U-Boot instead of the one provided by the compiler.
143           If unsure, say N.
144
145 config SYS_HZ
146         int
147         default 1000
148         help
149           The frequency of the timer returned by get_timer().
150           get_timer() must operate in milliseconds and this option must be
151           set to 1000.
152
153 config SPL_USE_TINY_PRINTF
154         bool "Enable tiny printf() version in SPL"
155         depends on SPL
156         default y
157         help
158           This option enables a tiny, stripped down printf version.
159           This should only be used in space limited environments,
160           like SPL versions with hard memory limits. This version
161           reduces the code size by about 2.5KiB on armv7.
162
163           The supported format specifiers are %c, %s, %u/%d and %x.
164
165 config TPL_USE_TINY_PRINTF
166         bool "Enable tiny printf() version in TPL"
167         depends on TPL
168         default y if SPL_USE_TINY_PRINTF
169         help
170           This option enables a tiny, stripped down printf version.
171           This should only be used in space limited environments,
172           like SPL versions with hard memory limits. This version
173           reduces the code size by about 2.5KiB on armv7.
174
175           The supported format specifiers are %c, %s, %u/%d and %x.
176
177 config VPL_USE_TINY_PRINTF
178         bool "Enable tiny printf() version for VPL"
179         depends on VPL
180         help
181           This option enables a tiny, stripped down printf version.
182           This should only be used in space limited environments,
183           like SPL versions with hard memory limits. This version
184           reduces the code size by about 2.5KiB on armv7.
185
186           The supported format specifiers are %c, %s, %u/%d and %x.
187
188 config PANIC_HANG
189         bool "Do not reset the system on fatal error"
190         help
191           Define this option to stop the system in case of a fatal error,
192           so that you have to reset it manually. This is probably NOT a good
193           idea for an embedded system where you want the system to reboot
194           automatically as fast as possible, but it may be useful during
195           development since you can try to debug the conditions that lead to
196           the situation.
197
198 config REGEX
199         bool "Enable regular expression support"
200         default y if NET
201         help
202           If this variable is defined, U-Boot is linked against the
203           SLRE (Super Light Regular Expression) library, which adds
204           regex support to some commands, for example "env grep" and
205           "setexpr".
206
207 choice
208         prompt "Pseudo-random library support type"
209         depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
210                    RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
211         default LIB_RAND
212         help
213           Select the library to provide pseudo-random number generator
214           functions.  LIB_HW_RAND supports certain hardware engines that
215           provide this functionality.  If in doubt, select LIB_RAND.
216
217 config LIB_RAND
218         bool "Pseudo-random library support"
219
220 config LIB_HW_RAND
221         bool "HW Engine for random library support"
222
223 endchoice
224
225 config SUPPORT_ACPI
226         bool
227         help
228           Enable this if your arch or board can support generating ACPI
229           (Advanced Configuration and Power Interface) tables. In this case
230           U-Boot can generate these tables and pass them to the Operating
231           System.
232
233 config GENERATE_ACPI_TABLE
234         bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
235         depends on SUPPORT_ACPI
236         select QFW if QEMU
237         help
238           The Advanced Configuration and Power Interface (ACPI) specification
239           provides an open standard for device configuration and management
240           by the operating system. It defines platform-independent interfaces
241           for configuration and power management monitoring.
242
243 config SPL_TINY_MEMSET
244         bool "Use a very small memset() in SPL"
245         depends on SPL
246         help
247           The faster memset() is the arch-specific one (if available) enabled
248           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
249           better performance by writing a word at a time. But in very
250           size-constrained environments even this may be too big. Enable this
251           option to reduce code size slightly at the cost of some speed.
252
253 config TPL_TINY_MEMSET
254         bool "Use a very small memset() in TPL"
255         depends on TPL
256         help
257           The faster memset() is the arch-specific one (if available) enabled
258           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
259           better performance by writing a word at a time. But in very
260           size-constrained environments even this may be too big. Enable this
261           option to reduce code size slightly at the cost of some speed.
262
263 config RBTREE
264         bool
265
266 config BITREVERSE
267         bool "Bit reverse library from Linux"
268
269 config TRACE
270         bool "Support for tracing of function calls and timing"
271         imply CMD_TRACE
272         select TIMER_EARLY
273         help
274           Enables function tracing within U-Boot. This allows recording of call
275           traces including timing information. The command can write data to
276           memory for exporting for analysis (e.g. using bootchart).
277           See doc/README.trace for full details.
278
279 config TRACE_BUFFER_SIZE
280         hex "Size of trace buffer in U-Boot"
281         depends on TRACE
282         default 0x01000000
283         help
284           Sets the size of the trace buffer in U-Boot. This is allocated from
285           memory during relocation. If this buffer is too small, the trace
286           history will be truncated, with later records omitted.
287
288           If early trace is enabled (i.e. before relocation), this buffer must
289           be large enough to include all the data from the early trace buffer as
290           well, since this is copied over to the main buffer during relocation.
291
292           A trace record is emitted for each function call and each record is
293           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
294           the size is too small then 'trace stats' will show a message saying
295           how many records were dropped due to buffer overflow.
296
297 config TRACE_CALL_DEPTH_LIMIT
298         int "Trace call depth limit"
299         depends on TRACE
300         default 15
301         help
302           Sets the maximum call depth up to which function calls are recorded.
303
304 config TRACE_EARLY
305         bool "Enable tracing before relocation"
306         depends on TRACE
307         help
308           Sometimes it is helpful to trace execution of U-Boot before
309           relocation. This is possible by using a arch-specific, fixed buffer
310           position in memory. Enable this option to start tracing as early as
311           possible after U-Boot starts.
312
313 config TRACE_EARLY_SIZE
314         hex "Size of early trace buffer in U-Boot"
315         depends on TRACE_EARLY
316         default 0x00100000
317         help
318           Sets the size of the early trace buffer in bytes. This is used to hold
319           tracing information before relocation.
320
321 config TRACE_EARLY_CALL_DEPTH_LIMIT
322         int "Early trace call depth limit"
323         depends on TRACE_EARLY
324         default 200
325         help
326           Sets the maximum call depth up to which function calls are recorded
327           during early tracing.
328
329 config TRACE_EARLY_ADDR
330         hex "Address of early trace buffer in U-Boot"
331         depends on TRACE_EARLY
332         default 0x00100000
333         help
334           Sets the address of the early trace buffer in U-Boot. This memory
335           must be accessible before relocation.
336
337           A trace record is emitted for each function call and each record is
338           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
339           the size is too small then the message which says the amount of early
340           data being coped will the the same as the
341
342 config CIRCBUF
343         bool "Enable circular buffer support"
344
345 source lib/dhry/Kconfig
346
347 menu "Security support"
348
349 config AES
350         bool "Support the AES algorithm"
351         help
352           This provides a means to encrypt and decrypt data using the AES
353           (Advanced Encryption Standard). This algorithm uses a symetric key
354           and is widely used as a streaming cipher. Different key lengths are
355           supported by the algorithm but only a 128-bit key is supported at
356           present.
357
358 source lib/ecdsa/Kconfig
359 source lib/rsa/Kconfig
360 source lib/crypto/Kconfig
361 source lib/crypt/Kconfig
362
363 config TPM
364         bool "Trusted Platform Module (TPM) Support"
365         depends on DM
366         imply DM_RNG
367         help
368           This enables support for TPMs which can be used to provide security
369           features for your board. The TPM can be connected via LPC or I2C
370           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
371           command to interactive the TPM. Driver model support is provided
372           for the low-level TPM interface, but only one TPM is supported at
373           a time by the TPM library.
374
375 config SPL_TPM
376         bool "Trusted Platform Module (TPM) Support in SPL"
377         depends on SPL_DM
378         help
379           This enables support for TPMs which can be used to provide security
380           features for your board. The TPM can be connected via LPC or I2C
381           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
382           command to interactive the TPM. Driver model support is provided
383           for the low-level TPM interface, but only one TPM is supported at
384           a time by the TPM library.
385
386 config TPL_TPM
387         bool "Trusted Platform Module (TPM) Support in TPL"
388         depends on TPL_DM
389         help
390           This enables support for TPMs which can be used to provide security
391           features for your board. The TPM can be connected via LPC or I2C
392           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
393           command to interactive the TPM. Driver model support is provided
394           for the low-level TPM interface, but only one TPM is supported at
395           a time by the TPM library.
396
397 config VPL_TPM
398         bool "Trusted Platform Module (TPM) Support in VPL"
399         depends on VPL_DM
400         help
401           This enables support for TPMs which can be used to provide security
402           features for your board. The TPM can be connected via LPC or I2C
403           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
404           command to interactive the TPM. Driver model support is provided
405           for the low-level TPM interface, but only one TPM is supported at
406           a time by the TPM library.
407
408 endmenu
409
410 menu "Android Verified Boot"
411
412 config LIBAVB
413         bool "Android Verified Boot 2.0 support"
414         depends on ANDROID_BOOT_IMAGE
415         help
416           This enables support of Android Verified Boot 2.0 which can be used
417           to assure the end user of the integrity of the software running on a
418           device. Introduces such features as boot chain of trust, rollback
419           protection etc.
420
421 endmenu
422
423 menu "Hashing Support"
424
425 config BLAKE2
426         bool "Enable BLAKE2 support"
427         help
428           This option enables support of hashing using BLAKE2B algorithm.
429           The hash is calculated in software.
430           The BLAKE2 algorithm produces a hash value (digest) between 1 and
431           64 bytes.
432
433 config SHA1
434         bool "Enable SHA1 support"
435         help
436           This option enables support of hashing using SHA1 algorithm.
437           The hash is calculated in software.
438           The SHA1 algorithm produces a 160-bit (20-byte) hash value
439           (digest).
440
441 config SHA256
442         bool "Enable SHA256 support"
443         help
444           This option enables support of hashing using SHA256 algorithm.
445           The hash is calculated in software.
446           The SHA256 algorithm produces a 256-bit (32-byte) hash value
447           (digest).
448
449 config SHA512
450         bool "Enable SHA512 support"
451         help
452           This option enables support of hashing using SHA512 algorithm.
453           The hash is calculated in software.
454           The SHA512 algorithm produces a 512-bit (64-byte) hash value
455           (digest).
456
457 config SHA384
458         bool "Enable SHA384 support"
459         select SHA512
460         help
461           This option enables support of hashing using SHA384 algorithm.
462           The hash is calculated in software. This is also selects SHA512,
463           because these implementations share the bulk of the code..
464           The SHA384 algorithm produces a 384-bit (48-byte) hash value
465           (digest).
466
467 config SHA_HW_ACCEL
468         bool "Enable hardware acceleration for SHA hash functions"
469         help
470           This option enables hardware acceleration for the SHA1 and SHA256
471           hashing algorithms. This affects the 'hash' command and also the
472           hash_lookup_algo() function.
473
474 if SPL
475
476 config SPL_SHA1
477         bool "Enable SHA1 support in SPL"
478         default y if SHA1
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
485 config SPL_SHA256
486         bool "Enable SHA256 support in SPL"
487         default y if SHA256
488         help
489           This option enables support of hashing using SHA256 algorithm.
490           The hash is calculated in software.
491           The SHA256 algorithm produces a 256-bit (32-byte) hash value
492           (digest).
493
494 config SPL_SHA512
495         bool "Enable SHA512 support in SPL"
496         default y if SHA512
497         help
498           This option enables support of hashing using SHA512 algorithm.
499           The hash is calculated in software.
500           The SHA512 algorithm produces a 512-bit (64-byte) hash value
501           (digest).
502
503 config SPL_SHA384
504         bool "Enable SHA384 support in SPL"
505         default y if SHA384
506         select SPL_SHA512
507         help
508           This option enables support of hashing using SHA384 algorithm.
509           The hash is calculated in software. This is also selects SHA512,
510           because these implementations share the bulk of the code..
511           The SHA384 algorithm produces a 384-bit (48-byte) hash value
512           (digest).
513
514 config SPL_SHA_HW_ACCEL
515         bool "Enable hardware acceleration for SHA hash functions"
516         default y if SHA_HW_ACCEL
517         help
518           This option enables hardware acceleration for the SHA1 and SHA256
519           hashing algorithms. This affects the 'hash' command and also the
520           hash_lookup_algo() function.
521
522 config SPL_SHA_PROG_HW_ACCEL
523         bool "Enable Progressive hashing support using hardware in SPL"
524         depends on SHA_PROG_HW_ACCEL
525         default y
526         help
527           This option enables hardware-acceleration for SHA progressive
528           hashing.
529           Data can be streamed in a block at a time and the hashing is
530           performed in hardware.
531
532 endif
533
534 if SHA_HW_ACCEL
535
536 config SHA512_HW_ACCEL
537         bool "Enable hardware acceleration for SHA512"
538         depends on SHA512
539         help
540           This option enables hardware acceleration for the SHA384 and SHA512
541           hashing algorithms. This affects the 'hash' command and also the
542           hash_lookup_algo() function.
543
544 config SHA_PROG_HW_ACCEL
545         bool "Enable Progressive hashing support using hardware"
546         help
547           This option enables hardware-acceleration for SHA progressive
548           hashing.
549           Data can be streamed in a block at a time and the hashing is
550           performed in hardware.
551
552 endif
553
554 config MD5
555         bool "Support MD5 algorithm"
556         help
557           This option enables MD5 support. MD5 is an algorithm designed
558           in 1991 that produces a 16-byte digest (or checksum) from its input
559           data. It has a number of vulnerabilities which preclude its use in
560           security applications, but it can be useful for providing a quick
561           checksum of a block of data.
562
563 config SPL_MD5
564         bool "Support MD5 algorithm in SPL"
565         depends on SPL
566         help
567           This option enables MD5 support in SPL. MD5 is an algorithm designed
568           in 1991 that produces a 16-byte digest (or checksum) from its input
569           data. It has a number of vulnerabilities which preclude its use in
570           security applications, but it can be useful for providing a quick
571           checksum of a block of data.
572
573 config CRC32
574         def_bool y
575         help
576           Enables CRC32 support in U-Boot. This is normally required.
577
578 config CRC32C
579         bool
580
581 config XXHASH
582         bool
583
584 endmenu
585
586 menu "Compression Support"
587
588 config LZ4
589         bool "Enable LZ4 decompression support"
590         help
591           If this option is set, support for LZ4 compressed images
592           is included. The LZ4 algorithm can run in-place as long as the
593           compressed image is loaded to the end of the output buffer, and
594           trades lower compression ratios for much faster decompression.
595
596           NOTE: This implements the release version of the LZ4 frame
597           format as generated by default by the 'lz4' command line tool.
598           This is not the same as the outdated, less efficient legacy
599           frame format currently (2015) implemented in the Linux kernel
600           (generated by 'lz4 -l'). The two formats are incompatible.
601
602 config LZMA
603         bool "Enable LZMA decompression support"
604         help
605           This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
606           a dictionary compression algorithm that provides a high compression
607           ratio and fairly fast decompression speed. See also
608           CONFIG_CMD_LZMADEC which provides a decode command.
609
610 config LZO
611         bool "Enable LZO decompression support"
612         help
613           This enables support for the LZO compression algorithm.
614
615 config GZIP
616         bool "Enable gzip decompression support"
617         select ZLIB
618         default y
619         help
620           This enables support for GZIP compression algorithm.
621
622 config ZLIB_UNCOMPRESS
623         bool "Enables zlib's uncompress() functionality"
624         help
625           This enables an extra zlib functionality: the uncompress() function,
626           which decompresses data from a buffer into another, knowing their
627           sizes. Unlike gunzip(), there is no header parsing.
628
629 config GZIP_COMPRESSED
630         bool
631         select ZLIB
632
633 config BZIP2
634         bool "Enable bzip2 decompression support"
635         help
636           This enables support for BZIP2 compression algorithm.
637
638 config ZLIB
639         bool
640         default y
641         help
642           This enables ZLIB compression lib.
643
644 config ZSTD
645         bool "Enable Zstandard decompression support"
646         select XXHASH
647         help
648           This enables Zstandard decompression library.
649
650 config SPL_LZ4
651         bool "Enable LZ4 decompression support in SPL"
652         depends on SPL
653         help
654           This enables support for the LZ4 decompression algorithm in SPL. LZ4
655           is a lossless data compression algorithm that is focused on
656           fast compression and decompression speed. It belongs to the LZ77
657           family of byte-oriented compression schemes.
658
659 config SPL_LZMA
660         bool "Enable LZMA decompression support for SPL build"
661         depends on SPL
662         help
663           This enables support for LZMA compression algorithm for SPL boot.
664
665 config VPL_LZMA
666         bool "Enable LZMA decompression support for VPL build"
667         default y if LZMA
668         help
669           This enables support for LZMA compression algorithm for VPL boot.
670
671 config SPL_LZO
672         bool "Enable LZO decompression support in SPL"
673         depends on SPL
674         help
675           This enables support for LZO compression algorithm in the SPL.
676
677 config SPL_GZIP
678         bool "Enable gzip decompression support for SPL build"
679         select SPL_ZLIB
680         help
681           This enables support for the GZIP compression algorithm for SPL boot.
682
683 config SPL_ZLIB
684         bool
685         help
686           This enables compression lib for SPL boot.
687
688 config SPL_ZSTD
689         bool "Enable Zstandard decompression support in SPL"
690         depends on SPL
691         select XXHASH
692         help
693           This enables Zstandard decompression library in the SPL.
694
695 endmenu
696
697 config ERRNO_STR
698         bool "Enable function for getting errno-related string message"
699         help
700           The function errno_str(int errno), returns a pointer to the errno
701           corresponding text message:
702           - if errno is null or positive number - a pointer to "Success" message
703           - if errno is negative - a pointer to errno related message
704
705 config HEXDUMP
706         bool "Enable hexdump"
707         help
708           This enables functions for printing dumps of binary data.
709
710 config SPL_HEXDUMP
711         bool "Enable hexdump in SPL"
712         depends on SPL && HEXDUMP
713         help
714           This enables functions for printing dumps of binary data in
715           SPL.
716
717 config GETOPT
718         bool "Enable getopt"
719         help
720           This enables functions for parsing command-line options.
721
722 config OF_LIBFDT
723         bool "Enable the FDT library"
724         default y if OF_CONTROL
725         help
726           This enables the FDT library (libfdt). It provides functions for
727           accessing binary device tree images in memory, such as adding and
728           removing nodes and properties, scanning through the tree and finding
729           particular compatible nodes. The library operates on a flattened
730           version of the device tree.
731
732 config OF_LIBFDT_ASSUME_MASK
733         hex "Mask of conditions to assume for libfdt"
734         depends on OF_LIBFDT || FIT
735         default 0
736         help
737           Use this to change the assumptions made by libfdt about the
738           device tree it is working with. A value of 0 means that no assumptions
739           are made, and libfdt is able to deal with malicious data. A value of
740           0xff means all assumptions are made and any invalid data may cause
741           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
742
743 config OF_LIBFDT_OVERLAY
744         bool "Enable the FDT library overlay support"
745         depends on OF_LIBFDT
746         default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
747         help
748           This enables the FDT library (libfdt) overlay support.
749
750 config SYS_FDT_PAD
751         hex "Maximum size of the FDT memory area passeed to the OS"
752         depends on OF_LIBFDT
753         default 0x13000 if FMAN_ENET || QE || U_QE
754         default 0x3000
755         help
756           During OS boot, we allocate a region of memory within the bootmap
757           for the FDT. This is the size that we will expand the FDT that we
758           are using will be extended to be, in bytes.
759
760 config SPL_OF_LIBFDT
761         bool "Enable the FDT library for SPL"
762         depends on SPL_LIBGENERIC_SUPPORT
763         default y if SPL_OF_CONTROL
764         help
765           This enables the FDT library (libfdt). It provides functions for
766           accessing binary device tree images in memory, such as adding and
767           removing nodes and properties, scanning through the tree and finding
768           particular compatible nodes. The library operates on a flattened
769           version of the device tree.
770
771 config SPL_OF_LIBFDT_ASSUME_MASK
772         hex "Mask of conditions to assume for libfdt"
773         depends on SPL_OF_LIBFDT || (FIT && SPL)
774         default 0xff
775         help
776           Use this to change the assumptions made by libfdt in SPL about the
777           device tree it is working with. A value of 0 means that no assumptions
778           are made, and libfdt is able to deal with malicious data. A value of
779           0xff means all assumptions are made and any invalid data may cause
780           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
781
782 config TPL_OF_LIBFDT
783         bool "Enable the FDT library for TPL"
784         depends on TPL_LIBGENERIC_SUPPORT
785         default y if TPL_OF_CONTROL
786         help
787           This enables the FDT library (libfdt). It provides functions for
788           accessing binary device tree images in memory, such as adding and
789           removing nodes and properties, scanning through the tree and finding
790           particular compatible nodes. The library operates on a flattened
791           version of the device tree.
792
793 config TPL_OF_LIBFDT_ASSUME_MASK
794         hex "Mask of conditions to assume for libfdt"
795         depends on TPL_OF_LIBFDT || (FIT && TPL)
796         default 0xff
797         help
798           Use this to change the assumptions made by libfdt in TPL about the
799           device tree it is working with. A value of 0 means that no assumptions
800           are made, and libfdt is able to deal with malicious data. A value of
801           0xff means all assumptions are made and any invalid data may cause
802           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
803
804 config VPL_OF_LIBFDT
805         bool "Enable the FDT library for VPL"
806         depends on VPL
807         default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
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
811           removing nodes and properties, scanning through the tree and finding
812           particular compatible nodes. The library operates on a flattened
813           version of the device tree.
814
815 config VPL_OF_LIBFDT_ASSUME_MASK
816         hex "Mask of conditions to assume for libfdt"
817         depends on VPL_OF_LIBFDT || (FIT && VPL)
818         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
826 config FDT_FIXUP_PARTITIONS
827         bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
828         depends on OF_LIBFDT
829         depends on CMD_MTDPARTS
830         help
831           Allow overwriting defined partitions in the device tree blob
832           using partition info defined in the 'mtdparts' environment
833           variable.
834
835 menu "System tables"
836         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
837
838 config BLOBLIST_TABLES
839         bool "Put tables in a bloblist"
840         depends on X86 && BLOBLIST
841         help
842           Normally tables are placed at address 0xf0000 and can be up to 64KB
843           long. With this option, tables are instead placed in the bloblist
844           with a pointer from 0xf0000. The size can then be larger and the
845           tables can be placed high in memory.
846
847 config GENERATE_SMBIOS_TABLE
848         bool "Generate an SMBIOS (System Management BIOS) table"
849         default y
850         depends on X86 || EFI_LOADER
851         help
852           The System Management BIOS (SMBIOS) specification addresses how
853           motherboard and system vendors present management information about
854           their products in a standard format by extending the BIOS interface
855           on Intel architecture systems.
856
857           Check http://www.dmtf.org/standards/smbios for details.
858
859           See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
860           the devicetree.
861
862 config LIB_RATIONAL
863         bool "enable continued fraction calculation routines"
864
865 config SPL_LIB_RATIONAL
866         bool "enable continued fraction calculation routines for SPL"
867         depends on SPL
868
869 endmenu
870
871 config ASN1_COMPILER
872         bool
873         help
874           ASN.1 (Abstract Syntax Notation One) is a standard interface
875           description language for defining data structures that can be
876           serialized and deserialized in a cross-platform way. It is
877           broadly used in telecommunications and computer networking,
878           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
879           This option enables the support of the asn1 compiler.
880
881 config ASN1_DECODER
882         bool
883         help
884           ASN.1 (Abstract Syntax Notation One) is a standard interface
885           description language for defining data structures that can be
886           serialized and deserialized in a cross-platform way. It is
887           broadly used in telecommunications and computer networking,
888           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
889           This option enables the support of the asn1 decoder.
890
891 config SPL_ASN1_DECODER
892         bool
893         help
894           ASN.1 (Abstract Syntax Notation One) is a standard interface
895           description language for defining data structures that can be
896           serialized and deserialized in a cross-platform way. It is
897           broadly used in telecommunications and computer networking,
898           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
899           This option enables the support of the asn1 decoder in the SPL.
900
901 config OID_REGISTRY
902         bool
903         help
904           In computing, object identifiers or OIDs are an identifier mechanism
905           standardized by the International Telecommunication Union (ITU) and
906           ISO/IEC for naming any object, concept, or "thing" with a globally
907           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
908           Enable fast lookup object identifier registry.
909
910 config SPL_OID_REGISTRY
911         bool
912         help
913           In computing, object identifiers or OIDs are an identifier mechanism
914           standardized by the International Telecommunication Union (ITU) and
915           ISO/IEC for naming any object, concept, or "thing" with a globally
916           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
917           Enable fast lookup object identifier registry in the SPL.
918
919 config SMBIOS_PARSER
920         bool "SMBIOS parser"
921         help
922           A simple parser for SMBIOS data.
923
924 source lib/efi/Kconfig
925 source lib/efi_loader/Kconfig
926 source lib/optee/Kconfig
927
928 config TEST_FDTDEC
929         bool "enable fdtdec test"
930         depends on OF_LIBFDT
931
932 config LIB_DATE
933         bool
934
935 config LIB_ELF
936         bool
937         help
938           Support basic elf loading/validating functions.
939           This supports for 32 bit and 64 bit versions.
940
941 config LMB
942         bool "Enable the logical memory blocks library (lmb)"
943         default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
944                      NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
945         help
946           Support the library logical memory blocks.
947
948 config LMB_USE_MAX_REGIONS
949         bool "Use a common number of memory and reserved regions in lmb lib"
950         depends on LMB
951         default y
952         help
953           Define the number of supported memory regions in the library logical
954           memory blocks.
955           This feature allow to reduce the lmb library size by using compiler
956           optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
957
958 config LMB_MAX_REGIONS
959         int "Number of memory and reserved regions in lmb lib"
960         depends on LMB && LMB_USE_MAX_REGIONS
961         default 8
962         help
963           Define the number of supported regions, memory and reserved, in the
964           library logical memory blocks.
965
966 config LMB_MEMORY_REGIONS
967         int "Number of memory regions in lmb lib"
968         depends on LMB && !LMB_USE_MAX_REGIONS
969         default 8
970         help
971           Define the number of supported memory regions in the library logical
972           memory blocks.
973           The minimal value is CONFIG_NR_DRAM_BANKS.
974
975 config LMB_RESERVED_REGIONS
976         int "Number of reserved regions in lmb lib"
977         depends on LMB && !LMB_USE_MAX_REGIONS
978         default 8
979         help
980           Define the number of supported reserved regions in the library logical
981           memory blocks.
982
983 endmenu
984
985 menu "FWU Multi Bank Updates"
986
987 source lib/fwu_updates/Kconfig
988
989 endmenu
This page took 0.087739 seconds and 4 git commands to generate.