]> Git Repo - J-u-boot.git/blobdiff - lib/Kconfig
lib: Add an SPL config for LIB_UUID
[J-u-boot.git] / lib / Kconfig
index 52d4b27ae516b2fd7ea28db99520358308d45f78..4278b24055467c12c61f01d9dab143ad2e98b538 100644 (file)
@@ -15,6 +15,9 @@ config SYS_NUM_ADDR_MAP
        help
          Sets the number of entries in the virtual-physical mapping table.
 
+config SYS_TIMER_COUNTS_DOWN
+       bool "System timer counts down rathe than up"
+
 config PHYSMEM
        bool "Access to physical memory region (> 4G)"
        help
@@ -52,11 +55,6 @@ config CC_OPTIMIZE_LIBS_FOR_SPEED
 
 config CHARSET
        bool
-       default y if UT_UNICODE || EFI_LOADER || UFS || EFI_APP
-       help
-         Enables support for various conversions between different
-         character sets, such as between unicode representations and
-         different 'code pages'.
 
 config DYNAMIC_CRC_TABLE
        bool "Enable Dynamic tables for CRC"
@@ -76,6 +74,57 @@ config HAVE_PRIVATE_LIBGCC
 config LIB_UUID
        bool
 
+config SPL_LIB_UUID
+       depends on SPL
+       bool
+
+config SEMIHOSTING
+       bool "Support semihosting"
+       depends on ARM || RISCV
+       help
+         Semihosting is a method for a target to communicate with a host
+         debugger. It uses special instructions which the debugger will trap
+         on and interpret. This allows U-Boot to read/write files, print to
+         the console, and execute arbitrary commands on the host system.
+
+         Enabling this option will add support for reading and writing files
+         on the host system. If you don't have a debugger attached then trying
+         to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
+
+config SEMIHOSTING_FALLBACK
+       bool "Recover gracefully when semihosting fails"
+       depends on SEMIHOSTING && (ARM64 || RISCV)
+       default y
+       help
+         Normally, if U-Boot makes a semihosting call and no debugger is
+         attached, then it will panic due to a synchronous abort
+         exception. This config adds an exception handler which will allow
+         U-Boot to recover. Say 'y' if unsure.
+
+config SPL_SEMIHOSTING
+       bool "Support semihosting in SPL"
+       depends on SPL && (ARM || RISCV)
+       help
+         Semihosting is a method for a target to communicate with a host
+         debugger. It uses special instructions which the debugger will trap
+         on and interpret. This allows U-Boot to read/write files, print to
+         the console, and execute arbitrary commands on the host system.
+
+         Enabling this option will add support for reading and writing files
+         on the host system. If you don't have a debugger attached then trying
+         to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
+
+config SPL_SEMIHOSTING_FALLBACK
+       bool "Recover gracefully when semihosting fails in SPL"
+       depends on SPL_SEMIHOSTING && (ARM64 || RISCV)
+       select ARMV8_SPL_EXCEPTION_VECTORS if ARM64
+       default y
+       help
+         Normally, if U-Boot makes a semihosting call and no debugger is
+         attached, then it will panic due to a synchronous abort
+         exception. This config adds an exception handler which will allow
+         U-Boot to recover. Say 'y' if unsure.
+
 config PRINTF
        bool
        default y
@@ -90,6 +139,11 @@ config TPL_PRINTF
        select TPL_SPRINTF
        select TPL_STRTO if !TPL_USE_TINY_PRINTF
 
+config VPL_PRINTF
+       bool
+       select VPL_SPRINTF
+       select VPL_STRTO if !VPL_USE_TINY_PRINTF
+
 config SPRINTF
        bool
        default y
@@ -100,6 +154,9 @@ config SPL_SPRINTF
 config TPL_SPRINTF
        bool
 
+config VPL_SPRINTF
+       bool
+
 config SSCANF
        bool
 
@@ -113,6 +170,9 @@ config SPL_STRTO
 config TPL_STRTO
        bool
 
+config VPL_STRTO
+       bool
+
 config IMAGE_SPARSE
        bool
 
@@ -165,6 +225,17 @@ config TPL_USE_TINY_PRINTF
 
          The supported format specifiers are %c, %s, %u/%d and %x.
 
