1menu "SPL / TPL" 2 3config SUPPORT_SPL 4 bool 5 6config SUPPORT_TPL 7 bool 8 9config SPL_DFU_NO_RESET 10 bool 11 12config SPL 13 bool 14 depends on SUPPORT_SPL 15 prompt "Enable SPL" 16 help 17 If you want to build SPL as well as the normal image, say Y. 18 19config SPL_BOARD_INIT 20 depends on SPL 21 bool "Call board-specific initialization in SPL" 22 help 23 If this option is enabled, U-Boot will call the function 24 spl_board_init() from board_init_r(). This function should be 25 provided by the board. 26 27config SPL_RAW_IMAGE_SUPPORT 28 bool "Support SPL loading and booting of RAW images" 29 depends on SPL 30 default n if (ARCH_MX6 && (SPL_MMC_SUPPORT || SPL_SATA_SUPPORT)) 31 default y if !TI_SECURE_DEVICE 32 help 33 SPL will support loading and booting a RAW image when this option 34 is y. If this is not set, SPL will move on to other available 35 boot media to find a suitable image. 36 37config SPL_LEGACY_IMAGE_SUPPORT 38 bool "Support SPL loading and booting of Legacy images" 39 default y if !TI_SECURE_DEVICE 40 help 41 SPL will support loading and booting Legacy images when this option 42 is y. If this is not set, SPL will move on to other available 43 boot media to find a suitable image. 44 45config SPL_SYS_MALLOC_SIMPLE 46 bool 47 depends on SPL 48 prompt "Only use malloc_simple functions in the SPL" 49 help 50 Say Y here to only use the *_simple malloc functions from 51 malloc_simple.c, rather then using the versions from dlmalloc.c; 52 this will make the SPL binary smaller at the cost of more heap 53 usage as the *_simple malloc functions do not re-use free-ed mem. 54 55config SPL_STACK_R 56 depends on SPL 57 bool "Enable SDRAM location for SPL stack" 58 help 59 SPL starts off execution in SRAM and thus typically has only a small 60 stack available. Since SPL sets up DRAM while in its board_init_f() 61 function, it is possible for the stack to move there before 62 board_init_r() is reached. This option enables a special SDRAM 63 location for the SPL stack. U-Boot SPL switches to this after 64 board_init_f() completes, and before board_init_r() starts. 65 66config SPL_STACK_R_ADDR 67 depends on SPL_STACK_R 68 hex "SDRAM location for SPL stack" 69 help 70 Specify the address in SDRAM for the SPL stack. This will be set up 71 before board_init_r() is called. 72 73config SPL_STACK_R_MALLOC_SIMPLE_LEN 74 depends on SPL_STACK_R && SPL_SYS_MALLOC_SIMPLE 75 hex "Size of malloc_simple heap after switching to DRAM SPL stack" 76 default 0x100000 77 help 78 Specify the amount of the stack to use as memory pool for 79 malloc_simple after switching the stack to DRAM. This may be set 80 to give board_init_r() a larger heap then the initial heap in 81 SRAM which is limited to SYS_MALLOC_F_LEN bytes. 82 83config SPL_SEPARATE_BSS 84 depends on SPL 85 bool "BSS section is in a different memory region from text" 86 help 87 Some platforms need a large BSS region in SPL and can provide this 88 because RAM is already set up. In this case BSS can be moved to RAM. 89 This option should then be enabled so that the correct device tree 90 location is used. Normally we put the device tree at the end of BSS 91 but with this option enabled, it goes at _image_binary_end. 92 93config SPL_DISPLAY_PRINT 94 depends on SPL 95 bool "Display a board-specific message in SPL" 96 help 97 If this option is enabled, U-Boot will call the function 98 spl_display_print() immediately after displaying the SPL console 99 banner ("U-Boot SPL ..."). This function should be provided by 100 the board. 101 102config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR 103 bool "MMC raw mode: by sector" 104 depends on SPL 105 default y if ARCH_SUNXI || ARCH_DAVINCI || ARCH_UNIPHIER ||ARCH_MX6 || \ 106 ARCH_ROCKCHIP || ARCH_MVEBU || ARCH_SOCFPGA || \ 107 ARCH_AT91 || ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || \ 108 OMAP44XX || OMAP54XX || AM33XX || AM43XX 109 help 110 Use sector number for specifying U-Boot location on MMC/SD in 111 raw mode. 112 113config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 114 hex "Address on the MMC to load U-Boot from" 115 depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR 116 default 0x50 if ARCH_SUNXI 117 default 0x75 if ARCH_DAVINCI 118 default 0x8a if ARCH_MX6 119 default 0x100 if ARCH_ROCKCHIP || ARCH_UNIPHIER 120 default 0x140 if ARCH_MVEBU 121 default 0x200 if ARCH_SOCFPGA || ARCH_AT91 122 default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \ 123 OMAP54XX || AM33XX || AM43XX 124 help 125 Address on the MMC to load U-Boot from, when the MMC is being used 126 in raw mode. Units: MMC sectors (1 sector = 512 bytes). 127 128config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 129 bool "MMC Raw mode: by partition" 130 depends on SPL 131 help 132 Use a partition for loading U-Boot when using MMC/SD in raw mode. 133 134config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 135 hex "Partition to use to load U-Boot from" 136 depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 137 default 1 138 help 139 Partition on the MMC to load U-Boot from when the MMC is being 140 used in raw mode 141 142config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE 143 bool "MMC raw mode: by partition type" 144 depends on SPL && DOS_PARTITION && \ 145 SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 146 help 147 Use partition type for specifying U-Boot partition on MMC/SD in 148 raw mode. U-Boot will be loaded from the first partition of this 149 type to be found. 150 151config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE 152 hex "Partition Type on the MMC to load U-Boot from" 153 depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE 154 help 155 Partition Type on the MMC to load U-Boot from, when the MMC is being 156 used in raw mode. 157 158config TPL 159 bool 160 depends on SPL && SUPPORT_TPL 161 prompt "Enable TPL" 162 help 163 If you want to build TPL as well as the normal image and SPL, say Y. 164 165config SPL_CRC32_SUPPORT 166 bool "Support CRC32" 167 depends on SPL_FIT 168 help 169 Enable this to support CRC32 in FIT images within SPL. This is a 170 32-bit checksum value that can be used to verify images. This is 171 the least secure type of checksum, suitable for detected 172 accidental image corruption. For secure applications you should 173 consider SHA1 or SHA256. 174 175config SPL_MD5_SUPPORT 176 bool "Support MD5" 177 depends on SPL_FIT 178 help 179 Enable this to support MD5 in FIT images within SPL. An MD5 180 checksum is a 128-bit hash value used to check that the image 181 contents have not been corrupted. Note that MD5 is not considered 182 secure as it is possible (with a brute-force attack) to adjust the 183 image while still retaining the same MD5 hash value. For secure 184 applications where images may be changed maliciously, you should 185 consider SHA1 or SHA256. 186 187config SPL_SHA1_SUPPORT 188 bool "Support SHA1" 189 depends on SPL_FIT 190 help 191 Enable this to support SHA1 in FIT images within SPL. A SHA1 192 checksum is a 160-bit (20-byte) hash value used to check that the 193 image contents have not been corrupted or maliciously altered. 194 While SHA1 is fairly secure it is coming to the end of its life 195 due to the expanding computing power avaiable to brute-force 196 attacks. For more security, consider SHA256. 197 198config SPL_SHA256_SUPPORT 199 bool "Support SHA256" 200 depends on SPL_FIT 201 help 202 Enable this to support SHA256 in FIT images within SPL. A SHA256 203 checksum is a 256-bit (32-byte) hash value used to check that the 204 image contents have not been corrupted. SHA256 is recommended for 205 use in secure applications since (as at 2016) there is no known 206 feasible attack that could produce a 'collision' with differing 207 input data. Use this for the highest security. Note that only the 208 SHA256 variant is supported: SHA512 and others are not currently 209 supported in U-Boot. 210 211config SPL_CPU_SUPPORT 212 bool "Support CPU drivers" 213 depends on SPL 214 help 215 Enable this to support CPU drivers in SPL. These drivers can set 216 up CPUs and provide information about them such as the model and 217 name. This can be useful in SPL since setting up the CPUs earlier 218 may improve boot performance. Enable this option to build the 219 drivers in drivers/cpu as part of an SPL build. 220 221config SPL_CRYPTO_SUPPORT 222 bool "Support crypto drivers" 223 depends on SPL 224 help 225 Enable crypto drivers in SPL. These drivers can be used to 226 accelerate secure boot processing in secure applications. Enable 227 this option to build the drivers in drivers/crypto as part of an 228 SPL build. 229 230config SPL_HASH_SUPPORT 231 bool "Support hashing drivers" 232 depends on SPL 233 help 234 Enable hashing drivers in SPL. These drivers can be used to 235 accelerate secure boot processing in secure applications. Enable 236 this option to build system-specific drivers for hash acceleration 237 as part of an SPL build. 238 239config SPL_DMA_SUPPORT 240 bool "Support DMA drivers" 241 depends on SPL 242 help 243 Enable DMA (direct-memory-access) drivers in SPL. These drivers 244 can be used to handle memory-to-peripheral data transfer without 245 the CPU moving the data. Enable this option to build the drivers 246 in drivers/dma as part of an SPL build. 247 248config SPL_DRIVERS_MISC_SUPPORT 249 bool "Support misc drivers" 250 depends on SPL 251 help 252 Enable miscellaneous drivers in SPL. These drivers perform various 253 tasks that don't fall nicely into other categories, Enable this 254 option to build the drivers in drivers/misc as part of an SPL 255 build, for those that support building in SPL (not all drivers do). 256 257config SPL_ENV_SUPPORT 258 bool "Support an environment" 259 depends on SPL 260 help 261 Enable environment support in SPL. The U-Boot environment provides 262 a number of settings (essentially name/value pairs) which can 263 control many aspects of U-Boot's operation. Normally this is not 264 needed in SPL as it has a much simpler task with less 265 configuration. But some boards use this to support 'Falcon' boot 266 on EXT2 and FAT, where SPL boots directly into Linux without 267 starting U-Boot first. Enabling this option will make getenv() 268 and setenv() available in SPL. 269 270config SPL_SAVEENV 271 bool "Support save environment" 272 depends on SPL && SPL_ENV_SUPPORT 273 help 274 Enable save environment support in SPL after setenv. By default 275 the saveenv option is not provided in SPL, but some boards need 276 this support in 'Falcon' boot, where SPL need to boot from 277 different images based on environment variable set by OS. For 278 example OS may set "reboot_image" environment variable to 279 "recovery" inorder to boot recovery image by SPL. The SPL read 280 "reboot_image" and act accordingly and change the reboot_image 281 to default mode using setenv and save the environemnt. 282 283config SPL_ETH_SUPPORT 284 bool "Support Ethernet" 285 depends on SPL_ENV_SUPPORT 286 help 287 Enable access to the network subsystem and associated Ethernet 288 drivers in SPL. This permits SPL to load U-Boot over an Ethernet 289 link rather than from an on-board peripheral. Environment support 290 is required since the network stack uses a number of environment 291 variables. See also SPL_NET_SUPPORT. 292 293config SPL_EXT_SUPPORT 294 bool "Support EXT filesystems" 295 depends on SPL 296 help 297 Enable support for EXT2/3/4 filesystems with SPL. This permits 298 U-Boot (or Linux in Falcon mode) to be loaded from an EXT 299 filesystem from within SPL. Support for the underlying block 300 device (e.g. MMC or USB) must be enabled separately. 301 302config SPL_FAT_SUPPORT 303 bool "Support FAT filesystems" 304 depends on SPL 305 help 306 Enable support for FAT and VFAT filesystems with SPL. This 307 permits U-Boot (or Linux in Falcon mode) to be loaded from a FAT 308 filesystem from within SPL. Support for the underlying block 309 device (e.g. MMC or USB) must be enabled separately. 310 311config SPL_FPGA_SUPPORT 312 bool "Support FPGAs" 313 depends on SPL 314 help 315 Enable support for FPGAs in SPL. Field-programmable Gate Arrays 316 provide software-configurable hardware which is typically used to 317 implement peripherals (such as UARTs, LCD displays, MMC) or 318 accelerate custom processing functions, such as image processing 319 or machine learning. Sometimes it is useful to program the FPGA 320 as early as possible during boot, and this option can enable that 321 within SPL. 322 323config SPL_GPIO_SUPPORT 324 bool "Support GPIO" 325 depends on SPL 326 help 327 Enable support for GPIOs (General-purpose Input/Output) in SPL. 328 GPIOs allow U-Boot to read the state of an input line (high or 329 low) and set the state of an output line. This can be used to 330 drive LEDs, control power to various system parts and read user 331 input. GPIOs can be useful in SPL to enable a 'sign-of-life' LED, 332 for example. Enable this option to build the drivers in 333 drivers/gpio as part of an SPL build. 334 335config SPL_I2C_SUPPORT 336 bool "Support I2C" 337 depends on SPL 338 help 339 Enable support for the I2C (Inter-Integrated Circuit) bus in SPL. 340 I2C works with a clock and data line which can be driven by a 341 one or more masters or slaves. It is a fairly complex bus but is 342 widely used as it only needs two lines for communication. Speeds of 343 400kbps are typical but up to 3.4Mbps is supported by some 344 hardware. I2C can be useful in SPL to configure power management 345 ICs (PMICs) before raising the CPU clock speed, for example. 346 Enable this option to build the drivers in drivers/i2c as part of 347 an SPL build. 348 349config SPL_LIBCOMMON_SUPPORT 350 bool "Support common libraries" 351 depends on SPL 352 help 353 Enable support for common U-Boot libraries within SPL. These 354 libraries include common code to deal with U-Boot images, 355 environment and USB, for example. This option is enabled on many 356 boards. Enable this option to build the code in common/ as part of 357 an SPL build. 358 359config SPL_LIBDISK_SUPPORT 360 bool "Support disk paritions" 361 depends on SPL 362 help 363 Enable support for disk partitions within SPL. 'Disk' is something 364 of a misnomer as it includes non-spinning media such as flash (as 365 used in MMC and USB sticks). Partitions provide a way for a disk 366 to be split up into separate regions, with a partition table placed 367 at the start or end which describes the location and size of each 368 'partition'. These partitions are typically uses as individual block 369 devices, typically with an EXT2 or FAT filesystem in each. This 370 option enables whatever partition support has been enabled in 371 U-Boot to also be used in SPL. It brings in the code in disk/. 372 373config SPL_LIBGENERIC_SUPPORT 374 bool "Support generic libraries" 375 depends on SPL 376 help 377 Enable support for generic U-Boot libraries within SPL. These 378 libraries include generic code to deal with device tree, hashing, 379 printf(), compression and the like. This option is enabled on many 380 boards. Enable this option to build the code in lib/ as part of an 381 SPL build. 382 383config SPL_MMC_SUPPORT 384 bool "Support MMC" 385 depends on SPL && MMC 386 help 387 Enable support for MMC (Multimedia Card) within SPL. This enables 388 the MMC protocol implementation and allows any enabled drivers to 389 be used within SPL. MMC can be used with or without disk partition 390 support depending on the application (SPL_LIBDISK_SUPPORT). Enable 391 this option to build the drivers in drivers/mmc as part of an SPL 392 build. 393 394config SPL_MPC8XXX_INIT_DDR_SUPPORT 395 bool "Support MPC8XXX DDR init" 396 depends on SPL 397 help 398 Enable support for DDR-SDRAM (double-data-rate synchronous dynamic 399 random-access memory) on the MPC8XXX family within SPL. This 400 allows DRAM to be set up before loading U-Boot into that DRAM, 401 where it can run. 402 403config SPL_MTD_SUPPORT 404 bool "Support MTD drivers" 405 depends on SPL 406 help 407 Enable support for MTD (Memory Technology Device) within SPL. MTD 408 provides a block interface over raw NAND and can also be used with 409 SPI flash. This allows SPL to load U-Boot from supported MTD 410 devices. See SPL_NAND_SUPPORT and SPL_ONENAND_SUPPORT for how 411 to enable specific MTD drivers. 412 413config SPL_MUSB_NEW_SUPPORT 414 bool "Support new Mentor Graphics USB" 415 depends on SPL 416 help 417 Enable support for Mentor Graphics USB in SPL. This is a new 418 driver used by some boards. Enable this option to build 419 the drivers in drivers/usb/musb-new as part of an SPL build. The 420 old drivers are in drivers/usb/musb. 421 422config SPL_NAND_SUPPORT 423 bool "Support NAND flash" 424 depends on SPL 425 help 426 Enable support for NAND (Negative AND) flash in SPL. NAND flash 427 can be used to allow SPL to load U-Boot from supported devices. 428 This enables the drivers in drivers/mtd/nand as part of an SPL 429 build. 430 431config SPL_NET_SUPPORT 432 bool "Support networking" 433 depends on SPL 434 help 435 Enable support for network devices (such as Ethernet) in SPL. 436 This permits SPL to load U-Boot over a network link rather than 437 from an on-board peripheral. Environment support is required since 438 the network stack uses a number of environment variables. See also 439 SPL_ETH_SUPPORT. 440 441if SPL_NET_SUPPORT 442config SPL_NET_VCI_STRING 443 string "BOOTP Vendor Class Identifier string sent by SPL" 444 help 445 As defined by RFC 2132 the vendor class identifier field can be 446 sent by the client to identify the vendor type and configuration 447 of a client. This is often used in practice to allow for the DHCP 448 server to specify different files to load depending on if the ROM, 449 SPL or U-Boot itself makes the request 450endif # if SPL_NET_SUPPORT 451 452config SPL_NO_CPU_SUPPORT 453 bool "Drop CPU code in SPL" 454 depends on SPL 455 help 456 This is specific to the ARM926EJ-S CPU. It disables the standard 457 start.S start-up code, presumably so that a replacement can be 458 used on that CPU. You should not enable it unless you know what 459 you are doing. 460 461config SPL_NOR_SUPPORT 462 bool "Support NOR flash" 463 depends on SPL 464 help 465 Enable support for loading U-Boot from memory-mapped NOR (Negative 466 OR) flash in SPL. NOR flash is slow to write but fast to read, and 467 a memory-mapped device makes it very easy to access. Loading from 468 NOR is typically achieved with just a memcpy(). 469 470config SPL_ONENAND_SUPPORT 471 bool "Support OneNAND flash" 472 depends on SPL 473 help 474 Enable support for OneNAND (Negative AND) flash in SPL. OneNAND is 475 a type of NAND flash and therefore can be used to allow SPL to 476 load U-Boot from supported devices. This enables the drivers in 477 drivers/mtd/onenand as part of an SPL build. 478 479config SPL_OS_BOOT 480 bool "Activate Falcon Mode" 481 depends on SPL && !TI_SECURE_DEVICE 482 default n 483 help 484 Enable booting directly to an OS from SPL. 485 for more info read doc/README.falcon 486 487if SPL_OS_BOOT 488config SYS_OS_BASE 489 hex "addr, where OS is found" 490 depends on SPL && SPL_NOR_SUPPORT 491 help 492 Specify the address, where the OS image is found, which 493 gets booted. 494 495endif # SPL_OS_BOOT 496 497config SPL_PCI_SUPPORT 498 bool "Support PCI drivers" 499 depends on SPL 500 help 501 Enable support for PCI in SPL. For platforms that need PCI to boot, 502 or must perform some init using PCI in SPL, this provides the 503 necessary driver support. This enables the drivers in drivers/pci 504 as part of an SPL build. 505 506config SPL_PCH_SUPPORT 507 bool "Support PCH drivers" 508 depends on SPL 509 help 510 Enable support for PCH (Platform Controller Hub) devices in SPL. 511 These are used to set up GPIOs and the SPI peripheral early in 512 boot. This enables the drivers in drivers/pch as part of an SPL 513 build. 514 515config SPL_POST_MEM_SUPPORT 516 bool "Support POST drivers" 517 depends on SPL 518 help 519 Enable support for POST (Power-on Self Test) in SPL. POST is a 520 procedure that checks that the hardware (CPU or board) appears to 521 be functionally correctly. It is a sanity check that can be 522 performed before booting. This enables the drivers in post/drivers 523 as part of an SPL build. 524 525config SPL_POWER_SUPPORT 526 bool "Support power drivers" 527 depends on SPL 528 help 529 Enable support for power control in SPL. This includes support 530 for PMICs (Power-management Integrated Circuits) and some of the 531 features provided by PMICs. In particular, voltage regulators can 532 be used to enable/disable power and vary its voltage. That can be 533 useful in SPL to turn on boot peripherals and adjust CPU voltage 534 so that the clock speed can be increased. This enables the drivers 535 in drivers/power, drivers/power/pmic and drivers/power/regulator 536 as part of an SPL build. 537 538config SPL_RAM_SUPPORT 539 bool "Support booting from RAM" 540 depends on SPL 541 default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ 542 help 543 Enable booting of an image in RAM. The image can be preloaded or 544 it can be loaded by SPL directly into RAM (e.g. using USB). 545 546config SPL_RAM_DEVICE 547 bool "Support booting from preloaded image in RAM" 548 depends on SPL_RAM_SUPPORT 549 default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ 550 help 551 Enable booting of an image already loaded in RAM. The image has to 552 be already in memory when SPL takes over, e.g. loaded by the boot 553 ROM. 554 555config SPL_RTC_SUPPORT 556 bool "Support RTC drivers" 557 depends on SPL 558 help 559 Enable RTC (Real-time Clock) support in SPL. This includes support 560 for reading and setting the time. Some RTC devices also have some 561 non-volatile (battery-backed) memory which is accessible if 562 needed. This enables the drivers in drivers/rtc as part of an SPL 563 build. 564 565config SPL_SATA_SUPPORT 566 bool "Support loading from SATA" 567 depends on SPL 568 help 569 Enable support for SATA (Serial AT attachment) in SPL. This allows 570 use of SATA devices such as hard drives and flash drivers for 571 loading U-Boot. SATA is used in higher-end embedded systems and 572 can provide higher performance than MMC , at somewhat higher 573 expense and power consumption. This enables loading from SATA 574 using a configured device. 575 576config SPL_SERIAL_SUPPORT 577 bool "Support serial" 578 depends on SPL 579 help 580 Enable support for serial in SPL. This allows use of a serial UART 581 for displaying messages while SPL is running. It also brings in 582 printf() and panic() functions. This should normally be enabled 583 unless there are space reasons not to. Even then, consider 584 enabling USE_TINY_PRINTF which is a small printf() version. 585 586config SPL_SPI_FLASH_SUPPORT 587 bool "Support SPI flash drivers" 588 depends on SPL 589 help 590 Enable support for using SPI flash in SPL, and loading U-Boot from 591 SPI flash. SPI flash (Serial Peripheral Bus flash) is named after 592 the SPI bus that is used to connect it to a system. It is a simple 593 but fast bidirectional 4-wire bus (clock, chip select and two data 594 lines). This enables the drivers in drivers/mtd/spi as part of an 595 SPL build. This normally requires SPL_SPI_SUPPORT. 596 597config SPL_SPI_SUPPORT 598 bool "Support SPI drivers" 599 depends on SPL 600 help 601 Enable support for using SPI in SPL. This is used for connecting 602 to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for 603 more details on that. The SPI driver provides the transport for 604 data between the SPI flash and the CPU. This option can be used to 605 enable SPI drivers that are needed for other purposes also, such 606 as a SPI PMIC. 607 608config SPL_TIMER_SUPPORT 609 bool "Support timer drivers" 610 depends on SPL 611 help 612 Enable support for timer drivers in SPL. These can be used to get 613 a timer value when in SPL, or perhaps for implementing a delay 614 function. This enables the drivers in drivers/timer as part of an 615 SPL build. 616 617config SPL_USB_HOST_SUPPORT 618 bool "Support USB host drivers" 619 depends on SPL 620 help 621 Enable access to USB (Universal Serial Bus) host devices so that 622 SPL can load U-Boot from a connected USB peripheral, such as a USB 623 flash stick. While USB takes a little longer to start up than most 624 buses, it is very flexible since many different types of storage 625 device can be attached. This option enables the drivers in 626 drivers/usb/host as part of an SPL build. 627 628config SPL_USB_SUPPORT 629 bool "Support loading from USB" 630 depends on SPL_USB_HOST_SUPPORT 631 help 632 Enable support for USB devices in SPL. This allows use of USB 633 devices such as hard drives and flash drivers for loading U-Boot. 634 The actual drivers are enabled separately using the normal U-Boot 635 config options. This enables loading from USB using a configured 636 device. 637 638config SPL_USB_GADGET_SUPPORT 639 bool "Suppport USB Gadget drivers" 640 depends on SPL 641 help 642 Enable USB Gadget API which allows to enable USB device functions 643 in SPL. 644 645if SPL_USB_GADGET_SUPPORT 646 647config SPL_USBETH_SUPPORT 648 bool "Support USB Ethernet drivers" 649 help 650 Enable access to the USB network subsystem and associated 651 drivers in SPL. This permits SPL to load U-Boot over a 652 USB-connected Ethernet link (such as a USB Ethernet dongle) rather 653 than from an onboard peripheral. Environment support is required 654 since the network stack uses a number of environment variables. 655 See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT. 656 657config SPL_DFU_SUPPORT 658 bool "Support DFU (Device Firmware Upgarde)" 659 select SPL_HASH_SUPPORT 660 select SPL_DFU_NO_RESET 661 depends on SPL_RAM_SUPPORT 662 help 663 This feature enables the DFU (Device Firmware Upgarde) in SPL with 664 RAM memory device support. The ROM code will load and execute 665 the SPL built with dfu. The user can load binaries (u-boot/kernel) to 666 selected device partition from host-pc using dfu-utils. 667 This feature is useful to flash the binaries to factory or bare-metal 668 boards using USB interface. 669 670choice 671 bool "DFU device selection" 672 depends on SPL_DFU_SUPPORT 673 674config SPL_DFU_RAM 675 bool "RAM device" 676 depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT 677 help 678 select RAM/DDR memory device for loading binary images 679 (u-boot/kernel) to the selected device partition using 680 DFU and execute the u-boot/kernel from RAM. 681 682endchoice 683 684endif 685 686config SPL_WATCHDOG_SUPPORT 687 bool "Support watchdog drivers" 688 depends on SPL 689 help 690 Enable support for watchdog drivers in SPL. A watchdog is 691 typically a hardware peripheral which can reset the system when it 692 detects no activity for a while (such as a software crash). This 693 enables the drivers in drivers/watchdog as part of an SPL build. 694 695config SPL_YMODEM_SUPPORT 696 bool "Support loading using Ymodem" 697 depends on SPL 698 help 699 While loading from serial is slow it can be a useful backup when 700 there is no other option. The Ymodem protocol provides a reliable 701 means of transmitting U-Boot over a serial line for using in SPL, 702 with a checksum to ensure correctness. 703 704config SPL_ATF_SUPPORT 705 bool "Support ARM Trusted Firmware" 706 depends on SPL && ARM64 707 help 708 ATF(ARM Trusted Firmware) is a component for ARM arch64 which which 709 is loaded by SPL(which is considered as BL2 in ATF terminology). 710 More detail at: https://github.com/ARM-software/arm-trusted-firmware 711 712config SPL_ATF_TEXT_BASE 713 depends on SPL_ATF_SUPPORT 714 hex "ATF BL31 base address" 715 help 716 This is the base address in memory for ATF BL31 text and entry point. 717 718config TPL_ENV_SUPPORT 719 bool "Support an environment" 720 depends on TPL 721 help 722 Enable environment support in TPL. See SPL_ENV_SUPPORT for details. 723 724config TPL_I2C_SUPPORT 725 bool "Support I2C" 726 depends on TPL 727 help 728 Enable support for the I2C bus in SPL. See SPL_I2C_SUPPORT for 729 details. 730 731config TPL_LIBCOMMON_SUPPORT 732 bool "Support common libraries" 733 depends on TPL 734 help 735 Enable support for common U-Boot libraries within TPL. See 736 SPL_LIBCOMMON_SUPPORT for details. 737 738config TPL_LIBGENERIC_SUPPORT 739 bool "Support generic libraries" 740 depends on TPL 741 help 742 Enable support for generic U-Boot libraries within TPL. See 743 SPL_LIBGENERIC_SUPPORT for details. 744 745config TPL_MPC8XXX_INIT_DDR_SUPPORT 746 bool "Support MPC8XXX DDR init" 747 depends on TPL 748 help 749 Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See 750 SPL_MPC8XXX_INIT_DDR_SUPPORT for details. 751 752config TPL_MMC_SUPPORT 753 bool "Support MMC" 754 depends on TPL && MMC 755 help 756 Enable support for MMC within TPL. See SPL_MMC_SUPPORT for details. 757 758config TPL_NAND_SUPPORT 759 bool "Support NAND flash" 760 depends on TPL 761 help 762 Enable support for NAND in SPL. See SPL_NAND_SUPPORT for details. 763 764config TPL_SERIAL_SUPPORT 765 bool "Support serial" 766 depends on TPL 767 help 768 Enable support for serial in SPL. See SPL_SERIAL_SUPPORT for 769 details. 770 771config TPL_SPI_FLASH_SUPPORT 772 bool "Support SPI flash drivers" 773 depends on TPL 774 help 775 Enable support for using SPI flash in SPL. See SPL_SPI_FLASH_SUPPORT 776 for details. 777 778config TPL_SPI_SUPPORT 779 bool "Support SPI drivers" 780 depends on TPL 781 help 782 Enable support for using SPI in SPL. See SPL_SPI_SUPPORT for 783 details. 784 785endmenu 786