| 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 || ARCH_IMX8ULP || ARCH_IMX9 |
| 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 |