+config VPL_USE_TINY_PRINTF
+       bool "Enable tiny printf() version for VPL"
+       depends on VPL
+       help
+         This option enables a tiny, stripped down printf version.
+         This should only be used in space limited environments,
+         like SPL versions with hard memory limits. This version
+         reduces the code size by about 2.5KiB on armv7.
+
+         The supported format specifiers are %c, %s, %u/%d and %x.
+
 config PANIC_HANG
        bool "Do not reset the system on fatal error"
        help
@@ -202,8 +273,27 @@ config LIB_HW_RAND
 
 endchoice
 
+config SUPPORT_ACPI
+       bool
+       help
+         Enable this if your arch or board can support generating ACPI
+         (Advanced Configuration and Power Interface) tables. In this case
+         U-Boot can generate these tables and pass them to the Operating
+         System.
+
+config GENERATE_ACPI_TABLE
+       bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
+       depends on SUPPORT_ACPI
+       select QFW if QEMU
+       help
+         The Advanced Configuration and Power Interface (ACPI) specification
+         provides an open standard for device configuration and management
+         by the operating system. It defines platform-independent interfaces
+         for configuration and power management monitoring.
+
 config SPL_TINY_MEMSET
        bool "Use a very small memset() in SPL"
+       depends on SPL
        help
          The faster memset() is the arch-specific one (if available) enabled
          by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
@@ -213,6 +303,7 @@ config SPL_TINY_MEMSET
 
 config TPL_TINY_MEMSET
        bool "Use a very small memset() in TPL"
+       depends on TPL
        help
          The faster memset() is the arch-specific one (if available) enabled
          by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
@@ -229,7 +320,7 @@ config BITREVERSE
 config TRACE
        bool "Support for tracing of function calls and timing"
        imply CMD_TRACE
-       select TIMER_EARLY
+       imply TIMER_EARLY
        help
          Enables function tracing within U-Boot. This allows recording of call
          traces including timing information. The command can write data to
@@ -281,7 +372,7 @@ config TRACE_EARLY_SIZE
 config TRACE_EARLY_CALL_DEPTH_LIMIT
        int "Early trace call depth limit"
        depends on TRACE_EARLY
-       default 200
+       default 15
        help
          Sets the maximum call depth up to which function calls are recorded
          during early tracing.
@@ -323,6 +414,7 @@ source lib/crypt/Kconfig
 config TPM
        bool "Trusted Platform Module (TPM) Support"
        depends on DM
+       imply DM_RNG
        help
          This enables support for TPMs which can be used to provide security
          features for your board. The TPM can be connected via LPC or I2C
@@ -334,6 +426,7 @@ config TPM
 config SPL_TPM
        bool "Trusted Platform Module (TPM) Support in SPL"
        depends on SPL_DM
+       imply SPL_CRC8
        help
          This enables support for TPMs which can be used to provide security
          features for your board. The TPM can be connected via LPC or I2C
@@ -353,6 +446,17 @@ config TPL_TPM
          for the low-level TPM interface, but only one TPM is supported at
          a time by the TPM library.
 
+config VPL_TPM
+       bool "Trusted Platform Module (TPM) Support in VPL"
+       depends on VPL_DM
+       help
+         This enables support for TPMs which can be used to provide security
+         features for your board. The TPM can be connected via LPC or I2C
+         and a sandbox TPM is provided for testing purposes. Use the 'tpm'
+         command to interactive the TPM. Driver model support is provided
+         for the low-level TPM interface, but only one TPM is supported at
+         a time by the TPM library.
+
 endmenu
 
 menu "Android Verified Boot"
@@ -479,6 +583,26 @@ config SPL_SHA_PROG_HW_ACCEL
 
 endif
 
+config VPL_SHA1
+       bool "Enable SHA1 support in VPL"
+       depends on VPL
+       default y if SHA1
+       help
+         This option enables support of hashing using SHA1 algorithm.
+         The hash is calculated in software.
+         The SHA1 algorithm produces a 160-bit (20-byte) hash value
+         (digest).
+
+config VPL_SHA256
+       bool "Enable SHA256 support in VPL"
+       depends on VPL
+       default y if SHA256
+       help
+         This option enables support of hashing using SHA256 algorithm.
+         The hash is calculated in software.
+         The SHA256 algorithm produces a 256-bit (32-byte) hash value
+         (digest).
+
 if SHA_HW_ACCEL
 
 config SHA512_HW_ACCEL
@@ -510,6 +634,7 @@ config MD5
 
 config SPL_MD5
        bool "Support MD5 algorithm in SPL"
