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 BOOTSTAGE_REPORT 31 bool "Display a detailed boot timing report before booting the OS" 32 depends on BOOTSTAGE 33 help 34 Enable output of a boot time report just before the OS is booted. 35 This shows how long it took U-Boot to go through each stage of the 36 boot process. The report looks something like this: 37 38 Timer summary in microseconds: 39 Mark Elapsed Stage 40 0 0 reset 41 3,575,678 3,575,678 board_init_f start 42 3,575,695 17 arch_cpu_init A9 43 3,575,777 82 arch_cpu_init done 44 3,659,598 83,821 board_init_r start 45 3,910,375 250,777 main_loop 46 29,916,167 26,005,792 bootm_start 47 30,361,327 445,160 start_kernel 48 49config BOOTSTAGE_USER_COUNT 50 int "Number of boot ID numbers available for user use" 51 default 20 52 help 53 This is the number of available user bootstage records. 54 Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) 55 a new ID will be allocated from this stash. If you exceed 56 the limit, recording will stop. 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 BOOTSTAGE_FDT 66 bool "Store boot timing information in the OS device tree" 67 depends on BOOTSTAGE 68 help 69 Stash the bootstage information in the FDT. A root 'bootstage' 70 node is created with each bootstage id as a child. Each child 71 has a 'name' property and either 'mark' containing the 72 mark time in microseconds, or 'accum' containing the 73 accumulated time for that bootstage id in microseconds. 74 For example: 75 76 bootstage { 77 154 { 78 name = "board_init_f"; 79 mark = <3575678>; 80 }; 81 170 { 82 name = "lcd"; 83 accum = <33482>; 84 }; 85 }; 86 87 Code in the Linux kernel can find this in /proc/devicetree. 88 89config BOOTSTAGE_STASH 90 bool "Stash the boot timing information in memory before booting OS" 91 depends on BOOTSTAGE 92 help 93 Some OSes do not support device tree. Bootstage can instead write 94 the boot timing information in a binary format at a given address. 95 This happens through a call to bootstage_stash(), typically in 96 the CPU's cleanup_before_linux() function. You can use the 97 'bootstage stash' and 'bootstage unstash' commands to do this on 98 the command line. 99 100config BOOTSTAGE_STASH_ADDR 101 hex "Address to stash boot timing information" 102 default 0 103 help 104 Provide an address which will not be overwritten by the OS when it 105 starts, so that it can read this information when ready. 106 107config BOOTSTAGE_STASH_SIZE 108 hex "Size of boot timing stash region" 109 default 0x1000 110 help 111 This should be large enough to hold the bootstage stash. A value of 112 4096 (4KiB) is normally plenty. 113 114endmenu 115 116menu "Boot media" 117 118config NOR_BOOT 119 bool "Support for booting from NOR flash" 120 depends on NOR 121 help 122 Enabling this will make a U-Boot binary that is capable of being 123 booted via NOR. In this case we will enable certain pinmux early 124 as the ROM only partially sets up pinmux. We also default to using 125 NOR for environment. 126 127config NAND_BOOT 128 bool "Support for booting from NAND flash" 129 default n 130 help 131 Enabling this will make a U-Boot binary that is capable of being 132 booted via NAND flash. This is not a must, some SoCs need this, 133 some not. 134 135config ONENAND_BOOT 136 bool "Support for booting from ONENAND" 137 default n 138 help 139 Enabling this will make a U-Boot binary that is capable of being 140 booted via ONENAND. This is not a must, some SoCs need this, 141 some not. 142 143config QSPI_BOOT 144 bool "Support for booting from QSPI flash" 145 default n 146 help 147 Enabling this will make a U-Boot binary that is capable of being 148 booted via QSPI flash. This is not a must, some SoCs need this, 149 some not. 150 151config SATA_BOOT 152 bool "Support for booting from SATA" 153 default n 154 help 155 Enabling this will make a U-Boot binary that is capable of being 156 booted via SATA. This is not a must, some SoCs need this, 157 some not. 158 159config SD_BOOT 160 bool "Support for booting from SD/EMMC" 161 default n 162 help 163 Enabling this will make a U-Boot binary that is capable of being 164 booted via SD/EMMC. This is not a must, some SoCs need this, 165 some not. 166 167config SPI_BOOT 168 bool "Support for booting from SPI flash" 169 default n 170 help 171 Enabling this will make a U-Boot binary that is capable of being 172 booted via SPI flash. This is not a must, some SoCs need this, 173 some not. 174 175endmenu 176 177menu "Environment" 178 179config ENV_IS_IN_DATAFLASH 180 bool "Environment in dataflash" 181 depends on !CHAIN_OF_TRUST 182 help 183 Define this if you have a DataFlash memory device which you 184 want to use for the environment. 185 186 - CONFIG_ENV_OFFSET: 187 - CONFIG_ENV_ADDR: 188 - CONFIG_ENV_SIZE: 189 190 These three #defines specify the offset and size of the 191 environment area within the total memory of your DataFlash placed 192 at the specified address. 193 194config ENV_IS_IN_EEPROM 195 bool "Environment in EEPROM" 196 depends on !CHAIN_OF_TRUST 197 help 198 Use this if you have an EEPROM or similar serial access 199 device and a driver for it. 200 201 - CONFIG_ENV_OFFSET: 202 - CONFIG_ENV_SIZE: 203 204 These two #defines specify the offset and size of the 205 environment area within the total memory of your EEPROM. 206 207 - CONFIG_SYS_I2C_EEPROM_ADDR: 208 If defined, specified the chip address of the EEPROM device. 209 The default address is zero. 210 211 - CONFIG_SYS_I2C_EEPROM_BUS: 212 If defined, specified the i2c bus of the EEPROM device. 213 214 - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: 215 If defined, the number of bits used to address bytes in a 216 single page in the EEPROM device. A 64 byte page, for example 217 would require six bits. 218 219 - CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS: 220 If defined, the number of milliseconds to delay between 221 page writes. The default is zero milliseconds. 222 223 - CONFIG_SYS_I2C_EEPROM_ADDR_LEN: 224 The length in bytes of the EEPROM memory array address. Note 225 that this is NOT the chip address length! 226 227 - CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW: 228 EEPROM chips that implement "address overflow" are ones 229 like Catalyst 24WC04/08/16 which has 9/10/11 bits of 230 address and the extra bits end up in the "chip address" bit 231 slots. This makes a 24WC08 (1Kbyte) chip look like four 256 232 byte chips. 233 234 Note that we consider the length of the address field to 235 still be one byte because the extra address bits are hidden 236 in the chip address. 237 238 - CONFIG_SYS_EEPROM_SIZE: 239 The size in bytes of the EEPROM device. 240 241 - CONFIG_ENV_EEPROM_IS_ON_I2C 242 define this, if you have I2C and SPI activated, and your 243 EEPROM, which holds the environment, is on the I2C bus. 244 245 - CONFIG_I2C_ENV_EEPROM_BUS 246 if you have an Environment on an EEPROM reached over 247 I2C muxes, you can define here, how to reach this 248 EEPROM. For example: 249 250 #define CONFIG_I2C_ENV_EEPROM_BUS 1 251 252 EEPROM which holds the environment, is reached over 253 a pca9547 i2c mux with address 0x70, channel 3. 254 255config ENV_IS_IN_FAT 256 bool "Environment is in a FAT filesystem" 257 depends on !CHAIN_OF_TRUST 258 help 259 Define this if you want to use the FAT file system for the environment. 260 261 - FAT_ENV_INTERFACE: 262 263 Define this to a string that is the name of the block device. 264 265 - FAT_ENV_DEVICE_AND_PART: 266 267 Define this to a string to specify the partition of the device. It can 268 be as following: 269 270 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1) 271 - "D:P": device D partition P. Error occurs if device D has no 272 partition table. 273 - "D:0": device D. 274 - "D" or "D:": device D partition 1 if device D has partition 275 table, or the whole device D if has no partition 276 table. 277 - "D:auto": first partition in device D with bootable flag set. 278 If none, first valid partition in device D. If no 279 partition table then means device D. 280 281 - FAT_ENV_FILE: 282 283 It's a string of the FAT file name. This file use to store the 284 environment. 285 286 - CONFIG_FAT_WRITE: 287 This must be enabled. Otherwise it cannot save the environment file. 288 289config ENV_IS_IN_FLASH 290 bool "Environment in flash memory" 291 depends on !CHAIN_OF_TRUST 292 help 293 Define this if you have a flash device which you want to use for the 294 environment. 295 296 a) The environment occupies one whole flash sector, which is 297 "embedded" in the text segment with the U-Boot code. This 298 happens usually with "bottom boot sector" or "top boot 299 sector" type flash chips, which have several smaller 300 sectors at the start or the end. For instance, such a 301 layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In 302 such a case you would place the environment in one of the 303 4 kB sectors - with U-Boot code before and after it. With 304 "top boot sector" type flash chips, you would put the 305 environment in one of the last sectors, leaving a gap 306 between U-Boot and the environment. 307 308 CONFIG_ENV_OFFSET: 309 310 Offset of environment data (variable area) to the 311 beginning of flash memory; for instance, with bottom boot 312 type flash chips the second sector can be used: the offset 313 for this sector is given here. 314 315 CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE. 316 317 CONFIG_ENV_ADDR: 318 319 This is just another way to specify the start address of 320 the flash sector containing the environment (instead of 321 CONFIG_ENV_OFFSET). 322 323 CONFIG_ENV_SECT_SIZE: 324 325 Size of the sector containing the environment. 326 327 328 b) Sometimes flash chips have few, equal sized, BIG sectors. 329 In such a case you don't want to spend a whole sector for 330 the environment. 331 332 CONFIG_ENV_SIZE: 333 334 If you use this in combination with CONFIG_ENV_IS_IN_FLASH 335 and CONFIG_ENV_SECT_SIZE, you can specify to use only a part 336 of this flash sector for the environment. This saves 337 memory for the RAM copy of the environment. 338 339 It may also save flash memory if you decide to use this 340 when your environment is "embedded" within U-Boot code, 341 since then the remainder of the flash sector could be used 342 for U-Boot code. It should be pointed out that this is 343 STRONGLY DISCOURAGED from a robustness point of view: 344 updating the environment in flash makes it always 345 necessary to erase the WHOLE sector. If something goes 346 wrong before the contents has been restored from a copy in 347 RAM, your target system will be dead. 348 349 CONFIG_ENV_ADDR_REDUND 350 CONFIG_ENV_SIZE_REDUND 351 352 These settings describe a second storage area used to hold 353 a redundant copy of the environment data, so that there is 354 a valid backup copy in case there is a power failure during 355 a "saveenv" operation. 356 357 BE CAREFUL! Any changes to the flash layout, and some changes to the 358 source code will make it necessary to adapt <board>/u-boot.lds* 359 accordingly! 360 361config ENV_IS_IN_MMC 362 bool "Environment in an MMC device" 363 depends on !CHAIN_OF_TRUST 364 default y if ARCH_SUNXI 365 help 366 Define this if you have an MMC device which you want to use for the 367 environment. 368 369 CONFIG_SYS_MMC_ENV_DEV: 370 371 Specifies which MMC device the environment is stored in. 372 373 CONFIG_SYS_MMC_ENV_PART (optional): 374 375 Specifies which MMC partition the environment is stored in. If not 376 set, defaults to partition 0, the user area. Common values might be 377 1 (first MMC boot partition), 2 (second MMC boot partition). 378 379 CONFIG_ENV_OFFSET: 380 CONFIG_ENV_SIZE: 381 382 These two #defines specify the offset and size of the environment 383 area within the specified MMC device. 384 385 If offset is positive (the usual case), it is treated as relative to 386 the start of the MMC partition. If offset is negative, it is treated 387 as relative to the end of the MMC partition. This can be useful if 388 your board may be fitted with different MMC devices, which have 389 different sizes for the MMC partitions, and you always want the 390 environment placed at the very end of the partition, to leave the 391 maximum possible space before it, to store other data. 392 393 These two values are in units of bytes, but must be aligned to an 394 MMC sector boundary. 395 396 CONFIG_ENV_OFFSET_REDUND (optional): 397 398 Specifies a second storage area, of CONFIG_ENV_SIZE size, used to 399 hold a redundant copy of the environment data. This provides a 400 valid backup copy in case the other copy is corrupted, e.g. due 401 to a power failure during a "saveenv" operation. 402 403 This value may also be positive or negative; this is handled in the 404 same way as CONFIG_ENV_OFFSET. 405 406 This value is also in units of bytes, but must also be aligned to 407 an MMC sector boundary. 408 409 CONFIG_ENV_SIZE_REDUND (optional): 410 411 This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is 412 set. If this value is set, it must be set to the same value as 413 CONFIG_ENV_SIZE. 414 415config ENV_IS_IN_NAND 416 bool "Environment in a NAND device" 417 depends on !CHAIN_OF_TRUST 418 help 419 Define this if you have a NAND device which you want to use for the 420 environment. 421 422 - CONFIG_ENV_OFFSET: 423 - CONFIG_ENV_SIZE: 424 425 These two #defines specify the offset and size of the environment 426 area within the first NAND device. CONFIG_ENV_OFFSET must be 427 aligned to an erase block boundary. 428 429 - CONFIG_ENV_OFFSET_REDUND (optional): 430 431 This setting describes a second storage area of CONFIG_ENV_SIZE 432 size used to hold a redundant copy of the environment data, so 433 that there is a valid backup copy in case there is a power failure 434 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be 435 aligned to an erase block boundary. 436 437 - CONFIG_ENV_RANGE (optional): 438 439 Specifies the length of the region in which the environment 440 can be written. This should be a multiple of the NAND device's 441 block size. Specifying a range with more erase blocks than 442 are needed to hold CONFIG_ENV_SIZE allows bad blocks within 443 the range to be avoided. 444 445 - CONFIG_ENV_OFFSET_OOB (optional): 446 447 Enables support for dynamically retrieving the offset of the 448 environment from block zero's out-of-band data. The 449 "nand env.oob" command can be used to record this offset. 450 Currently, CONFIG_ENV_OFFSET_REDUND is not supported when 451 using CONFIG_ENV_OFFSET_OOB. 452 453config ENV_IS_IN_NVRAM 454 bool "Environment in a non-volatile RAM" 455 depends on !CHAIN_OF_TRUST 456 help 457 Define this if you have some non-volatile memory device 458 (NVRAM, battery buffered SRAM) which you want to use for the 459 environment. 460 461 - CONFIG_ENV_ADDR: 462 - CONFIG_ENV_SIZE: 463 464 These two #defines are used to determine the memory area you 465 want to use for environment. It is assumed that this memory 466 can just be read and written to, without any special 467 provision. 468 469config ENV_IS_IN_ONENAND 470 bool "Environment is in OneNAND" 471 depends on !CHAIN_OF_TRUST 472 help 473 Define this if you want to put your local device's environment in 474 OneNAND. 475 476 - CONFIG_ENV_ADDR: 477 - CONFIG_ENV_SIZE: 478 479 These two #defines are used to determine the device range you 480 want to use for environment. It is assumed that this memory 481 can just be read and written to, without any special 482 provision. 483 484config ENV_IS_IN_REMOTE 485 bool "Environment is in remove memory space" 486 depends on !CHAIN_OF_TRUST 487 help 488 Define this if you have a remote memory space which you 489 want to use for the local device's environment. 490 491 - CONFIG_ENV_ADDR: 492 - CONFIG_ENV_SIZE: 493 494 These two #defines specify the address and size of the 495 environment area within the remote memory space. The 496 local device can get the environment from remote memory 497 space by SRIO or PCIE links. 498 499config ENV_IS_IN_SPI_FLASH 500 bool "Environment is in SPI flash" 501 depends on !CHAIN_OF_TRUST 502 help 503 Define this if you have a SPI Flash memory device which you 504 want to use for the environment. 505 506 - CONFIG_ENV_OFFSET: 507 - CONFIG_ENV_SIZE: 508 509 These two #defines specify the offset and size of the 510 environment area within the SPI Flash. CONFIG_ENV_OFFSET must be 511 aligned to an erase sector boundary. 512 513 - CONFIG_ENV_SECT_SIZE: 514 515 Define the SPI flash's sector size. 516 517 - CONFIG_ENV_OFFSET_REDUND (optional): 518 519 This setting describes a second storage area of CONFIG_ENV_SIZE 520 size used to hold a redundant copy of the environment data, so 521 that there is a valid backup copy in case there is a power failure 522 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be 523 aligned to an erase sector boundary. 524 525 - CONFIG_ENV_SPI_BUS (optional): 526 - CONFIG_ENV_SPI_CS (optional): 527 528 Define the SPI bus and chip select. If not defined they will be 0. 529 530 - CONFIG_ENV_SPI_MAX_HZ (optional): 531 532 Define the SPI max work clock. If not defined then use 1MHz. 533 534 - CONFIG_ENV_SPI_MODE (optional): 535 536 Define the SPI work mode. If not defined then use SPI_MODE_3. 537 538config ENV_IS_IN_UBI 539 bool "Environment in a UBI volume" 540 depends on !CHAIN_OF_TRUST 541 help 542 Define this if you have an UBI volume that you want to use for the 543 environment. This has the benefit of wear-leveling the environment 544 accesses, which is important on NAND. 545 546 - CONFIG_ENV_UBI_PART: 547 548 Define this to a string that is the mtd partition containing the UBI. 549 550 - CONFIG_ENV_UBI_VOLUME: 551 552 Define this to the name of the volume that you want to store the 553 environment in. 554 555 - CONFIG_ENV_UBI_VOLUME_REDUND: 556 557 Define this to the name of another volume to store a second copy of 558 the environment in. This will enable redundant environments in UBI. 559 It is assumed that both volumes are in the same MTD partition. 560 561 - CONFIG_UBI_SILENCE_MSG 562 - CONFIG_UBIFS_SILENCE_MSG 563 564 You will probably want to define these to avoid a really noisy system 565 when storing the env in UBI. 566 567config ENV_IS_NOWHERE 568 bool "Environment is not stored" 569 help 570 Define this if you don't want to or can't have an environment stored 571 on a storage medium 572 573if ARCH_SUNXI 574 575config ENV_OFFSET 576 hex "Environment Offset" 577 depends on !ENV_IS_IN_UBI 578 depends on !ENV_IS_NOWHERE 579 default 0x88000 if ARCH_SUNXI 580 help 581 Offset from the start of the device (or partition) 582 583config ENV_SIZE 584 hex "Environment Size" 585 depends on !ENV_IS_NOWHERE 586 default 0x20000 if ARCH_SUNXI 587 help 588 Size of the environment storage area 589 590config ENV_UBI_PART 591 string "UBI partition name" 592 depends on ENV_IS_IN_UBI 593 help 594 MTD partition containing the UBI device 595 596config ENV_UBI_VOLUME 597 string "UBI volume name" 598 depends on ENV_IS_IN_UBI 599 help 600 Name of the volume that you want to store the environment in. 601 602endif 603 604endmenu 605 606config BOOTDELAY 607 int "delay in seconds before automatically booting" 608 default 2 609 depends on AUTOBOOT 610 help 611 Delay before automatically running bootcmd; 612 set to 0 to autoboot with no delay, but you can stop it by key input. 613 set to -1 to disable autoboot. 614 set to -2 to autoboot with no delay and not check for abort 615 616 See doc/README.autoboot for details. 617 618menu "Console" 619 620config MENU 621 bool 622 help 623 This is the library functionality to provide a text-based menu of 624 choices for the user to make choices with. 625 626config CONSOLE_RECORD 627 bool "Console recording" 628 help 629 This provides a way to record console output (and provide console 630 input) through circular buffers. This is mostly useful for testing. 631 Console output is recorded even when the console is silent. 632 To enable console recording, call console_record_reset_enable() 633 from your code. 634 635config CONSOLE_RECORD_OUT_SIZE 636 hex "Output buffer size" 637 depends on CONSOLE_RECORD 638 default 0x400 if CONSOLE_RECORD 639 help 640 Set the size of the console output buffer. When this fills up, no 641 more data will be recorded until some is removed. The buffer is 642 allocated immediately after the malloc() region is ready. 643 644config CONSOLE_RECORD_IN_SIZE 645 hex "Input buffer size" 646 depends on CONSOLE_RECORD 647 default 0x100 if CONSOLE_RECORD 648 help 649 Set the size of the console input buffer. When this contains data, 650 tstc() and getc() will use this in preference to real device input. 651 The buffer is allocated immediately after the malloc() region is 652 ready. 653 654config IDENT_STRING 655 string "Board specific string to be added to uboot version string" 656 help 657 This options adds the board specific name to u-boot version. 658 659config SILENT_CONSOLE 660 bool "Support a silent console" 661 help 662 This option allows the console to be silenced, meaning that no 663 output will appear on the console devices. This is controlled by 664 setting the environment vaariable 'silent' to a non-empty value. 665 Note this also silences the console when booting Linux. 666 667 When the console is set up, the variable is checked, and the 668 GD_FLG_SILENT flag is set. Changing the environment variable later 669 will update the flag. 670 671config SILENT_U_BOOT_ONLY 672 bool "Only silence the U-Boot console" 673 depends on SILENT_CONSOLE 674 help 675 Normally when the U-Boot console is silenced, Linux's console is 676 also silenced (assuming the board boots into Linux). This option 677 allows the linux console to operate normally, even if U-Boot's 678 is silenced. 679 680config SILENT_CONSOLE_UPDATE_ON_SET 681 bool "Changes to the 'silent' environment variable update immediately" 682 depends on SILENT_CONSOLE 683 default y if SILENT_CONSOLE 684 help 685 When the 'silent' environment variable is changed, update the 686 console silence flag immediately. This allows 'setenv' to be used 687 to silence or un-silence the console. 688 689 The effect is that any change to the variable will affect the 690 GD_FLG_SILENT flag. 691 692config SILENT_CONSOLE_UPDATE_ON_RELOC 693 bool "Allow flags to take effect on relocation" 694 depends on SILENT_CONSOLE 695 help 696 In some cases the environment is not available until relocation 697 (e.g. NAND). This option makes the value of the 'silent' 698 environment variable take effect at relocation. 699 700config PRE_CONSOLE_BUFFER 701 bool "Buffer characters before the console is available" 702 help 703 Prior to the console being initialised (i.e. serial UART 704 initialised etc) all console output is silently discarded. 705 Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to 706 buffer any console messages prior to the console being 707 initialised to a buffer. The buffer is a circular buffer, so 708 if it overflows, earlier output is discarded. 709 710 Note that this is not currently supported in SPL. It would be 711 useful to be able to share the pre-console buffer with SPL. 712 713config PRE_CON_BUF_SZ 714 int "Sets the size of the pre-console buffer" 715 depends on PRE_CONSOLE_BUFFER 716 default 4096 717 help 718 The size of the pre-console buffer affects how much console output 719 can be held before it overflows and starts discarding earlier 720 output. Normally there is very little output at this early stage, 721 unless debugging is enabled, so allow enough for ~10 lines of 722 text. 723 724 This is a useful feature if you are using a video console and 725 want to see the full boot output on the console. Without this 726 option only the post-relocation output will be displayed. 727 728config PRE_CON_BUF_ADDR 729 hex "Address of the pre-console buffer" 730 depends on PRE_CONSOLE_BUFFER 731 default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I 732 default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I 733 help 734 This sets the start address of the pre-console buffer. This must 735 be in available memory and is accessed before relocation and 736 possibly before DRAM is set up. Therefore choose an address 737 carefully. 738 739 We should consider removing this option and allocating the memory 740 in board_init_f_init_reserve() instead. 741 742config CONSOLE_MUX 743 bool "Enable console multiplexing" 744 default y if DM_VIDEO || VIDEO || LCD 745 help 746 This allows multiple devices to be used for each console 'file'. 747 For example, stdout can be set to go to serial and video. 748 Similarly, stdin can be set to come from serial and keyboard. 749 Input can be provided from either source. Console multiplexing 750 adds a small amount of size to U-Boot. Changes to the environment 751 variables stdout, stdin and stderr will take effect immediately. 752 753config SYS_CONSOLE_IS_IN_ENV 754 bool "Select console devices from the environment" 755 default y if CONSOLE_MUX 756 help 757 This allows multiple input/output devices to be set at boot time. 758 For example, if stdout is set to "serial,video" then output will 759 be sent to both the serial and video devices on boot. The 760 environment variables can be updated after boot to change the 761 input/output devices. 762 763config SYS_CONSOLE_OVERWRITE_ROUTINE 764 bool "Allow board control over console overwriting" 765 help 766 If this is enabled, and the board-specific function 767 overwrite_console() returns 1, the stdin, stderr and stdout are 768 switched to the serial port, else the settings in the environment 769 are used. If this is not enabled, the console will not be switched 770 to serial. 771 772config SYS_CONSOLE_ENV_OVERWRITE 773 bool "Update environment variables during console init" 774 help 775 The console environment variables (stdout, stdin, stderr) can be 776 used to determine the correct console devices on start-up. This 777 option writes the console devices to these variables on console 778 start-up (after relocation). This causes the environment to be 779 updated to match the console devices actually chosen. 780 781config SYS_CONSOLE_INFO_QUIET 782 bool "Don't display the console devices on boot" 783 help 784 Normally U-Boot displays the current settings for stdout, stdin 785 and stderr on boot when the post-relocation console is set up. 786 Enable this option to supress this output. It can be obtained by 787 calling stdio_print_current_devices() from board code. 788 789config SYS_STDIO_DEREGISTER 790 bool "Allow deregistering stdio devices" 791 default y if USB_KEYBOARD 792 help 793 Generally there is no need to deregister stdio devices since they 794 are never deactivated. But if a stdio device is used which can be 795 removed (for example a USB keyboard) then this option can be 796 enabled to ensure this is handled correctly. 797 798endmenu 799 800config DTB_RESELECT 801 bool "Support swapping dtbs at a later point in boot" 802 depends on FIT_EMBED 803 help 804 It is possible during initial boot you may need to use a generic 805 dtb until you can fully determine the board your running on. This 806 config allows boards to implement a function at a later point 807 during boot to switch to the "correct" dtb. 808 809config FIT_EMBED 810 bool "Support a FIT image embedded in the U-boot image" 811 help 812 This option provides hooks to allow U-boot to parse an 813 appended FIT image and enable board specific code to then select 814 the correct DTB to be used. 815 816config DEFAULT_FDT_FILE 817 string "Default fdt file" 818 help 819 This option is used to set the default fdt file to boot OS. 820 821config VERSION_VARIABLE 822 bool "add U-Boot environment variable vers" 823 default n 824 help 825 If this variable is defined, an environment variable 826 named "ver" is created by U-Boot showing the U-Boot 827 version as printed by the "version" command. 828 Any change to this variable will be reverted at the 829 next reset. 830 831config BOARD_LATE_INIT 832 bool 833 help 834 Sometimes board require some initialization code that might 835 require once the actual init done, example saving board specific env, 836 boot-modes etc. which eventually done at late. 837 838 So this config enable the late init code with the help of board_late_init 839 function which should defined on respective boards. 840 841config DISPLAY_CPUINFO 842 bool "Display information about the CPU during start up" 843 default y if ARM || NIOS2 || X86 || XTENSA 844 help 845 Display information about the CPU that U-Boot is running on 846 when U-Boot starts up. The function print_cpuinfo() is called 847 to do this. 848 849config DISPLAY_BOARDINFO 850 bool "Display information about the board during start up" 851 default y if ARM || M68K || MIPS || PPC || SANDBOX || XTENSA 852 help 853 Display information about the board that U-Boot is running on 854 when U-Boot starts up. The board function checkboard() is called 855 to do this. 856 857menu "Start-up hooks" 858 859config ARCH_EARLY_INIT_R 860 bool "Call arch-specific init soon after relocation" 861 default y if X86 862 help 863 With this option U-Boot will call arch_early_init_r() soon after 864 relocation. Driver model is running by this point, and the cache 865 is on. Note that board_early_init_r() is called first, if 866 enabled. This can be used to set up architecture-specific devices. 867 868config ARCH_MISC_INIT 869 bool "Call arch-specific init after relocation, when console is ready" 870 help 871 With this option U-Boot will call arch_misc_init() after 872 relocation to allow miscellaneous arch-dependent initialisation 873 to be performed. This function should be defined by the board 874 and will be called after the console is set up, after relocaiton. 875 876config BOARD_EARLY_INIT_F 877 bool "Call board-specific init before relocation" 878 default y if X86 879 help 880 Some boards need to perform initialisation as soon as possible 881 after boot. With this option, U-Boot calls board_early_init_f() 882 after driver model is ready in the pre-relocation init sequence. 883 Note that the normal serial console is not yet set up, but the 884 debug UART will be available if enabled. 885 886endmenu 887 888menu "Security support" 889 890config HASH 891 bool # "Support hashing API (SHA1, SHA256, etc.)" 892 help 893 This provides a way to hash data in memory using various supported 894 algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h 895 and the algorithms it supports are defined in common/hash.c. See 896 also CMD_HASH for command-line access. 897 898endmenu 899 900source "common/spl/Kconfig" 901