1menu "VPL options" 2 depends on VPL 3 4config VPL_BANNER_PRINT 5 bool "Enable output of the VPL banner 'U-Boot VPL ...'" 6 default y 7 help 8 If this option is enabled, VPL will print the banner with version 9 info. Disabling this option could be useful to reduce VPL boot time 10 (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud). 11 12config VPL_BOARD_INIT 13 bool "Call board-specific initialization in VPL" 14 help 15 If this option is enabled, U-Boot will call the function 16 spl_board_init() from board_init_r(). This function should be 17 provided by the board. 18 19config VPL_CACHE 20 depends on CACHE 21 bool "Support cache drivers in VPL" 22 help 23 Enable support for cache drivers in VPL. 24 25config VPL_CRC32 26 bool "Support CRC32 in VPL" 27 default y if VPL_ENV_SUPPORT || VPL_BLOBLIST 28 help 29 Enable this to support CRC32 in uImages or FIT images within VPL. 30 This is a 32-bit checksum value that can be used to verify images. 31 For FIT images, this is the least secure type of checksum, suitable 32 for detected accidental image corruption. For secure applications you 33 should consider SHA1 or SHA256. 34 35config VPL_DM_SPI 36 bool "Support SPI DM drivers in VPL" 37 help 38 Enable support for SPI DM drivers in VPL. 39 40config VPL_DM_SPI_FLASH 41 bool "Support SPI DM FLASH drivers in VPL" 42 help 43 Enable support for SPI DM flash drivers in VPL. 44 45config VPL_FRAMEWORK 46 bool "Support VPL based upon the common SPL framework" 47 default y 48 help 49 Enable the SPL framework under common/spl/ for VPL builds. 50 This framework supports MMC, NAND and YMODEM and other methods 51 loading of U-Boot's next stage. If unsure, say Y. 52 53config VPL_HANDOFF 54 bool "Pass hand-off information from VPL to SPL" 55 depends on HANDOFF && VPL_BLOBLIST 56 default y 57 help 58 This option enables VPL to write handoff information. This can be 59 used to pass information like the size of SDRAM from VPL to SPL. Also 60 VPL can receive information from TPL in the same place if that is 61 enabled. 62 63config VPL_LIBCOMMON_SUPPORT 64 bool "Support common libraries" 65 default y if SPL_LIBCOMMON_SUPPORT 66 help 67 Enable support for common U-Boot libraries within VPL. See 68 SPL_LIBCOMMON_SUPPORT for details. 69 70config VPL_LIBGENERIC_SUPPORT 71 bool "Support generic libraries" 72 default y if SPL_LIBGENERIC_SUPPORT 73 help 74 Enable support for generic U-Boot libraries within VPL. These 75 libraries include generic code to deal with device tree, hashing, 76 printf(), compression and the like. This option is enabled on many 77 boards. Enable this option to build the code in lib/ as part of a 78 VPL build. 79 80config VPL_DRIVERS_MISC 81 bool "Support misc drivers" 82 default y if TPL_DRIVERS_MISC 83 help 84 Enable miscellaneous drivers in VPL. These drivers perform various 85 tasks that don't fall nicely into other categories, Enable this 86 option to build the drivers in drivers/misc as part of a VPL 87 build, for those that support building in VPL (not all drivers do). 88 89config VPL_ENV_SUPPORT 90 bool "Support an environment" 91 help 92 Enable environment support in VPL. The U-Boot environment provides 93 a number of settings (essentially name/value pairs) which can 94 control many aspects of U-Boot's operation. Enabling this option will 95 make env_get() and env_set() available in VSPL. 96 97config VPL_GPIO 98 bool "Support GPIO in VPL" 99 default y if SPL_GPIO 100 help 101 Enable support for GPIOs (General-purpose Input/Output) in VPL. 102 GPIOs allow U-Boot to read the state of an input line (high or 103 low) and set the state of an output line. This can be used to 104 drive LEDs, control power to various system parts and read user 105 input. GPIOs can be useful in VPL to enable a 'sign-of-life' LED, 106 for example. Enable this option to build the drivers in 107 drivers/gpio as part of a VPL build. 108 109config VPL_HANDOFF 110 bool "Pass hand-off information from VPL to SPL and U-Boot proper" 111 depends on HANDOFF && VPL_BLOBLIST 112 default y 113 help 114 This option enables VPL to write handoff information. This can be 115 used to pass information like the size of SDRAM from VPL to U-Boot 116 proper. The information is also available to VPL if it is useful 117 there. 118 119config VPL_HASH 120 bool "Support hashing drivers in VPL" 121 select SHA1 122 select SHA256 123 help 124 Enable hashing drivers in VPL. These drivers can be used to 125 accelerate secure boot processing in secure applications. Enable 126 this option to build system-specific drivers for hash acceleration 127 as part of a VPL build. 128 129config VPL_I2C_SUPPORT 130 bool "Support I2C in VPL" 131 default y if SPL_I2C_SUPPORT 132 help 133 Enable support for the I2C bus in VPL. Vee SPL_I2C_SUPPORT for 134 details. 135 136config VPL_MMC 137 bool "Support MMC in VPL" 138 depends on VPL && MMC 139 default y if MMC 140 help 141 Enable support for MMC (Multimedia Card) within VPL This enables 142 the MMC protocol implementation and allows any enabled drivers to 143 be used within VPL. MMC can be used with or without disk partition 144 support depending on the application (SPL_LIBDISK_SUPPORT). Enable 145 this option to build the drivers in drivers/mmc as part of an VPL 146 build. 147 148config VPL_DM_MMC 149 bool "Enable MMC controllers using Driver Model in VPL" 150 depends on VPL_DM && DM_MMC 151 default y 152 help 153 This enables the MultiMediaCard (MMC) uclass which supports MMC and 154 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.) 155 and non-removable (e.g. eMMC chip) devices are supported. These 156 appear as block devices in U-Boot and can support filesystems such 157 as EXT4 and FAT. 158 159config VPL_MMC_WRITE 160 bool "MMC/SD/SDIO card support for write operations in VPL" 161 depends on VPL_MMC 162 default y 163 help 164 Enable write access to MMC and SD Cards in VPL 165 166config VPL_PCH_SUPPORT 167 bool "Support PCH drivers" 168 default y if TPL_PCH_SUPPORT 169 help 170 Enable support for PCH (Platform Controller Hub) devices in VPL. 171 These are used to set up GPIOs and the SPI peripheral early in 172 boot. This enables the drivers in drivers/pch as part of a VPL 173 build. 174 175config VPL_PCI 176 bool "Support PCI drivers" 177 default y if SPL_PCI 178 help 179 Enable support for PCI in VPL. For platforms that need PCI to boot, 180 or must perform some init using PCI in VPL, this provides the 181 necessary driver support. This enables the drivers in drivers/pci 182 as part of a VPL build. 183 184config VPL_RTC 185 bool "Support RTC drivers" 186 help 187 Enable RTC (Real-time Clock) support in VPL. This includes support 188 for reading and setting the time. Some RTC devices also have some 189 non-volatile (battery-backed) memory which is accessible if 190 needed. This enables the drivers in drivers/rtc as part of a VPL 191 build. 192 193config VPL_SERIAL 194 bool "Support serial" 195 default y if TPL_SERIAL 196 select VPL_PRINTF 197 select VPL_STRTO 198 help 199 Enable support for serial in VPL. See SPL_SERIAL for 200 details. 201 202config VPL_SIZE_LIMIT 203 hex "Maximum size of VPL image" 204 default 0x0 205 help 206 Specifies the maximum length of the U-Boot VPL image. 207 If this value is zero, it is ignored. 208 209config VPL_SPI 210 bool "Support SPI drivers" 211 help 212 Enable support for using SPI in VPL. See SPL_SPI_SUPPORT for 213 details. 214 215config VPL_SPI_FLASH_SUPPORT 216 bool "Support SPI flash drivers" 217 help 218 Enable support for using SPI flash in VPL, and loading U-Boot from 219 SPI flash. SPI flash (Serial Peripheral Bus flash) is named after 220 the SPI bus that is used to connect it to a system. It is a simple 221 but fast bidirectional 4-wire bus (clock, chip select and two data 222 lines). This enables the drivers in drivers/mtd/spi as part of a 223 VPL build. This normally requires VPL_SPI_SUPPORT. 224 225config VPL_TEXT_BASE 226 hex "VPL Text Base" 227 default 0x0 228 help 229 The address in memory that VPL will be running from. 230 231config VPL_BINMAN_SYMBOLS 232 bool "Declare binman symbols in VPL" 233 depends on VPL_FRAMEWORK && BINMAN 234 default y 235 help 236 This enables use of symbols in VPL which refer to other entries in 237 the same binman image as the VPL. These can be declared with the 238 binman_sym_declare(type, entry, prop) macro and accessed by the 239 binman_sym(type, entry, prop) macro defined in binman_sym.h. 240 241 See tools/binman/binman.rst for a detailed explanation. 242 243config VPL_BINMAN_UBOOT_SYMBOLS 244 bool "Declare binman symbols for U-Boot phases in VPL" 245 depends on VPL_BINMAN_SYMBOLS 246 default n if ARCH_IMX8M || ARCH_IMX9 247 default y 248 help 249 This enables use of symbols in VPL which refer to U-Boot phases, 250 enabling VPL to obtain the location and size of its next phase simply 251 by calling spl_get_image_pos() and spl_get_image_size(). 252 253 For this to work, you must have all U-Boot phases in the same binman 254 image, so binman can update VPL with the locations of everything. 255 256endmenu 257