+       depends on SPL
        help
          This option enables MD5 support in SPL. MD5 is an algorithm designed
          in 1991 that produces a 16-byte digest (or checksum) from its input
@@ -517,6 +642,23 @@ config SPL_MD5
          security applications, but it can be useful for providing a quick
          checksum of a block of data.
 
+config CRC8
+       def_bool y
+       help
+         Enables CRC8 support in U-Boot. This is normally required. CRC8 is
+         a simple and fast checksumming algorithm which does a bytewise
+         checksum with feedback to produce an 8-bit result. The code is small
+         and it does not require a lookup table (unlike CRC32).
+
+config SPL_CRC8
+       bool "Support CRC8 in SPL"
+       depends on SPL
+       help
+         Enables CRC8 support in SPL. This is not normally required. CRC8 is
+         a simple and fast checksumming algorithm which does a bytewise
+         checksum with feedback to produce an 8-bit result. The code is small
+         and it does not require a lookup table (unlike CRC32).
+
 config CRC32
        def_bool y
        help
@@ -594,8 +736,30 @@ config ZSTD
        help
          This enables Zstandard decompression library.
 
+if ZSTD
+
+config ZSTD_LIB_MINIFY
+       bool "Minify Zstandard code"
+       default y
+       help
+         This disables various optional components and changes the
+         compilation flags to prioritize space-saving.
+
+         For detailed info, see zstd's lib/README.md
+
+         https://github.com/facebook/zstd/blob/dev/lib/README.md
+
+endif
+
+config SPL_BZIP2
+       bool "Enable bzip2 decompression support for SPL build"
+       depends on SPL
+       help
+         This enables support for bzip2 compression algorithm for SPL boot.
+
 config SPL_LZ4
        bool "Enable LZ4 decompression support in SPL"
+       depends on SPL
        help
          This enables support for the LZ4 decompression algorithm in SPL. LZ4
          is a lossless data compression algorithm that is focused on
@@ -604,11 +768,19 @@ config SPL_LZ4
 
 config SPL_LZMA
        bool "Enable LZMA decompression support for SPL build"
+       depends on SPL
        help
          This enables support for LZMA compression algorithm for SPL boot.
 
+config VPL_LZMA
+       bool "Enable LZMA decompression support for VPL build"
+       default y if LZMA
+       help
+         This enables support for LZMA compression algorithm for VPL boot.
+
 config SPL_LZO
        bool "Enable LZO decompression support in SPL"
+       depends on SPL
        help
          This enables support for LZO compression algorithm in the SPL.
 
@@ -625,6 +797,7 @@ config SPL_ZLIB
 
 config SPL_ZSTD
        bool "Enable Zstandard decompression support in SPL"
+       depends on SPL
        select XXHASH
        help
          This enables Zstandard decompression library in the SPL.
@@ -684,8 +857,19 @@ config OF_LIBFDT_OVERLAY
        help
          This enables the FDT library (libfdt) overlay support.
 
+config SYS_FDT_PAD
+       hex "Maximum size of the FDT memory area passeed to the OS"
+       depends on OF_LIBFDT
+       default 0x13000 if FMAN_ENET || QE || U_QE
+       default 0x3000
+       help
+         During OS boot, we allocate a region of memory within the bootmap
+         for the FDT. This is the size that we will expand the FDT that we
+         are using will be extended to be, in bytes.
+
 config SPL_OF_LIBFDT
        bool "Enable the FDT library for SPL"
+       depends on SPL_LIBGENERIC_SUPPORT
        default y if SPL_OF_CONTROL
        help
          This enables the FDT library (libfdt). It provides functions for
@@ -696,7 +880,7 @@ config SPL_OF_LIBFDT
 
 config SPL_OF_LIBFDT_ASSUME_MASK
        hex "Mask of conditions to assume for libfdt"
-       depends on SPL_OF_LIBFDT || FIT
+       depends on SPL_OF_LIBFDT || (FIT && SPL)
        default 0xff
        help
          Use this to change the assumptions made by libfdt in SPL about the
@@ -707,6 +891,7 @@ config SPL_OF_LIBFDT_ASSUME_MASK
 
 config TPL_OF_LIBFDT
        bool "Enable the FDT library for TPL"
+       depends on TPL_LIBGENERIC_SUPPORT
        default y if TPL_OF_CONTROL
        help
          This enables the FDT library (libfdt). It provides functions for
