1menu "Boot timing" 2 3config BOOTSTAGE 4 bool "Boot timing and reporting" 5 help 6 Enable recording of boot time while booting. To use it, insert 7 calls to bootstage_mark() with a suitable BOOTSTAGE_ID from 8 bootstage.h. Only a single entry is recorded for each ID. You can 9 give the entry a name with bootstage_mark_name(). You can also 10 record elapsed time in a particular stage using bootstage_start() 11 before starting and bootstage_accum() when finished. Bootstage will 12 add up all the accumulated time and report it. 13 14 Normally, IDs are defined in bootstage.h but a small number of 15 additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC 16 as the ID. 17 18 Calls to show_boot_progress() will also result in log entries but 19 these will not have names. 20 21config SPL_BOOTSTAGE 22 bool "Boot timing and reported in SPL" 23 depends on BOOTSTAGE 24 help 25 Enable recording of boot time in SPL. To make this visible to U-Boot 26 proper, enable BOOTSTAGE_STASH as well. This will stash the timing 27 information when SPL finishes and load it when U-Boot proper starts 28 up. 29 30config TPL_BOOTSTAGE 31 bool "Boot timing and reported in TPL" 32 depends on BOOTSTAGE 33 help 34 Enable recording of boot time in SPL. To make this visible to U-Boot 35 proper, enable BOOTSTAGE_STASH as well. This will stash the timing 36 information when TPL finishes and load it when U-Boot proper starts 37 up. 38 39config BOOTSTAGE_REPORT 40 bool "Display a detailed boot timing report before booting the OS" 41 depends on BOOTSTAGE 42 help 43 Enable output of a boot time report just before the OS is booted. 44 This shows how long it took U-Boot to go through each stage of the 45 boot process. The report looks something like this: 46 47 Timer summary in microseconds: 48 Mark Elapsed Stage 49 0 0 reset 50 3,575,678 3,575,678 board_init_f start 51 3,575,695 17 arch_cpu_init A9 52 3,575,777 82 arch_cpu_init done 53 3,659,598 83,821 board_init_r start 54 3,910,375 250,777 main_loop 55 29,916,167 26,005,792 bootm_start 56 30,361,327 445,160 start_kernel 57 58config BOOTSTAGE_RECORD_COUNT 59 int "Number of boot stage records to store" 60 default 30 61 help 62 This is the size of the bootstage record list and is the maximum 63 number of bootstage records that can be recorded. 64 65config SPL_BOOTSTAGE_RECORD_COUNT 66 int "Number of boot stage records to store for SPL" 67 default 5 68 help 69 This is the size of the bootstage record list and is the maximum 70 number of bootstage records that can be recorded. 71 72config BOOTSTAGE_FDT 73 bool "Store boot timing information in the OS device tree" 74 depends on BOOTSTAGE 75 help 76 Stash the bootstage information in the FDT. A root 'bootstage' 77 node is created with each bootstage id as a child. Each child 78 has a 'name' property and either 'mark' containing the 79 mark time in microseconds, or 'accum' containing the 80 accumulated time for that bootstage id in microseconds. 81 For example: 82 83 bootstage { 84 154 { 85 name = "board_init_f"; 86 mark = <3575678>; 87 }; 88 170 { 89 name = "lcd"; 90 accum = <33482>; 91 }; 92 }; 93 94 Code in the Linux kernel can find this in /proc/devicetree. 95 96config BOOTSTAGE_STASH 97 bool "Stash the boot timing information in memory before booting OS" 98 depends on BOOTSTAGE 99 help 100 Some OSes do not support device tree. Bootstage can instead write 101 the boot timing information in a binary format at a given address. 102 This happens through a call to bootstage_stash(), typically in 103 the CPU's cleanup_before_linux() function. You can use the 104 'bootstage stash' and 'bootstage unstash' commands to do this on 105 the command line. 106 107config BOOTSTAGE_STASH_ADDR 108 hex "Address to stash boot timing information" 109 default 0 110 help 111 Provide an address which will not be overwritten by the OS when it 112 starts, so that it can read this information when ready. 113 114config BOOTSTAGE_STASH_SIZE 115 hex "Size of boot timing stash region" 116 default 0x1000 117 help 118 This should be large enough to hold the bootstage stash. A value of 119 4096 (4KiB) is normally plenty. 120 121endmenu 122 123menu "Boot media" 124 125config NOR_BOOT 126 bool "Support for booting from NOR flash" 127 depends on NOR 128 help 129 Enabling this will make a U-Boot binary that is capable of being 130 booted via NOR. In this case we will enable certain pinmux early 131 as the ROM only partially sets up pinmux. We also default to using 132 NOR for environment. 133 134config NAND_BOOT 135 bool "Support for booting from NAND flash" 136 default n 137 imply NAND 138 help 139 Enabling this will make a U-Boot binary that is capable of being 140 booted via NAND flash. This is not a must, some SoCs need this, 141 some not. 142 143config ONENAND_BOOT 144 bool "Support for booting from ONENAND" 145 default n 146 imply NAND 147 help 148 Enabling this will make a U-Boot binary that is capable of being 149 booted via ONENAND. This is not a must, some SoCs need this, 150 some not. 151 152config QSPI_BOOT 153 bool "Support for booting from QSPI flash" 154 default n 155 help 156 Enabling this will make a U-Boot binary that is capable of being 157 booted via QSPI flash. This is not a must, some SoCs need this, 158 some not. 159 160config SATA_BOOT 161 bool "Support for booting from SATA" 162 default n 163 help 164 Enabling this will make a U-Boot binary that is capable of being 165 booted via SATA. This is not a must, some SoCs need this, 166 some not. 167 168config SD_BOOT 169 bool "Support for booting from SD/EMMC" 170 default n 171 help 172 Enabling this will make a U-Boot binary that is capable of being 173 booted via SD/EMMC. This is not a must, some SoCs need this, 174 some not. 175 176config SPI_BOOT 177 bool "Support for booting from SPI flash" 178 default n 179 help 180 Enabling this will make a U-Boot binary that is capable of being 181 booted via SPI flash. This is not a must, some SoCs need this, 182 some not. 183 184endmenu 185 186config BOOTDELAY 187 int "delay in seconds before automatically booting" 188 default 2 189 depends on AUTOBOOT 190 help 191 Delay before automatically running bootcmd; 192 set to 0 to autoboot with no delay, but you can stop it by key input. 193 set to -1 to disable autoboot. 194 set to -2 to autoboot with no delay and not check for abort 195 196 If this value is >= 0 then it is also used for the default delay 197 before starting the default entry in bootmenu. If it is < 0 then 198 a default value of 10s is used. 199 200 See doc/README.autoboot for details. 201 202config USE_BOOTARGS 203 bool "Enable boot arguments" 204 help 205 Provide boot arguments to bootm command. Boot arguments are specified 206 in CONFIG_BOOTARGS option. Enable this option to be able to specify 207 CONFIG_BOOTARGS string. If this option is disabled, CONFIG_BOOTARGS 208 will be undefined and won't take any space in U-Boot image. 209 210config BOOTARGS 211 string "Boot arguments" 212 depends on USE_BOOTARGS 213 help 214 This can be used to pass arguments to the bootm command. The value of 215 CONFIG_BOOTARGS goes into the environment value "bootargs". Note that 216 this value will also override the "chosen" node in FDT blob. 217 218config USE_BOOTCOMMAND 219 bool "Enable a default value for bootcmd" 220 help 221 Provide a default value for the bootcmd entry in the environment. If 222 autoboot is enabled this is what will be run automatically. Enable 223 this option to be able to specify CONFIG_BOOTCOMMAND as a string. If 224 this option is disabled, CONFIG_BOOTCOMMAND will be undefined and 225 won't take any space in U-Boot image. 226 227config BOOTCOMMAND 228 string "bootcmd value" 229 depends on USE_BOOTCOMMAND 230 default "run distro_bootcmd" if DISTRO_DEFAULTS 231 help 232 This is the string of commands that will be used as bootcmd and if 233 AUTOBOOT is set, automatically run. 234 235menu "Console" 236 237config MENU 238 bool 239 help 240 This is the library functionality to provide a text-based menu of 241 choices for the user to make choices with. 242 243config CONSOLE_RECORD 244 bool "Console recording" 245 help 246 This provides a way to record console output (and provide console 247 input) through circular buffers. This is mostly useful for testing. 248 Console output is recorded even when the console is silent. 249 To enable console recording, call console_record_reset_enable() 250 from your code. 251 252config CONSOLE_RECORD_OUT_SIZE 253 hex "Output buffer size" 254 depends on CONSOLE_RECORD 255 default 0x400 if CONSOLE_RECORD 256 help 257 Set the size of the console output buffer. When this fills up, no 258 more data will be recorded until some is removed. The buffer is 259 allocated immediately after the malloc() region is ready. 260 261config CONSOLE_RECORD_IN_SIZE 262 hex "Input buffer size" 263 depends on CONSOLE_RECORD 264 default 0x100 if CONSOLE_RECORD 265 help 266 Set the size of the console input buffer. When this contains data, 267 tstc() and getc() will use this in preference to real device input. 268 The buffer is allocated immediately after the malloc() region is 269 ready. 270 271config DISABLE_CONSOLE 272 bool "Add functionality to disable console completely" 273 help 274 Disable console (in & out). 275 276config IDENT_STRING 277 string "Board specific string to be added to uboot version string" 278 help 279 This options adds the board specific name to u-boot version. 280 281config LOGLEVEL 282 int "loglevel" 283 default 4 284 range 0 8 285 help 286 All Messages with a loglevel smaller than the console loglevel will 287 be compiled in. The loglevels are defined as follows: 288 289 0 (KERN_EMERG) system is unusable 290 1 (KERN_ALERT) action must be taken immediately 291 2 (KERN_CRIT) critical conditions 292 3 (KERN_ERR) error conditions 293 4 (KERN_WARNING) warning conditions 294 5 (KERN_NOTICE) normal but significant condition 295 6 (KERN_INFO) informational 296 7 (KERN_DEBUG) debug-level messages 297 298config SPL_LOGLEVEL 299 int 300 default LOGLEVEL 301 302config TPL_LOGLEVEL 303 int 304 default LOGLEVEL 305 306config SILENT_CONSOLE 307 bool "Support a silent console" 308 help 309 This option allows the console to be silenced, meaning that no 310 output will appear on the console devices. This is controlled by 311 setting the environment variable 'silent' to a non-empty value. 312 Note this also silences the console when booting Linux. 313 314 When the console is set up, the variable is checked, and the 315 GD_FLG_SILENT flag is set. Changing the environment variable later 316 will update the flag. 317 318config SILENT_U_BOOT_ONLY 319 bool "Only silence the U-Boot console" 320 depends on SILENT_CONSOLE 321 help 322 Normally when the U-Boot console is silenced, Linux's console is 323 also silenced (assuming the board boots into Linux). This option 324 allows the linux console to operate normally, even if U-Boot's 325 is silenced. 326 327config SILENT_CONSOLE_UPDATE_ON_SET 328 bool "Changes to the 'silent' environment variable update immediately" 329 depends on SILENT_CONSOLE 330 default y if SILENT_CONSOLE 331 help 332 When the 'silent' environment variable is changed, update the 333 console silence flag immediately. This allows 'setenv' to be used 334 to silence or un-silence the console. 335 336 The effect is that any change to the variable will affect the 337 GD_FLG_SILENT flag. 338 339config SILENT_CONSOLE_UPDATE_ON_RELOC 340 bool "Allow flags to take effect on relocation" 341 depends on SILENT_CONSOLE 342 help 343 In some cases the environment is not available until relocation 344 (e.g. NAND). This option makes the value of the 'silent' 345 environment variable take effect at relocation. 346 347config PRE_CONSOLE_BUFFER 348 bool "Buffer characters before the console is available" 349 help 350 Prior to the console being initialised (i.e. serial UART 351 initialised etc) all console output is silently discarded. 352 Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to 353 buffer any console messages prior to the console being 354 initialised to a buffer. The buffer is a circular buffer, so 355 if it overflows, earlier output is discarded. 356 357 Note that this is not currently supported in SPL. It would be 358 useful to be able to share the pre-console buffer with SPL. 359 360config PRE_CON_BUF_SZ 361 int "Sets the size of the pre-console buffer" 362 depends on PRE_CONSOLE_BUFFER 363 default 4096 364 help 365 The size of the pre-console buffer affects how much console output 366 can be held before it overflows and starts discarding earlier 367 output. Normally there is very little output at this early stage, 368 unless debugging is enabled, so allow enough for ~10 lines of 369 text. 370 371 This is a useful feature if you are using a video console and 372 want to see the full boot output on the console. Without this 373 option only the post-relocation output will be displayed. 374 375config PRE_CON_BUF_ADDR 376 hex "Address of the pre-console buffer" 377 depends on PRE_CONSOLE_BUFFER 378 default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I 379 default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I 380 help 381 This sets the start address of the pre-console buffer. This must 382 be in available memory and is accessed before relocation and 383 possibly before DRAM is set up. Therefore choose an address 384 carefully. 385 386 We should consider removing this option and allocating the memory 387 in board_init_f_init_reserve() instead. 388 389config CONSOLE_MUX 390 bool "Enable console multiplexing" 391 default y if DM_VIDEO || VIDEO || LCD 392 help 393 This allows multiple devices to be used for each console 'file'. 394 For example, stdout can be set to go to serial and video. 395 Similarly, stdin can be set to come from serial and keyboard. 396 Input can be provided from either source. Console multiplexing 397 adds a small amount of size to U-Boot. Changes to the environment 398 variables stdout, stdin and stderr will take effect immediately. 399 400config SYS_CONSOLE_IS_IN_ENV 401 bool "Select console devices from the environment" 402 default y if CONSOLE_MUX 403 help 404 This allows multiple input/output devices to be set at boot time. 405 For example, if stdout is set to "serial,video" then output will 406 be sent to both the serial and video devices on boot. The 407 environment variables can be updated after boot to change the 408 input/output devices. 409 410config SYS_CONSOLE_OVERWRITE_ROUTINE 411 bool "Allow board control over console overwriting" 412 help 413 If this is enabled, and the board-specific function 414 overwrite_console() returns 1, the stdin, stderr and stdout are 415 switched to the serial port, else the settings in the environment 416 are used. If this is not enabled, the console will not be switched 417 to serial. 418 419config SYS_CONSOLE_ENV_OVERWRITE 420 bool "Update environment variables during console init" 421 help 422 The console environment variables (stdout, stdin, stderr) can be 423 used to determine the correct console devices on start-up. This 424 option writes the console devices to these variables on console 425 start-up (after relocation). This causes the environment to be 426 updated to match the console devices actually chosen. 427 428config SYS_CONSOLE_INFO_QUIET 429 bool "Don't display the console devices on boot" 430 help 431 Normally U-Boot displays the current settings for stdout, stdin 432 and stderr on boot when the post-relocation console is set up. 433 Enable this option to suppress this output. It can be obtained by 434 calling stdio_print_current_devices() from board code. 435 436config SYS_STDIO_DEREGISTER 437 bool "Allow deregistering stdio devices" 438 default y if USB_KEYBOARD 439 help 440 Generally there is no need to deregister stdio devices since they 441 are never deactivated. But if a stdio device is used which can be 442 removed (for example a USB keyboard) then this option can be 443 enabled to ensure this is handled correctly. 444 445endmenu 446 447menu "Logging" 448 449config LOG 450 bool "Enable logging support" 451 depends on DM 452 help 453 This enables support for logging of status and debug messages. These 454 can be displayed on the console, recorded in a memory buffer, or 455 discarded if not needed. Logging supports various categories and 456 levels of severity. 457 458config SPL_LOG 459 bool "Enable logging support in SPL" 460 depends on LOG 461 help 462 This enables support for logging of status and debug messages. These 463 can be displayed on the console, recorded in a memory buffer, or 464 discarded if not needed. Logging supports various categories and 465 levels of severity. 466 467config TPL_LOG 468 bool "Enable logging support in TPL" 469 depends on LOG 470 help 471 This enables support for logging of status and debug messages. These 472 can be displayed on the console, recorded in a memory buffer, or 473 discarded if not needed. Logging supports various categories and 474 levels of severity. 475 476config LOG_MAX_LEVEL 477 int "Maximum log level to record" 478 depends on LOG 479 default 5 480 help 481 This selects the maximum log level that will be recorded. Any value 482 higher than this will be ignored. If possible log statements below 483 this level will be discarded at build time. Levels: 484 485 0 - panic 486 1 - critical 487 2 - error 488 3 - warning 489 4 - note 490 5 - info 491 6 - detail 492 7 - debug 493 494config SPL_LOG_MAX_LEVEL 495 int "Maximum log level to record in SPL" 496 depends on SPL_LOG 497 default 3 498 help 499 This selects the maximum log level that will be recorded. Any value 500 higher than this will be ignored. If possible log statements below 501 this level will be discarded at build time. Levels: 502 503 0 - panic 504 1 - critical 505 2 - error 506 3 - warning 507 4 - note 508 5 - info 509 6 - detail 510 7 - debug 511 512config TPL_LOG_MAX_LEVEL 513 int "Maximum log level to record in TPL" 514 depends on TPL_LOG 515 default 3 516 help 517 This selects the maximum log level that will be recorded. Any value 518 higher than this will be ignored. If possible log statements below 519 this level will be discarded at build time. Levels: 520 521 0 - panic 522 1 - critical 523 2 - error 524 3 - warning 525 4 - note 526 5 - info 527 6 - detail 528 7 - debug 529 530config LOG_CONSOLE 531 bool "Allow log output to the console" 532 depends on LOG 533 default y 534 help 535 Enables a log driver which writes log records to the console. 536 Generally the console is the serial port or LCD display. Only the 537 log message is shown - other details like level, category, file and 538 line number are omitted. 539 540config SPL_LOG_CONSOLE 541 bool "Allow log output to the console in SPL" 542 depends on SPL_LOG 543 default y 544 help 545 Enables a log driver which writes log records to the console. 546 Generally the console is the serial port or LCD display. Only the 547 log message is shown - other details like level, category, file and 548 line number are omitted. 549 550config TPL_LOG_CONSOLE 551 bool "Allow log output to the console in SPL" 552 depends on TPL_LOG 553 default y 554 help 555 Enables a log driver which writes log records to the console. 556 Generally the console is the serial port or LCD display. Only the 557 log message is shown - other details like level, category, file and 558 line number are omitted. 559 560config LOG_TEST 561 bool "Provide a test for logging" 562 depends on LOG 563 default y if SANDBOX 564 help 565 This enables a 'log test' command to test logging. It is normally 566 executed from a pytest and simply outputs logging information 567 in various different ways to test that the logging system works 568 correctly with various settings. 569 570config LOG_ERROR_RETURN 571 bool "Log all functions which return an error" 572 depends on LOG 573 help 574 When an error is returned in U-Boot it is sometimes difficult to 575 figure out the root cause. For example, reading from SPI flash may 576 fail due to a problem in the SPI controller or due to the flash part 577 not returning the expected information. This option changes 578 log_ret() to log any errors it sees. With this option disabled, 579 log_ret() is a nop. 580 581 You can add log_ret() to all functions which return an error code. 582 583endmenu 584 585config SUPPORT_RAW_INITRD 586 bool "Enable raw initrd images" 587 help 588 Note, defining the SUPPORT_RAW_INITRD allows user to supply 589 kernel with raw initrd images. The syntax is slightly different, the 590 address of the initrd must be augmented by it's size, in the following 591 format: "<initrd address>:<initrd size>". 592 593config DEFAULT_FDT_FILE 594 string "Default fdt file" 595 help 596 This option is used to set the default fdt file to boot OS. 597 598config MISC_INIT_R 599 bool "Execute Misc Init" 600 default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx 601 default y if ARCH_OMAP2PLUS && !AM33XX 602 help 603 Enabling this option calls 'misc_init_r' function 604 605config VERSION_VARIABLE 606 bool "add U-Boot environment variable vers" 607 default n 608 help 609 If this variable is defined, an environment variable 610 named "ver" is created by U-Boot showing the U-Boot 611 version as printed by the "version" command. 612 Any change to this variable will be reverted at the 613 next reset. 614 615config BOARD_LATE_INIT 616 bool "Execute Board late init" 617 help 618 Sometimes board require some initialization code that might 619 require once the actual init done, example saving board specific env, 620 boot-modes etc. which eventually done at late. 621 622 So this config enable the late init code with the help of board_late_init 623 function which should defined on respective boards. 624 625config DISPLAY_CPUINFO 626 bool "Display information about the CPU during start up" 627 default y if ARC|| ARM || NIOS2 || X86 || XTENSA || M68K 628 help 629 Display information about the CPU that U-Boot is running on 630 when U-Boot starts up. The function print_cpuinfo() is called 631 to do this. 632 633config DISPLAY_BOARDINFO 634 bool "Display information about the board during early start up" 635 default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA 636 help 637 Display information about the board that U-Boot is running on 638 when U-Boot starts up. The board function checkboard() is called 639 to do this. 640 641config DISPLAY_BOARDINFO_LATE 642 bool "Display information about the board during late start up" 643 help 644 Display information about the board that U-Boot is running on after 645 the relocation phase. The board function checkboard() is called to do 646 this. 647 648config BOUNCE_BUFFER 649 bool "Include bounce buffer API" 650 help 651 Some peripherals support DMA from a subset of physically 652 addressable memory only. To support such peripherals, the 653 bounce buffer API uses a temporary buffer: it copies data 654 to/from DMA regions while managing cache operations. 655 656 A second possible use of bounce buffers is their ability to 657 provide aligned buffers for DMA operations. 658 659config BOARD_TYPES 660 bool "Call get_board_type() to get and display the board type" 661 help 662 If this option is enabled, checkboard() will call get_board_type() 663 to get a string containing the board type and this will be 664 displayed immediately after the model is shown on the console 665 early in boot. 666 667menu "Start-up hooks" 668 669config ARCH_EARLY_INIT_R 670 bool "Call arch-specific init soon after relocation" 671 help 672 With this option U-Boot will call arch_early_init_r() soon after 673 relocation. Driver model is running by this point, and the cache 674 is on. Note that board_early_init_r() is called first, if 675 enabled. This can be used to set up architecture-specific devices. 676 677config ARCH_MISC_INIT 678 bool "Call arch-specific init after relocation, when console is ready" 679 help 680 With this option U-Boot will call arch_misc_init() after 681 relocation to allow miscellaneous arch-dependent initialisation 682 to be performed. This function should be defined by the board 683 and will be called after the console is set up, after relocation. 684 685config BOARD_EARLY_INIT_F 686 bool "Call board-specific init before relocation" 687 help 688 Some boards need to perform initialisation as soon as possible 689 after boot. With this option, U-Boot calls board_early_init_f() 690 after driver model is ready in the pre-relocation init sequence. 691 Note that the normal serial console is not yet set up, but the 692 debug UART will be available if enabled. 693 694config BOARD_EARLY_INIT_R 695 bool "Call board-specific init after relocation" 696 help 697 Some boards need to perform initialisation as directly after 698 relocation. With this option, U-Boot calls board_early_init_r() 699 in the post-relocation init sequence. 700 701config LAST_STAGE_INIT 702 bool "Call board-specific as last setup step" 703 help 704 Some boards need to perform initialisation immediately before control 705 is passed to the command-line interpreter (e.g. for initializations 706 that depend on later phases in the init sequence). With this option, 707 U-Boot calls last_stage_init() before the command-line interpreter is 708 started. 709 710endmenu 711 712menu "Security support" 713 714config HASH 715 bool # "Support hashing API (SHA1, SHA256, etc.)" 716 help 717 This provides a way to hash data in memory using various supported 718 algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h 719 and the algorithms it supports are defined in common/hash.c. See 720 also CMD_HASH for command-line access. 721 722config AVB_VERIFY 723 bool "Build Android Verified Boot operations" 724 depends on LIBAVB && FASTBOOT 725 depends on PARTITION_UUIDS 726 help 727 This option enables compilation of bootloader-dependent operations, 728 used by Android Verified Boot 2.0 library (libavb). Includes: 729 * Helpers to process strings in order to build OS bootargs. 730 * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c. 731 * Helpers to alloc/init/free avb ops. 732 733config SPL_HASH 734 bool # "Support hashing API (SHA1, SHA256, etc.)" 735 help 736 This provides a way to hash data in memory using various supported 737 algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h 738 and the algorithms it supports are defined in common/hash.c. See 739 also CMD_HASH for command-line access. 740 741config TPL_HASH 742 bool # "Support hashing API (SHA1, SHA256, etc.)" 743 help 744 This provides a way to hash data in memory using various supported 745 algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h 746 and the algorithms it supports are defined in common/hash.c. See 747 also CMD_HASH for command-line access. 748 749endmenu 750 751menu "Update support" 752 753config UPDATE_TFTP 754 bool "Auto-update using fitImage via TFTP" 755 depends on FIT 756 help 757 This option allows performing update of NOR with data in fitImage 758 sent via TFTP boot. 759 760config UPDATE_TFTP_CNT_MAX 761 int "The number of connection retries during auto-update" 762 default 0 763 depends on UPDATE_TFTP 764 765config UPDATE_TFTP_MSEC_MAX 766 int "Delay in mSec to wait for the TFTP server during auto-update" 767 default 100 768 depends on UPDATE_TFTP 769 770endmenu 771 772menu "Blob list" 773 774config BLOBLIST 775 bool "Support for a bloblist" 776 help 777 This enables support for a bloblist in U-Boot, which can be passed 778 from TPL to SPL to U-Boot proper (and potentially to Linux). The 779 blob list supports multiple binary blobs of data, each with a tag, 780 so that different U-Boot components can store data which can survive 781 through to the next stage of the boot. 782 783config SPL_BLOBLIST 784 bool "Support for a bloblist in SPL" 785 depends on BLOBLIST 786 default y if SPL 787 help 788 This enables a bloblist in SPL. If this is the first part of U-Boot 789 to run, then the bloblist is set up in SPL and passed to U-Boot 790 proper. If TPL also has a bloblist, then SPL uses the one from there. 791 792config TPL_BLOBLIST 793 bool "Support for a bloblist in TPL" 794 depends on BLOBLIST 795 default y if TPL 796 help 797 This enables a bloblist in TPL. The bloblist is set up in TPL and 798 passed to SPL and U-Boot proper. 799 800config BLOBLIST_SIZE 801 hex "Size of bloblist" 802 depends on BLOBLIST 803 default 0x400 804 help 805 Sets the size of the bloblist in bytes. This must include all 806 overhead (alignment, bloblist header, record header). The bloblist 807 is set up in the first part of U-Boot to run (TPL, SPL or U-Boot 808 proper), and this sane bloblist is used for subsequent stages. 809 810config BLOBLIST_ADDR 811 hex "Address of bloblist" 812 depends on BLOBLIST 813 default 0xe000 if SANDBOX 814 help 815 Sets the address of the bloblist, set up by the first part of U-Boot 816 which runs. Subsequent U-Boot stages typically use the same address. 817 818endmenu 819 820source "common/spl/Kconfig" 821