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
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"
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
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
config TPL_SPRINTF
bool
+config VPL_SPRINTF
+ bool
+
config SSCANF
bool
config TPL_STRTO
bool
+config VPL_STRTO
+ bool
+
config IMAGE_SPARSE
bool
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
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
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
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
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.
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
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
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"
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
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
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
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
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.
config SPL_ZSTD
bool "Enable Zstandard decompression support in SPL"
+ depends on SPL
select XXHASH
help
This enables Zstandard decompression library in the SPL.
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
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
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
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
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
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
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.
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.
phandles in fdtdec_get_alias_seq() function.
endmenu
+
+menu "FWU Multi Bank Updates"
+
+source lib/fwu_updates/Kconfig
+
+endmenu