@@ -717,7 +902,7 @@ config TPL_OF_LIBFDT
 
 config TPL_OF_LIBFDT_ASSUME_MASK
        hex "Mask of conditions to assume for libfdt"
-       depends on TPL_OF_LIBFDT || FIT
+       depends on TPL_OF_LIBFDT || (FIT && TPL)
        default 0xff
        help
          Use this to change the assumptions made by libfdt in TPL about the
@@ -726,6 +911,28 @@ config TPL_OF_LIBFDT_ASSUME_MASK
          0xff means all assumptions are made and any invalid data may cause
          unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
 
+config VPL_OF_LIBFDT
+       bool "Enable the FDT library for VPL"
+       depends on VPL
+       default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
+       help
+         This enables the FDT library (libfdt). It provides functions for
+         accessing binary device tree images in memory, such as adding and
+         removing nodes and properties, scanning through the tree and finding
+         particular compatible nodes. The library operates on a flattened
+         version of the device tree.
+
+config VPL_OF_LIBFDT_ASSUME_MASK
+       hex "Mask of conditions to assume for libfdt"
+       depends on VPL_OF_LIBFDT || (FIT && VPL)
+       default 0xff
+       help
+         Use this to change the assumptions made by libfdt in SPL about the
+         device tree it is working with. A value of 0 means that no assumptions
+         are made, and libfdt is able to deal with malicious data. A value of
+         0xff means all assumptions are made and any invalid data may cause
+         unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
+
 config FDT_FIXUP_PARTITIONS
        bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
        depends on OF_LIBFDT
@@ -773,17 +980,52 @@ endmenu
 
 config ASN1_COMPILER
        bool
+       help
+         ASN.1 (Abstract Syntax Notation One) is a standard interface
+         description language for defining data structures that can be
+         serialized and deserialized in a cross-platform way. It is
+         broadly used in telecommunications and computer networking,
+         and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
+         This option enables the support of the asn1 compiler.
 
 config ASN1_DECODER
        bool
        help
-         Enable asn1 decoder library.
+         ASN.1 (Abstract Syntax Notation One) is a standard interface
+         description language for defining data structures that can be
+         serialized and deserialized in a cross-platform way. It is
+         broadly used in telecommunications and computer networking,
+         and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
+         This option enables the support of the asn1 decoder.
+
+config SPL_ASN1_DECODER
+       bool
+       help
+         ASN.1 (Abstract Syntax Notation One) is a standard interface
+         description language for defining data structures that can be
+         serialized and deserialized in a cross-platform way. It is
+         broadly used in telecommunications and computer networking,
+         and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
+         This option enables the support of the asn1 decoder in the SPL.
 
 config OID_REGISTRY
        bool
        help
+         In computing, object identifiers or OIDs are an identifier mechanism
+         standardized by the International Telecommunication Union (ITU) and
+         ISO/IEC for naming any object, concept, or "thing" with a globally
+         unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
          Enable fast lookup object identifier registry.
 
+config SPL_OID_REGISTRY
+       bool
+       help
+         In computing, object identifiers or OIDs are an identifier mechanism
+         standardized by the International Telecommunication Union (ITU) and
+         ISO/IEC for naming any object, concept, or "thing" with a globally
+         unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
+         Enable fast lookup object identifier registry in the SPL.
+
 config SMBIOS_PARSER
        bool "SMBIOS parser"
        help
@@ -808,7 +1050,7 @@ config LIB_ELF
 
 config LMB
        bool "Enable the logical memory blocks library (lmb)"
-       default y if ARC || ARM || M68K || MICROBLAZE || MIPS || NDS32 || \
+       default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
                     NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
        help
          Support the library logical memory blocks.
@@ -826,7 +1068,7 @@ config LMB_USE_MAX_REGIONS
 config LMB_MAX_REGIONS
        int "Number of memory and reserved regions in lmb lib"
        depends on LMB && LMB_USE_MAX_REGIONS
-       default 8
+       default 16
        help
          Define the number of supported regions, memory and reserved, in the
          library logical memory blocks.
@@ -856,3 +1098,9 @@ config PHANDLE_CHECK_SEQ
          phandles in fdtdec_get_alias_seq() function.
 
 endmenu
+
+menu "FWU Multi Bank Updates"
+
+source lib/fwu_updates/Kconfig
+
+endmenu
This page took 0.035659 seconds and 4 git commands to generate.