mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-25 20:43:32 +00:00
4218456b3f
Enable the various features needed in VPL, by adding Kconfig options. Update the defconfig for sandbox_vpl so that the build for each phase includes what is needed. Drop LZMA for now and make sure partition support is omitted in SPL, since it is not needed. Signed-off-by: Simon Glass <sjg@chromium.org>
256 lines
8.4 KiB
Text
256 lines
8.4 KiB
Text
menu "VPL options"
|
|
depends on VPL
|
|
|
|
config VPL_BANNER_PRINT
|
|
bool "Enable output of the VPL banner 'U-Boot VPL ...'"
|
|
default y
|
|
help
|
|
If this option is enabled, VPL will print the banner with version
|
|
info. Disabling this option could be useful to reduce VPL boot time
|
|
(e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
|
|
|
|
config VPL_BOARD_INIT
|
|
bool "Call board-specific initialization in VPL"
|
|
help
|
|
If this option is enabled, U-Boot will call the function
|
|
spl_board_init() from board_init_r(). This function should be
|
|
provided by the board.
|
|
|
|
config VPL_CACHE
|
|
depends on CACHE
|
|
bool "Support cache drivers in VPL"
|
|
help
|
|
Enable support for cache drivers in VPL.
|
|
|
|
config VPL_CRC32
|
|
bool "Support CRC32 in VPL"
|
|
default y if VPL_ENV_SUPPORT || VPL_BLOBLIST
|
|
help
|
|
Enable this to support CRC32 in uImages or FIT images within VPL.
|
|
This is a 32-bit checksum value that can be used to verify images.
|
|
For FIT images, this is the least secure type of checksum, suitable
|
|
for detected accidental image corruption. For secure applications you
|
|
should consider SHA1 or SHA256.
|
|
|
|
config VPL_DM_SPI
|
|
bool "Support SPI DM drivers in VPL"
|
|
help
|
|
Enable support for SPI DM drivers in VPL.
|
|
|
|
config VPL_DM_SPI_FLASH
|
|
bool "Support SPI DM FLASH drivers in VPL"
|
|
help
|
|
Enable support for SPI DM flash drivers in VPL.
|
|
|
|
config VPL_FRAMEWORK
|
|
bool "Support VPL based upon the common SPL framework"
|
|
default y
|
|
help
|
|
Enable the SPL framework under common/spl/ for VPL builds.
|
|
This framework supports MMC, NAND and YMODEM and other methods
|
|
loading of U-Boot's next stage. If unsure, say Y.
|
|
|
|
config VPL_HANDOFF
|
|
bool "Pass hand-off information from VPL to SPL"
|
|
depends on HANDOFF && VPL_BLOBLIST
|
|
default y
|
|
help
|
|
This option enables VPL to write handoff information. This can be
|
|
used to pass information like the size of SDRAM from VPL to SPL. Also
|
|
VPL can receive information from TPL in the same place if that is
|
|
enabled.
|
|
|
|
config VPL_LIBCOMMON_SUPPORT
|
|
bool "Support common libraries"
|
|
default y if SPL_LIBCOMMON_SUPPORT
|
|
help
|
|
Enable support for common U-Boot libraries within VPL. See
|
|
SPL_LIBCOMMON_SUPPORT for details.
|
|
|
|
config VPL_LIBGENERIC_SUPPORT
|
|
bool "Support generic libraries"
|
|
default y if SPL_LIBGENERIC_SUPPORT
|
|
help
|
|
Enable support for generic U-Boot libraries within VPL. These
|
|
libraries include generic code to deal with device tree, hashing,
|
|
printf(), compression and the like. This option is enabled on many
|
|
boards. Enable this option to build the code in lib/ as part of a
|
|
VPL build.
|
|
|
|
config VPL_DRIVERS_MISC
|
|
bool "Support misc drivers"
|
|
default y if TPL_DRIVERS_MISC
|
|
help
|
|
Enable miscellaneous drivers in VPL. These drivers perform various
|
|
tasks that don't fall nicely into other categories, Enable this
|
|
option to build the drivers in drivers/misc as part of a VPL
|
|
build, for those that support building in VPL (not all drivers do).
|
|
|
|
config VPL_ENV_SUPPORT
|
|
bool "Support an environment"
|
|
help
|
|
Enable environment support in VPL. The U-Boot environment provides
|
|
a number of settings (essentially name/value pairs) which can
|
|
control many aspects of U-Boot's operation. Enabling this option will
|
|
make env_get() and env_set() available in VSPL.
|
|
|
|
config VPL_GPIO
|
|
bool "Support GPIO in VPL"
|
|
default y if SPL_GPIO
|
|
help
|
|
Enable support for GPIOs (General-purpose Input/Output) in VPL.
|
|
GPIOs allow U-Boot to read the state of an input line (high or
|
|
low) and set the state of an output line. This can be used to
|
|
drive LEDs, control power to various system parts and read user
|
|
input. GPIOs can be useful in VPL to enable a 'sign-of-life' LED,
|
|
for example. Enable this option to build the drivers in
|
|
drivers/gpio as part of a VPL build.
|
|
|
|
config VPL_HANDOFF
|
|
bool "Pass hand-off information from VPL to SPL and U-Boot proper"
|
|
depends on HANDOFF && VPL_BLOBLIST
|
|
default y
|
|
help
|
|
This option enables VPL to write handoff information. This can be
|
|
used to pass information like the size of SDRAM from VPL to U-Boot
|
|
proper. The information is also available to VPL if it is useful
|
|
there.
|
|
|
|
config VPL_HASH
|
|
bool "Support hashing drivers in VPL"
|
|
select SHA1
|
|
select SHA256
|
|
help
|
|
Enable hashing drivers in VPL. These drivers can be used to
|
|
accelerate secure boot processing in secure applications. Enable
|
|
this option to build system-specific drivers for hash acceleration
|
|
as part of a VPL build.
|
|
|
|
config VPL_I2C_SUPPORT
|
|
bool "Support I2C in VPL"
|
|
default y if SPL_I2C_SUPPORT
|
|
help
|
|
Enable support for the I2C bus in VPL. Vee SPL_I2C_SUPPORT for
|
|
details.
|
|
|
|
config VPL_MMC
|
|
bool "Support MMC in VPL"
|
|
depends on VPL && MMC
|
|
default y if MMC
|
|
help
|
|
Enable support for MMC (Multimedia Card) within VPL This enables
|
|
the MMC protocol implementation and allows any enabled drivers to
|
|
be used within VPL. MMC can be used with or without disk partition
|
|
support depending on the application (SPL_LIBDISK_SUPPORT). Enable
|
|
this option to build the drivers in drivers/mmc as part of an VPL
|
|
build.
|
|
|
|
config VPL_DM_MMC
|
|
bool "Enable MMC controllers using Driver Model in VPL"
|
|
depends on VPL_DM && DM_MMC
|
|
default y
|
|
help
|
|
This enables the MultiMediaCard (MMC) uclass which supports MMC and
|
|
Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
|
|
and non-removable (e.g. eMMC chip) devices are supported. These
|
|
appear as block devices in U-Boot and can support filesystems such
|
|
as EXT4 and FAT.
|
|
|
|
config VPL_MMC_WRITE
|
|
bool "MMC/SD/SDIO card support for write operations in VPL"
|
|
depends on VPL_MMC
|
|
default y
|
|
help
|
|
Enable write access to MMC and SD Cards in VPL
|
|
|
|
config VPL_PCH_SUPPORT
|
|
bool "Support PCH drivers"
|
|
default y if TPL_PCH_SUPPORT
|
|
help
|
|
Enable support for PCH (Platform Controller Hub) devices in VPL.
|
|
These are used to set up GPIOs and the SPI peripheral early in
|
|
boot. This enables the drivers in drivers/pch as part of a VPL
|
|
build.
|
|
|
|
config VPL_PCI
|
|
bool "Support PCI drivers"
|
|
default y if SPL_PCI
|
|
help
|
|
Enable support for PCI in VPL. For platforms that need PCI to boot,
|
|
or must perform some init using PCI in VPL, this provides the
|
|
necessary driver support. This enables the drivers in drivers/pci
|
|
as part of a VPL build.
|
|
|
|
config VPL_RTC
|
|
bool "Support RTC drivers"
|
|
help
|
|
Enable RTC (Real-time Clock) support in VPL. This includes support
|
|
for reading and setting the time. Some RTC devices also have some
|
|
non-volatile (battery-backed) memory which is accessible if
|
|
needed. This enables the drivers in drivers/rtc as part of a VPL
|
|
build.
|
|
|
|
config VPL_SERIAL
|
|
bool "Support serial"
|
|
default y if TPL_SERIAL
|
|
select VPL_PRINTF
|
|
select VPL_STRTO
|
|
help
|
|
Enable support for serial in VPL. See SPL_SERIAL for
|
|
details.
|
|
|
|
config VPL_SIZE_LIMIT
|
|
hex "Maximum size of VPL image"
|
|
default 0x0
|
|
help
|
|
Specifies the maximum length of the U-Boot VPL image.
|
|
If this value is zero, it is ignored.
|
|
|
|
config VPL_SPI
|
|
bool "Support SPI drivers"
|
|
help
|
|
Enable support for using SPI in VPL. See SPL_SPI_SUPPORT for
|
|
details.
|
|
|
|
config VPL_SPI_FLASH_SUPPORT
|
|
bool "Support SPI flash drivers"
|
|
help
|
|
Enable support for using SPI flash in VPL, and loading U-Boot from
|
|
SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
|
|
the SPI bus that is used to connect it to a system. It is a simple
|
|
but fast bidirectional 4-wire bus (clock, chip select and two data
|
|
lines). This enables the drivers in drivers/mtd/spi as part of a
|
|
VPL build. This normally requires VPL_SPI_SUPPORT.
|
|
|
|
config VPL_TEXT_BASE
|
|
hex "VPL Text Base"
|
|
default 0x0
|
|
help
|
|
The address in memory that VPL will be running from.
|
|
|
|
config VPL_BINMAN_SYMBOLS
|
|
bool "Declare binman symbols in VPL"
|
|
depends on VPL_FRAMEWORK && BINMAN
|
|
default y
|
|
help
|
|
This enables use of symbols in VPL which refer to other entries in
|
|
the same binman image as the VPL. These can be declared with the
|
|
binman_sym_declare(type, entry, prop) macro and accessed by the
|
|
binman_sym(type, entry, prop) macro defined in binman_sym.h.
|
|
|
|
See tools/binman/binman.rst for a detailed explanation.
|
|
|
|
config VPL_BINMAN_UBOOT_SYMBOLS
|
|
bool "Declare binman symbols for U-Boot phases in VPL"
|
|
depends on VPL_BINMAN_SYMBOLS
|
|
default n if ARCH_IMX8M
|
|
default y
|
|
help
|
|
This enables use of symbols in VPL which refer to U-Boot phases,
|
|
enabling VPL to obtain the location and size of its next phase simply
|
|
by calling spl_get_image_pos() and spl_get_image_size().
|
|
|
|
For this to work, you must have all U-Boot phases in the same binman
|
|
image, so binman can update VPL with the locations of everything.
|
|
|
|
endmenu
|