mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-27 07:01:24 +00:00
751897301d
Introduce CONFIG_XEN to make U-Boot could be used as bootloader for a virtual machine. Without bootloader, we could successfully boot up android on XEN, but we need need bootloader to support A/B, dm verify and etc. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
785 lines
26 KiB
Text
785 lines
26 KiB
Text
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file Documentation/kbuild/kconfig-language.txt in the
|
|
# Linux kernel source tree.
|
|
#
|
|
mainmenu "U-Boot $(UBOOTVERSION) Configuration"
|
|
|
|
comment "Compiler: $(CC_VERSION_TEXT)"
|
|
|
|
source "scripts/Kconfig.include"
|
|
|
|
# Allow defaults in arch-specific code to override any given here
|
|
source "arch/Kconfig"
|
|
|
|
menu "General setup"
|
|
|
|
config BROKEN
|
|
bool
|
|
help
|
|
This option cannot be enabled. It is used as dependency
|
|
for broken and incomplete features.
|
|
|
|
config DEPRECATED
|
|
bool
|
|
help
|
|
This option cannot be enabled. It it used as a dependency for
|
|
code that relies on deprecated features that will be removed and
|
|
the conversion deadline has passed.
|
|
|
|
config LOCALVERSION
|
|
string "Local version - append to U-Boot release"
|
|
help
|
|
Append an extra string to the end of your U-Boot version.
|
|
This will show up in your boot log, for example.
|
|
The string you set here will be appended after the contents of
|
|
any files with a filename matching localversion* in your
|
|
object and source tree, in that order. Your total string can
|
|
be a maximum of 64 characters.
|
|
|
|
config LOCALVERSION_AUTO
|
|
bool "Automatically append version information to the version string"
|
|
default y
|
|
help
|
|
This will try to automatically determine if the current tree is a
|
|
release tree by looking for Git tags that belong to the current
|
|
top of tree revision.
|
|
|
|
A string of the format -gxxxxxxxx will be added to the localversion
|
|
if a Git-based tree is found. The string generated by this will be
|
|
appended after any matching localversion* files, and after the value
|
|
set in CONFIG_LOCALVERSION.
|
|
|
|
(The actual string used here is the first eight characters produced
|
|
by running the command:
|
|
|
|
$ git rev-parse --verify HEAD
|
|
|
|
which is done within the script "scripts/setlocalversion".)
|
|
|
|
config CC_OPTIMIZE_FOR_SIZE
|
|
bool "Optimize for size"
|
|
default y
|
|
help
|
|
Enabling this option will pass "-Os" instead of "-O2" to gcc
|
|
resulting in a smaller U-Boot image.
|
|
|
|
This option is enabled by default for U-Boot.
|
|
|
|
config OPTIMIZE_INLINING
|
|
bool "Allow compiler to uninline functions marked 'inline' in full U-Boot"
|
|
default n
|
|
help
|
|
This option determines if U-Boot forces gcc to inline the functions
|
|
developers have marked 'inline'. Doing so takes away freedom from gcc to
|
|
do what it thinks is best, which is desirable in some cases for size
|
|
reasons.
|
|
|
|
config SPL_OPTIMIZE_INLINING
|
|
bool "Allow compiler to uninline functions marked 'inline' in SPL"
|
|
depends on SPL
|
|
default n
|
|
help
|
|
This option determines if U-Boot forces gcc to inline the functions
|
|
developers have marked 'inline'. Doing so takes away freedom from gcc to
|
|
do what it thinks is best, which is desirable in some cases for size
|
|
reasons.
|
|
|
|
config TPL_OPTIMIZE_INLINING
|
|
bool "Allow compiler to uninline functions marked 'inline' in TPL"
|
|
depends on TPL
|
|
default n
|
|
help
|
|
This option determines if U-Boot forces gcc to inline the functions
|
|
developers have marked 'inline'. Doing so takes away freedom from gcc to
|
|
do what it thinks is best, which is desirable in some cases for size
|
|
reasons.
|
|
|
|
config CC_COVERAGE
|
|
bool "Enable code coverage analysis"
|
|
depends on SANDBOX
|
|
help
|
|
Enabling this option will pass "--coverage" to gcc to compile
|
|
and link code instrumented for coverage analysis.
|
|
|
|
config CC_HAS_ASM_INLINE
|
|
def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
|
|
|
|
config XEN
|
|
bool "Select U-Boot be run as a bootloader for XEN Virtual Machine"
|
|
help
|
|
Enabling this option will make U-Boot be run as a bootloader
|
|
for XEN [1] Virtual Machine.
|
|
|
|
Xen is a virtual machine monitor (VMM) or a type-1 hypervisor with support
|
|
for para-virtualization. Xen can organize the safe execution of several
|
|
virtual machines on the same physical system with performance close to
|
|
native. It is used as the basis for a number of different commercial and
|
|
open source applications, such as: server virtualization, Infrastructure
|
|
as a Service (IaaS), desktop virtualization, security applications,
|
|
embedded and hardware appliances.
|
|
Xen has a special VM called Domain-0 that runs the Dom0 kernel and allows
|
|
Xen to use the device drivers for the Domain-0 kernel by default.
|
|
|
|
[1] - https://xenproject.org/
|
|
|
|
config DISTRO_DEFAULTS
|
|
bool "Select defaults suitable for booting general purpose Linux distributions"
|
|
select AUTO_COMPLETE
|
|
select CMDLINE_EDITING
|
|
select CMD_BOOTI if ARM64
|
|
select CMD_BOOTZ if ARM && !ARM64
|
|
select CMD_DHCP if CMD_NET
|
|
select CMD_ENV_EXISTS
|
|
select CMD_EXT2
|
|
select CMD_EXT4
|
|
select CMD_FAT
|
|
select CMD_FS_GENERIC
|
|
select CMD_PART if PARTITIONS
|
|
select CMD_PING if CMD_NET
|
|
select CMD_PXE if NET
|
|
select CMD_SYSBOOT
|
|
select ENV_VARS_UBOOT_CONFIG
|
|
select HUSH_PARSER
|
|
select SUPPORT_RAW_INITRD
|
|
select SYS_LONGHELP
|
|
imply CMD_MII if NET
|
|
imply USB_STORAGE
|
|
imply USE_BOOTCOMMAND
|
|
help
|
|
Select this to enable various options and commands which are suitable
|
|
for building u-boot for booting general purpose Linux distributions.
|
|
|
|
config ENV_VARS_UBOOT_CONFIG
|
|
bool "Add arch, board, vendor and soc variables to default environment"
|
|
help
|
|
Define this in order to add variables describing the
|
|
U-Boot build configuration to the default environment.
|
|
These will be named arch, cpu, board, vendor, and soc.
|
|
Enabling this option will cause the following to be defined:
|
|
- CONFIG_SYS_ARCH
|
|
- CONFIG_SYS_CPU
|
|
- CONFIG_SYS_BOARD
|
|
- CONFIG_SYS_VENDOR
|
|
- CONFIG_SYS_SOC
|
|
|
|
config NR_DRAM_BANKS
|
|
int "Number of DRAM banks"
|
|
default 1 if ARCH_SUNXI || ARCH_OWL
|
|
default 4
|
|
help
|
|
This defines the number of DRAM banks.
|
|
|
|
config SYS_BOOT_GET_CMDLINE
|
|
bool "Enable kernel command line setup"
|
|
help
|
|
Enables allocating and saving kernel cmdline in space between
|
|
"bootm_low" and "bootm_low" + BOOTMAPSZ.
|
|
|
|
config SYS_BOOT_GET_KBD
|
|
bool "Enable kernel board information setup"
|
|
help
|
|
Enables allocating and saving a kernel copy of the bd_info in
|
|
space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
|
|
|
|
config SYS_MALLOC_F
|
|
bool "Enable malloc() pool before relocation"
|
|
default y if DM
|
|
|
|
help
|
|
Before relocation, memory is very limited on many platforms. Still,
|
|
we can provide a small malloc() pool if needed. Driver model in
|
|
particular needs this to operate, so that it can allocate the
|
|
initial serial device and any others that are needed.
|
|
|
|
config SYS_MALLOC_F_LEN
|
|
hex "Size of malloc() pool before relocation"
|
|
depends on SYS_MALLOC_F
|
|
default 0x1000 if AM33XX
|
|
default 0x2800 if SANDBOX
|
|
default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
|
|
ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \
|
|
ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
|
|
ARCH_LS1046A || ARCH_QEMU)
|
|
default 0x400
|
|
help
|
|
Before relocation, memory is very limited on many platforms. Still,
|
|
we can provide a small malloc() pool if needed. Driver model in
|
|
particular needs this to operate, so that it can allocate the
|
|
initial serial device and any others that are needed.
|
|
|
|
config SYS_MALLOC_LEN
|
|
hex "Define memory for Dynamic allocation"
|
|
depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP || ARCH_ROCKCHIP
|
|
default 0x2000000 if ARCH_ROCKCHIP
|
|
help
|
|
This defines memory to be allocated for Dynamic allocation
|
|
TODO: Use for other architectures
|
|
|
|
config SPL_SYS_MALLOC_F_LEN
|
|
hex "Size of malloc() pool in SPL before relocation"
|
|
depends on SYS_MALLOC_F && SPL
|
|
default 0x2800 if RCAR_GEN3
|
|
default SYS_MALLOC_F_LEN
|
|
help
|
|
Before relocation, memory is very limited on many platforms. Still,
|
|
we can provide a small malloc() pool if needed. Driver model in
|
|
particular needs this to operate, so that it can allocate the
|
|
initial serial device and any others that are needed.
|
|
|
|
config TPL_SYS_MALLOC_F_LEN
|
|
hex "Size of malloc() pool in TPL before relocation"
|
|
depends on SYS_MALLOC_F && TPL
|
|
default SYS_MALLOC_F_LEN
|
|
help
|
|
Before relocation, memory is very limited on many platforms. Still,
|
|
we can provide a small malloc() pool if needed. Driver model in
|
|
particular needs this to operate, so that it can allocate the
|
|
initial serial device and any others that are needed.
|
|
|
|
menuconfig EXPERT
|
|
bool "Configure standard U-Boot features (expert users)"
|
|
default y
|
|
help
|
|
This option allows certain base U-Boot options and settings
|
|
to be disabled or tweaked. This is for specialized
|
|
environments which can tolerate a "non-standard" U-Boot.
|
|
Use this only if you really know what you are doing.
|
|
|
|
if EXPERT
|
|
config SYS_MALLOC_CLEAR_ON_INIT
|
|
bool "Init with zeros the memory reserved for malloc (slow)"
|
|
default y
|
|
help
|
|
This setting is enabled by default. The reserved malloc
|
|
memory is initialized with zeros, so first malloc calls
|
|
will return the pointer to the zeroed memory. But this
|
|
slows the boot time.
|
|
|
|
It is recommended to disable it, when CONFIG_SYS_MALLOC_LEN
|
|
value, has more than few MiB, e.g. when uses bzip2 or bmp logo.
|
|
Then the boot time can be significantly reduced.
|
|
Warning:
|
|
When disabling this, please check if malloc calls, maybe
|
|
should be replaced by calloc - if one expects zeroed memory.
|
|
|
|
config SYS_MALLOC_DEFAULT_TO_INIT
|
|
bool "Default malloc to init while reserving the memory for it"
|
|
default n
|
|
help
|
|
It may happen that one needs to move the dynamic allocation
|
|
from one to another memory range, eg. when moving the malloc
|
|
from the limited static to a potentially large dynamic (DDR)
|
|
memory.
|
|
|
|
If so then on top of setting the updated memory aside one
|
|
needs to bring the malloc init.
|
|
|
|
If such a scenario is sought choose yes.
|
|
|
|
config TOOLS_DEBUG
|
|
bool "Enable debug information for tools"
|
|
help
|
|
Enable generation of debug information for tools such as mkimage.
|
|
This can be used for debugging purposes. With debug information
|
|
it is possible to set breakpoints on particular lines, single-step
|
|
debug through the source code, etc.
|
|
|
|
endif # EXPERT
|
|
|
|
config PHYS_64BIT
|
|
bool "64bit physical address support"
|
|
help
|
|
Say Y here to support 64bit physical memory address.
|
|
This can be used not only for 64bit SoCs, but also for
|
|
large physical address extension on 32bit SoCs.
|
|
|
|
config HAS_ROM
|
|
bool
|
|
select BINMAN
|
|
help
|
|
Enables building of a u-boot.rom target. This collects U-Boot and
|
|
any necessary binary blobs.
|
|
|
|
config ROM_NEEDS_BLOBS
|
|
bool
|
|
depends on HAS_ROM
|
|
help
|
|
Enable this if building the u-boot.rom target needs binary blobs, and
|
|
so cannot be done normally. In this case, U-Boot will only build the
|
|
ROM if the required blobs exist. If not, you will see an warning like:
|
|
|
|
Image 'main-section' is missing external blobs and is non-functional:
|
|
intel-descriptor intel-me intel-refcode intel-vga intel-mrc
|
|
|
|
config BUILD_ROM
|
|
bool "Build U-Boot as BIOS replacement"
|
|
depends on HAS_ROM
|
|
default y if !ROM_NEEDS_BLOBS
|
|
help
|
|
This option allows to build a ROM version of U-Boot.
|
|
The build process generally requires several binary blobs
|
|
which are not shipped in the U-Boot source tree.
|
|
Please, see doc/arch/x86.rst for details.
|
|
|
|
config SPL_IMAGE
|
|
string "SPL image used in the combined SPL+U-Boot image"
|
|
default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
|
|
default "spl/u-boot-spl.bin"
|
|
depends on SPL
|
|
help
|
|
Select the SPL build target that shall be generated by the SPL
|
|
build process (default spl/u-boot-spl.bin). This image will be
|
|
used to generate a combined image with SPL and main U-Boot
|
|
proper as one single image.
|
|
|
|
config BUILD_TARGET
|
|
string "Build target special images"
|
|
default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10
|
|
default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
|
|
default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
|
|
default "u-boot-elf.srec" if RCAR_GEN3
|
|
default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
|
|
ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
|
|
default "u-boot.kwb" if ARCH_KIRKWOOD
|
|
default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
|
|
default "u-boot-with-spl.imx" if ARCH_MX6 && SPL
|
|
help
|
|
Some SoCs need special image types (e.g. U-Boot binary
|
|
with a special header) as build targets. By defining
|
|
CONFIG_BUILD_TARGET in the SoC / board header, this
|
|
special image will be automatically built upon calling
|
|
make / buildman.
|
|
|
|
config SYS_CUSTOM_LDSCRIPT
|
|
bool "Use a custom location for the U-Boot linker script"
|
|
help
|
|
Normally when linking U-Boot we will look in the board directory,
|
|
the CPU directory and finally the "cpu" directory of the architecture
|
|
for the ile "u-boot.lds" and use that as our linker. However, in
|
|
some cases we need to provide a different linker script. To do so,
|
|
enable this option and then provide the location under
|
|
CONFIG_SYS_LDSCRIPT.
|
|
|
|
config SYS_LDSCRIPT
|
|
depends on SYS_CUSTOM_LDSCRIPT
|
|
string "Custom ldscript location"
|
|
help
|
|
Path within the source tree to the linker script to use for the
|
|
main U-Boot binary.
|
|
|
|
config ERR_PTR_OFFSET
|
|
hex
|
|
default 0x0
|
|
help
|
|
Some U-Boot pointers have redundant information, so we can use a
|
|
scheme where we can return either an error code or a pointer with the
|
|
same return value. The default implementation just casts the pointer
|
|
to a number, however, this may fail on platforms where the end of the
|
|
address range is used for valid pointers (e.g. 0xffffff00 is a valid
|
|
heap pointer in socfpga SPL).
|
|
For such platforms, this value provides an upper range of those error
|
|
pointer values - up to 'MAX_ERRNO' bytes below this value must be
|
|
unused/invalid addresses.
|
|
|
|
config PLATFORM_ELFENTRY
|
|
string
|
|
default "__start" if MIPS
|
|
default "_start"
|
|
|
|
config STACK_SIZE
|
|
hex "Define max stack size that can be used by U-Boot"
|
|
default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
|
|
default 0x200000 if MICROBLAZE
|
|
default 0x1000000
|
|
help
|
|
Define Max stack size that can be used by U-Boot. This value is used
|
|
by the UEFI sub-system. On some boards initrd_high is calculated as
|
|
base stack pointer minus this stack size.
|
|
|
|
config SYS_HAS_SRAM
|
|
bool
|
|
default y if TARGET_PIC32MZDASK
|
|
default y if TARGET_DEVKIT8000
|
|
default y if TARGET_TRICORDER
|
|
default n
|
|
help
|
|
Enable this to allow support for the on board SRAM.
|
|
SRAM base address is controlled by CONFIG_SYS_SRAM_BASE.
|
|
SRAM size is controlled by CONFIG_SYS_SRAM_SIZE.
|
|
|
|
config SYS_SRAM_BASE
|
|
hex
|
|
default 0x80000000 if TARGET_PIC32MZDASK
|
|
default 0x40200000 if TARGET_DEVKIT8000
|
|
default 0x40200000 if TARGET_TRICORDER
|
|
default 0x0
|
|
|
|
config SYS_SRAM_SIZE
|
|
hex
|
|
default 0x00080000 if TARGET_PIC32MZDASK
|
|
default 0x10000 if TARGET_DEVKIT8000
|
|
default 0x10000 if TARGET_TRICORDER
|
|
default 0x0
|
|
|
|
endmenu # General setup
|
|
|
|
menu "Boot images"
|
|
|
|
config ANDROID_BOOT_IMAGE
|
|
bool "Enable support for Android Boot Images"
|
|
default y if FASTBOOT
|
|
help
|
|
This enables support for booting images which use the Android
|
|
image format header.
|
|
|
|
config FIT
|
|
bool "Support Flattened Image Tree"
|
|
select MD5
|
|
select SHA1
|
|
help
|
|
This option allows you to boot the new uImage structure,
|
|
Flattened Image Tree. FIT is formally a FDT, which can include
|
|
images of various types (kernel, FDT blob, ramdisk, etc.)
|
|
in a single blob. To boot this new uImage structure,
|
|
pass the address of the blob to the "bootm" command.
|
|
FIT is very flexible, supporting compression, multiple images,
|
|
multiple configurations, verification through hashing and also
|
|
verified boot (secure boot using RSA).
|
|
|
|
if FIT
|
|
|
|
config FIT_EXTERNAL_OFFSET
|
|
hex "FIT external data offset"
|
|
default 0x0
|
|
help
|
|
This specifies a data offset in fit image.
|
|
The offset is from data payload offset to the beginning of
|
|
fit image header. When specifies a offset, specific data
|
|
could be put in the hole between data payload and fit image
|
|
header, such as CSF data on i.MX platform.
|
|
|
|
config FIT_ENABLE_SHA256_SUPPORT
|
|
bool "Support SHA256 checksum of FIT image contents"
|
|
default y
|
|
select SHA256
|
|
help
|
|
Enable this to support SHA256 checksum of FIT image contents. A
|
|
SHA256 checksum is a 256-bit (32-byte) hash value used to check that
|
|
the image contents have not been corrupted.
|
|
|
|
config FIT_ENABLE_SHA384_SUPPORT
|
|
bool "Support SHA384 checksum of FIT image contents"
|
|
default n
|
|
select SHA384
|
|
help
|
|
Enable this to support SHA384 checksum of FIT image contents. A
|
|
SHA384 checksum is a 384-bit (48-byte) hash value used to check that
|
|
the image contents have not been corrupted. Use this for the highest
|
|
security.
|
|
|
|
config FIT_ENABLE_SHA512_SUPPORT
|
|
bool "Support SHA512 checksum of FIT image contents"
|
|
default n
|
|
select SHA512
|
|
help
|
|
Enable this to support SHA512 checksum of FIT image contents. A
|
|
SHA512 checksum is a 512-bit (64-byte) hash value used to check that
|
|
the image contents have not been corrupted.
|
|
|
|
config FIT_SIGNATURE
|
|
bool "Enable signature verification of FIT uImages"
|
|
depends on DM
|
|
select HASH
|
|
select RSA
|
|
select RSA_VERIFY
|
|
select IMAGE_SIGN_INFO
|
|
help
|
|
This option enables signature verification of FIT uImages,
|
|
using a hash signed and verified using RSA. If
|
|
CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
|
|
hashing is available using hardware, then the RSA library will use
|
|
it. See doc/uImage.FIT/signature.txt for more details.
|
|
|
|
WARNING: When relying on signed FIT images with a required signature
|
|
check the legacy image format is disabled by default, so that
|
|
unsigned images cannot be loaded. If a board needs the legacy image
|
|
format support in this case, enable it using
|
|
CONFIG_LEGACY_IMAGE_FORMAT.
|
|
|
|
config FIT_SIGNATURE_MAX_SIZE
|
|
hex "Max size of signed FIT structures"
|
|
depends on FIT_SIGNATURE
|
|
default 0x10000000
|
|
help
|
|
This option sets a max size in bytes for verified FIT uImages.
|
|
A sane value of 256MB protects corrupted DTB structures from overlapping
|
|
device memory. Assure this size does not extend past expected storage
|
|
space.
|
|
|
|
config FIT_ENABLE_RSASSA_PSS_SUPPORT
|
|
bool "Support rsassa-pss signature scheme of FIT image contents"
|
|
depends on FIT_SIGNATURE
|
|
default n
|
|
help
|
|
Enable this to support the pss padding algorithm as described
|
|
in the rfc8017 (https://tools.ietf.org/html/rfc8017).
|
|
|
|
config FIT_CIPHER
|
|
bool "Enable ciphering data in a FIT uImages"
|
|
depends on DM
|
|
select AES
|
|
help
|
|
Enable the feature of data ciphering/unciphering in the tool mkimage
|
|
and in the u-boot support of the FIT image.
|
|
|
|
config FIT_VERBOSE
|
|
bool "Show verbose messages when FIT images fail"
|
|
help
|
|
Generally a system will have valid FIT images so debug messages
|
|
are a waste of code space. If you are debugging your images then
|
|
you can enable this option to get more verbose information about
|
|
failures.
|
|
|
|
config FIT_BEST_MATCH
|
|
bool "Select the best match for the kernel device tree"
|
|
help
|
|
When no configuration is explicitly selected, default to the
|
|
one whose fdt's compatibility field best matches that of
|
|
U-Boot itself. A match is considered "best" if it matches the
|
|
most specific compatibility entry of U-Boot's fdt's root node.
|
|
The order of entries in the configuration's fdt is ignored.
|
|
|
|
config FIT_IMAGE_POST_PROCESS
|
|
bool "Enable post-processing of FIT artifacts after loading by U-Boot"
|
|
depends on TI_SECURE_DEVICE
|
|
help
|
|
Allows doing any sort of manipulation to blobs after they got extracted
|
|
from FIT images like stripping off headers or modifying the size of the
|
|
blob, verification, authentication, decryption etc. in a platform or
|
|
board specific way. In order to use this feature a platform or board-
|
|
specific implementation of board_fit_image_post_process() must be
|
|
provided. Also, anything done during this post-processing step would
|
|
need to be comprehended in how the images were prepared before being
|
|
injected into the FIT creation (i.e. the blobs would have been pre-
|
|
processed before being added to the FIT image).
|
|
|
|
if SPL
|
|
|
|
config SPL_FIT
|
|
bool "Support Flattened Image Tree within SPL"
|
|
depends on SPL
|
|
select SPL_OF_LIBFDT
|
|
|
|
config SPL_FIT_PRINT
|
|
bool "Support FIT printing within SPL"
|
|
depends on SPL_FIT
|
|
help
|
|
Support printing the content of the fitImage in a verbose manner in SPL.
|
|
|
|
config SPL_FIT_SIGNATURE
|
|
bool "Enable signature verification of FIT firmware within SPL"
|
|
depends on SPL_DM
|
|
select SPL_FIT
|
|
select SPL_CRYPTO_SUPPORT
|
|
select SPL_HASH_SUPPORT
|
|
select SPL_RSA
|
|
select SPL_RSA_VERIFY
|
|
select SPL_IMAGE_SIGN_INFO
|
|
|
|
config SPL_LOAD_FIT
|
|
bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
|
|
select SPL_FIT
|
|
help
|
|
Normally with the SPL framework a legacy image is generated as part
|
|
of the build. This contains U-Boot along with information as to
|
|
where it should be loaded. This option instead enables generation
|
|
of a FIT (Flat Image Tree) which provides more flexibility. In
|
|
particular it can handle selecting from multiple device tree
|
|
and passing the correct one to U-Boot.
|
|
|
|
config SPL_LOAD_FIT_ADDRESS
|
|
hex "load address of fit image"
|
|
depends on SPL_LOAD_FIT
|
|
default 0x0
|
|
help
|
|
Specify the load address of the fit image that will be loaded
|
|
by SPL.
|
|
|
|
config SPL_LOAD_FIT_APPLY_OVERLAY
|
|
bool "Enable SPL applying DT overlays from FIT"
|
|
depends on SPL_LOAD_FIT
|
|
select OF_LIBFDT_OVERLAY
|
|
help
|
|
The device tree is loaded from the FIT image. Allow the SPL is to
|
|
also load device-tree overlays from the FIT image an apply them
|
|
over the device tree.
|
|
|
|
config SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
|
|
depends on SPL_LOAD_FIT_APPLY_OVERLAY
|
|
default 0x10000
|
|
hex "size of temporary buffer used to load the overlays"
|
|
help
|
|
The size of the area where the overlays will be loaded and
|
|
uncompress. Must be at least as large as biggest overlay
|
|
(uncompressed)
|
|
|
|
config SPL_LOAD_FIT_FULL
|
|
bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
|
|
select SPL_FIT
|
|
help
|
|
Normally with the SPL framework a legacy image is generated as part
|
|
of the build. This contains U-Boot along with information as to
|
|
where it should be loaded. This option instead enables generation
|
|
of a FIT (Flat Image Tree) which provides more flexibility. In
|
|
particular it can handle selecting from multiple device tree
|
|
and passing the correct one to U-Boot.
|
|
|
|
config SPL_FIT_IMAGE_POST_PROCESS
|
|
bool "Enable post-processing of FIT artifacts after loading by the SPL"
|
|
depends on SPL_LOAD_FIT
|
|
help
|
|
Allows doing any sort of manipulation to blobs after they got extracted
|
|
from the U-Boot FIT image like stripping off headers or modifying the
|
|
size of the blob, verification, authentication, decryption etc. in a
|
|
platform or board specific way. In order to use this feature a platform
|
|
or board-specific implementation of board_fit_image_post_process() must
|
|
be provided. Also, anything done during this post-processing step would
|
|
need to be comprehended in how the images were prepared before being
|
|
injected into the FIT creation (i.e. the blobs would have been pre-
|
|
processed before being added to the FIT image).
|
|
|
|
config SPL_FIT_SOURCE
|
|
string ".its source file for U-Boot FIT image"
|
|
depends on SPL_FIT
|
|
help
|
|
Specifies a (platform specific) FIT source file to generate the
|
|
U-Boot FIT image. This could specify further image to load and/or
|
|
execute.
|
|
|
|
config USE_SPL_FIT_GENERATOR
|
|
bool "Use a script to generate the .its script"
|
|
default y if SPL_FIT
|
|
|
|
config SPL_FIT_GENERATOR
|
|
string ".its file generator script for U-Boot FIT image"
|
|
depends on USE_SPL_FIT_GENERATOR
|
|
default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
|
|
default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
|
|
default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
|
|
default "arch/riscv/lib/mkimage_fit_opensbi.sh" if SPL_LOAD_FIT && RISCV
|
|
help
|
|
Specifies a (platform specific) script file to generate the FIT
|
|
source file used to build the U-Boot FIT image file. This gets
|
|
passed a list of supported device tree file stub names to
|
|
include in the generated image.
|
|
|
|
endif # SPL
|
|
|
|
endif # FIT
|
|
|
|
config LEGACY_IMAGE_FORMAT
|
|
bool "Enable support for the legacy image format"
|
|
default y if !FIT_SIGNATURE
|
|
help
|
|
This option enables the legacy image format. It is enabled by
|
|
default for backward compatibility, unless FIT_SIGNATURE is
|
|
set where it is disabled so that unsigned images cannot be
|
|
loaded. If a board needs the legacy image format support in this
|
|
case, enable it here.
|
|
|
|
config OF_BOARD_SETUP
|
|
bool "Set up board-specific details in device tree before boot"
|
|
depends on OF_LIBFDT
|
|
help
|
|
This causes U-Boot to call ft_board_setup() before booting into
|
|
the Operating System. This function can set up various
|
|
board-specific information in the device tree for use by the OS.
|
|
The device tree is then passed to the OS.
|
|
|
|
config OF_SYSTEM_SETUP
|
|
bool "Set up system-specific details in device tree before boot"
|
|
depends on OF_LIBFDT
|
|
help
|
|
This causes U-Boot to call ft_system_setup() before booting into
|
|
the Operating System. This function can set up various
|
|
system-specific information in the device tree for use by the OS.
|
|
The device tree is then passed to the OS.
|
|
|
|
config OF_STDOUT_VIA_ALIAS
|
|
bool "Update the device-tree stdout alias from U-Boot"
|
|
depends on OF_LIBFDT
|
|
help
|
|
This uses U-Boot's serial alias from the aliases node to update
|
|
the device tree passed to the OS. The "linux,stdout-path" property
|
|
in the chosen node is set to point to the correct serial node.
|
|
This option currently references CONFIG_CONS_INDEX, which is
|
|
incorrect when used with device tree as this option does not
|
|
exist / should not be used.
|
|
|
|
config SYS_EXTRA_OPTIONS
|
|
string "Extra Options (DEPRECATED)"
|
|
help
|
|
The old configuration infrastructure (= mkconfig + boards.cfg)
|
|
provided the extra options field. If you have something like
|
|
"HAS_BAR,BAZ=64", the optional options
|
|
#define CONFIG_HAS
|
|
#define CONFIG_BAZ 64
|
|
will be defined in include/config.h.
|
|
This option was prepared for the smooth migration from the old
|
|
configuration to Kconfig. Since this option will be removed sometime,
|
|
new boards should not use this option.
|
|
|
|
config HAVE_SYS_TEXT_BASE
|
|
bool
|
|
depends on !NIOS2 && !XTENSA
|
|
depends on !EFI_APP
|
|
default y
|
|
|
|
config SYS_TEXT_BASE
|
|
depends on HAVE_SYS_TEXT_BASE
|
|
default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
|
|
default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
|
|
default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
|
|
default 0x42e00000 if ARCH_SUNXI && MACH_SUN8I_V3S
|
|
hex "Text Base"
|
|
help
|
|
The address in memory that U-Boot will be running from, initially.
|
|
|
|
config SYS_CLK_FREQ
|
|
depends on ARC || ARCH_SUNXI || MPC83xx
|
|
int "CPU clock frequency"
|
|
help
|
|
TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
|
|
|
|
config ARCH_FIXUP_FDT_MEMORY
|
|
bool "Enable arch_fixup_memory_banks() call"
|
|
default y
|
|
help
|
|
Enable FDT memory map syncup before OS boot. This feature can be
|
|
used for booting OS with different memory setup where the part of
|
|
the memory location should be used for different purpose.
|
|
|
|
endmenu # Boot images
|
|
|
|
source "api/Kconfig"
|
|
|
|
source "common/Kconfig"
|
|
|
|
source "cmd/Kconfig"
|
|
|
|
source "disk/Kconfig"
|
|
|
|
source "dts/Kconfig"
|
|
|
|
source "env/Kconfig"
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
source "test/Kconfig"
|