1ee2b2434SSimon Glassmenu "Boot timing" 2ee2b2434SSimon Glass 3ee2b2434SSimon Glassconfig BOOTSTAGE 4ee2b2434SSimon Glass bool "Boot timing and reporting" 5ee2b2434SSimon Glass help 6ee2b2434SSimon Glass Enable recording of boot time while booting. To use it, insert 7ee2b2434SSimon Glass calls to bootstage_mark() with a suitable BOOTSTAGE_ID from 8ee2b2434SSimon Glass bootstage.h. Only a single entry is recorded for each ID. You can 9ee2b2434SSimon Glass give the entry a name with bootstage_mark_name(). You can also 10ee2b2434SSimon Glass record elapsed time in a particular stage using bootstage_start() 11ee2b2434SSimon Glass before starting and bootstage_accum() when finished. Bootstage will 1257247d9cSRobert P. J. Day add up all the accumulated time and report it. 13ee2b2434SSimon Glass 14ee2b2434SSimon Glass Normally, IDs are defined in bootstage.h but a small number of 1557247d9cSRobert P. J. Day additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC 16ee2b2434SSimon Glass as the ID. 17ee2b2434SSimon Glass 1857247d9cSRobert P. J. Day Calls to show_boot_progress() will also result in log entries but 19ee2b2434SSimon Glass these will not have names. 20ee2b2434SSimon Glass 21ee2b2434SSimon Glassconfig BOOTSTAGE_REPORT 22ee2b2434SSimon Glass bool "Display a detailed boot timing report before booting the OS" 23ee2b2434SSimon Glass depends on BOOTSTAGE 24ee2b2434SSimon Glass help 25ee2b2434SSimon Glass Enable output of a boot time report just before the OS is booted. 26ee2b2434SSimon Glass This shows how long it took U-Boot to go through each stage of the 27ee2b2434SSimon Glass boot process. The report looks something like this: 28ee2b2434SSimon Glass 29ee2b2434SSimon Glass Timer summary in microseconds: 30ee2b2434SSimon Glass Mark Elapsed Stage 31ee2b2434SSimon Glass 0 0 reset 32ee2b2434SSimon Glass 3,575,678 3,575,678 board_init_f start 33ee2b2434SSimon Glass 3,575,695 17 arch_cpu_init A9 34ee2b2434SSimon Glass 3,575,777 82 arch_cpu_init done 35ee2b2434SSimon Glass 3,659,598 83,821 board_init_r start 36ee2b2434SSimon Glass 3,910,375 250,777 main_loop 37ee2b2434SSimon Glass 29,916,167 26,005,792 bootm_start 38ee2b2434SSimon Glass 30,361,327 445,160 start_kernel 39ee2b2434SSimon Glass 40ee2b2434SSimon Glassconfig BOOTSTAGE_USER_COUNT 41ee2b2434SSimon Glass hex "Number of boot ID numbers available for user use" 42ee2b2434SSimon Glass default 20 43ee2b2434SSimon Glass help 44ee2b2434SSimon Glass This is the number of available user bootstage records. 45ee2b2434SSimon Glass Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) 46ee2b2434SSimon Glass a new ID will be allocated from this stash. If you exceed 47ee2b2434SSimon Glass the limit, recording will stop. 48ee2b2434SSimon Glass 49ee2b2434SSimon Glassconfig BOOTSTAGE_FDT 50ee2b2434SSimon Glass bool "Store boot timing information in the OS device tree" 51ee2b2434SSimon Glass depends on BOOTSTAGE 52ee2b2434SSimon Glass help 53ee2b2434SSimon Glass Stash the bootstage information in the FDT. A root 'bootstage' 54ee2b2434SSimon Glass node is created with each bootstage id as a child. Each child 55ee2b2434SSimon Glass has a 'name' property and either 'mark' containing the 5657247d9cSRobert P. J. Day mark time in microseconds, or 'accum' containing the 57ee2b2434SSimon Glass accumulated time for that bootstage id in microseconds. 58ee2b2434SSimon Glass For example: 59ee2b2434SSimon Glass 60ee2b2434SSimon Glass bootstage { 61ee2b2434SSimon Glass 154 { 62ee2b2434SSimon Glass name = "board_init_f"; 63ee2b2434SSimon Glass mark = <3575678>; 64ee2b2434SSimon Glass }; 65ee2b2434SSimon Glass 170 { 66ee2b2434SSimon Glass name = "lcd"; 67ee2b2434SSimon Glass accum = <33482>; 68ee2b2434SSimon Glass }; 69ee2b2434SSimon Glass }; 70ee2b2434SSimon Glass 71ee2b2434SSimon Glass Code in the Linux kernel can find this in /proc/devicetree. 72ee2b2434SSimon Glass 73ee2b2434SSimon Glassconfig BOOTSTAGE_STASH 74ee2b2434SSimon Glass bool "Stash the boot timing information in memory before booting OS" 75ee2b2434SSimon Glass depends on BOOTSTAGE 76ee2b2434SSimon Glass help 77ee2b2434SSimon Glass Some OSes do not support device tree. Bootstage can instead write 78ee2b2434SSimon Glass the boot timing information in a binary format at a given address. 79ee2b2434SSimon Glass This happens through a call to bootstage_stash(), typically in 80ee2b2434SSimon Glass the CPU's cleanup_before_linux() function. You can use the 81ee2b2434SSimon Glass 'bootstage stash' and 'bootstage unstash' commands to do this on 82ee2b2434SSimon Glass the command line. 83ee2b2434SSimon Glass 84ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_ADDR 85ee2b2434SSimon Glass hex "Address to stash boot timing information" 86ee2b2434SSimon Glass default 0 87ee2b2434SSimon Glass help 88ee2b2434SSimon Glass Provide an address which will not be overwritten by the OS when it 89ee2b2434SSimon Glass starts, so that it can read this information when ready. 90ee2b2434SSimon Glass 91ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_SIZE 92ee2b2434SSimon Glass hex "Size of boot timing stash region" 93ee2b2434SSimon Glass default 4096 94ee2b2434SSimon Glass help 95ee2b2434SSimon Glass This should be large enough to hold the bootstage stash. A value of 96ee2b2434SSimon Glass 4096 (4KiB) is normally plenty. 97ee2b2434SSimon Glass 98ee2b2434SSimon Glassendmenu 99ee2b2434SSimon Glass 100d14739ffSPeng Fanmenu "Boot media" 101d14739ffSPeng Fan 102d14739ffSPeng Fanconfig NOR_BOOT 103d14739ffSPeng Fan bool "Support for booting from NOR flash" 104d14739ffSPeng Fan depends on NOR 105d14739ffSPeng Fan help 106d14739ffSPeng Fan Enabling this will make a U-Boot binary that is capable of being 107d14739ffSPeng Fan booted via NOR. In this case we will enable certain pinmux early 108d14739ffSPeng Fan as the ROM only partially sets up pinmux. We also default to using 109d14739ffSPeng Fan NOR for environment. 110d14739ffSPeng Fan 111faaef73fSPeng Fanconfig NAND_BOOT 112faaef73fSPeng Fan bool "Support for booting from NAND flash" 113faaef73fSPeng Fan default n 114faaef73fSPeng Fan help 115faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 116faaef73fSPeng Fan booted via NAND flash. This is not a must, some SoCs need this, 11757247d9cSRobert P. J. Day some not. 118faaef73fSPeng Fan 119faaef73fSPeng Fanconfig ONENAND_BOOT 120faaef73fSPeng Fan bool "Support for booting from ONENAND" 121faaef73fSPeng Fan default n 122faaef73fSPeng Fan help 123faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 124faaef73fSPeng Fan booted via ONENAND. This is not a must, some SoCs need this, 12557247d9cSRobert P. J. Day some not. 126faaef73fSPeng Fan 127faaef73fSPeng Fanconfig QSPI_BOOT 128faaef73fSPeng Fan bool "Support for booting from QSPI flash" 129faaef73fSPeng Fan default n 130faaef73fSPeng Fan help 131faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 132faaef73fSPeng Fan booted via QSPI flash. This is not a must, some SoCs need this, 13357247d9cSRobert P. J. Day some not. 134faaef73fSPeng Fan 135faaef73fSPeng Fanconfig SATA_BOOT 136faaef73fSPeng Fan bool "Support for booting from SATA" 137faaef73fSPeng Fan default n 138faaef73fSPeng Fan help 139faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 140faaef73fSPeng Fan booted via SATA. This is not a must, some SoCs need this, 14157247d9cSRobert P. J. Day some not. 142faaef73fSPeng Fan 143faaef73fSPeng Fanconfig SD_BOOT 144faaef73fSPeng Fan bool "Support for booting from SD/EMMC" 145faaef73fSPeng Fan default n 146faaef73fSPeng Fan help 147faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 148faaef73fSPeng Fan booted via SD/EMMC. This is not a must, some SoCs need this, 14957247d9cSRobert P. J. Day some not. 150faaef73fSPeng Fan 151faaef73fSPeng Fanconfig SPI_BOOT 152faaef73fSPeng Fan bool "Support for booting from SPI flash" 153faaef73fSPeng Fan default n 154faaef73fSPeng Fan help 155faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 156faaef73fSPeng Fan booted via SPI flash. This is not a must, some SoCs need this, 15757247d9cSRobert P. J. Day some not. 158faaef73fSPeng Fan 159d14739ffSPeng Fanendmenu 160d14739ffSPeng Fan 161bb597c0eSHeiko Schocherconfig BOOTDELAY 162bb597c0eSHeiko Schocher int "delay in seconds before automatically booting" 1635e4e8741STom Rini default 2 16441598c82SMasahiro Yamada depends on AUTOBOOT 165bb597c0eSHeiko Schocher help 166bb597c0eSHeiko Schocher Delay before automatically running bootcmd; 1672fbb8462SMasahiro Yamada set to 0 to autoboot with no delay, but you can stop it by key input. 168bb597c0eSHeiko Schocher set to -1 to disable autoboot. 169bb597c0eSHeiko Schocher set to -2 to autoboot with no delay and not check for abort 170bb597c0eSHeiko Schocher 1719060970fSMasahiro Yamada See doc/README.autoboot for details. 1729060970fSMasahiro Yamada 17398af8799SSimon Glassmenu "Console" 17498af8799SSimon Glass 1759854a874SSimon Glassconfig CONSOLE_RECORD 1769854a874SSimon Glass bool "Console recording" 1779854a874SSimon Glass help 1789854a874SSimon Glass This provides a way to record console output (and provide console 17957247d9cSRobert P. J. Day input) through circular buffers. This is mostly useful for testing. 1809854a874SSimon Glass Console output is recorded even when the console is silent. 1819854a874SSimon Glass To enable console recording, call console_record_reset_enable() 1829854a874SSimon Glass from your code. 1839854a874SSimon Glass 1849854a874SSimon Glassconfig CONSOLE_RECORD_OUT_SIZE 1859854a874SSimon Glass hex "Output buffer size" 1869854a874SSimon Glass depends on CONSOLE_RECORD 1879854a874SSimon Glass default 0x400 if CONSOLE_RECORD 1889854a874SSimon Glass help 1899854a874SSimon Glass Set the size of the console output buffer. When this fills up, no 1909854a874SSimon Glass more data will be recorded until some is removed. The buffer is 1919854a874SSimon Glass allocated immediately after the malloc() region is ready. 1929854a874SSimon Glass 1939854a874SSimon Glassconfig CONSOLE_RECORD_IN_SIZE 1949854a874SSimon Glass hex "Input buffer size" 1959854a874SSimon Glass depends on CONSOLE_RECORD 1969854a874SSimon Glass default 0x100 if CONSOLE_RECORD 1979854a874SSimon Glass help 1989854a874SSimon Glass Set the size of the console input buffer. When this contains data, 1999854a874SSimon Glass tstc() and getc() will use this in preference to real device input. 2009854a874SSimon Glass The buffer is allocated immediately after the malloc() region is 2019854a874SSimon Glass ready. 2024d25507fSSiva Durga Prasad Paladugu 203a4d88920SSiva Durga Prasad Paladuguconfig IDENT_STRING 204a4d88920SSiva Durga Prasad Paladugu string "Board specific string to be added to uboot version string" 205a4d88920SSiva Durga Prasad Paladugu help 206a4d88920SSiva Durga Prasad Paladugu This options adds the board specific name to u-boot version. 207a4d88920SSiva Durga Prasad Paladugu 20898af8799SSimon Glassconfig SILENT_CONSOLE 20998af8799SSimon Glass bool "Support a silent console" 21098af8799SSimon Glass help 21198af8799SSimon Glass This option allows the console to be silenced, meaning that no 21298af8799SSimon Glass output will appear on the console devices. This is controlled by 21398af8799SSimon Glass setting the environment vaariable 'silent' to a non-empty value. 21498af8799SSimon Glass Note this also silences the console when booting Linux. 21598af8799SSimon Glass 21698af8799SSimon Glass When the console is set up, the variable is checked, and the 21798af8799SSimon Glass GD_FLG_SILENT flag is set. Changing the environment variable later 21898af8799SSimon Glass will update the flag. 21998af8799SSimon Glass 22098af8799SSimon Glassconfig SILENT_U_BOOT_ONLY 22198af8799SSimon Glass bool "Only silence the U-Boot console" 22298af8799SSimon Glass depends on SILENT_CONSOLE 22398af8799SSimon Glass help 22498af8799SSimon Glass Normally when the U-Boot console is silenced, Linux's console is 22598af8799SSimon Glass also silenced (assuming the board boots into Linux). This option 22698af8799SSimon Glass allows the linux console to operate normally, even if U-Boot's 22798af8799SSimon Glass is silenced. 22898af8799SSimon Glass 22998af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_SET 23098af8799SSimon Glass bool "Changes to the 'silent' environment variable update immediately" 23198af8799SSimon Glass depends on SILENT_CONSOLE 23298af8799SSimon Glass default y if SILENT_CONSOLE 23398af8799SSimon Glass help 23498af8799SSimon Glass When the 'silent' environment variable is changed, update the 23598af8799SSimon Glass console silence flag immediately. This allows 'setenv' to be used 23698af8799SSimon Glass to silence or un-silence the console. 23798af8799SSimon Glass 23898af8799SSimon Glass The effect is that any change to the variable will affect the 23998af8799SSimon Glass GD_FLG_SILENT flag. 24098af8799SSimon Glass 24198af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_RELOC 24298af8799SSimon Glass bool "Allow flags to take effect on relocation" 24398af8799SSimon Glass depends on SILENT_CONSOLE 24498af8799SSimon Glass help 24598af8799SSimon Glass In some cases the environment is not available until relocation 24698af8799SSimon Glass (e.g. NAND). This option makes the value of the 'silent' 24798af8799SSimon Glass environment variable take effect at relocation. 24898af8799SSimon Glass 2498f925584SSimon Glassconfig PRE_CONSOLE_BUFFER 2508f925584SSimon Glass bool "Buffer characters before the console is available" 2518f925584SSimon Glass help 2528f925584SSimon Glass Prior to the console being initialised (i.e. serial UART 2538f925584SSimon Glass initialised etc) all console output is silently discarded. 2548f925584SSimon Glass Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to 2558f925584SSimon Glass buffer any console messages prior to the console being 2568f925584SSimon Glass initialised to a buffer. The buffer is a circular buffer, so 2578f925584SSimon Glass if it overflows, earlier output is discarded. 2588f925584SSimon Glass 2598f925584SSimon Glass Note that this is not currently supported in SPL. It would be 2608f925584SSimon Glass useful to be able to share the pre-console buffer with SPL. 2618f925584SSimon Glass 2628f925584SSimon Glassconfig PRE_CON_BUF_SZ 2638f925584SSimon Glass int "Sets the size of the pre-console buffer" 2648f925584SSimon Glass depends on PRE_CONSOLE_BUFFER 2658f925584SSimon Glass default 4096 2668f925584SSimon Glass help 2678f925584SSimon Glass The size of the pre-console buffer affects how much console output 2688f925584SSimon Glass can be held before it overflows and starts discarding earlier 2698f925584SSimon Glass output. Normally there is very little output at this early stage, 2708f925584SSimon Glass unless debugging is enabled, so allow enough for ~10 lines of 2718f925584SSimon Glass text. 2728f925584SSimon Glass 2738f925584SSimon Glass This is a useful feature if you are using a video console and 2748f925584SSimon Glass want to see the full boot output on the console. Without this 2758f925584SSimon Glass option only the post-relocation output will be displayed. 2768f925584SSimon Glass 2778f925584SSimon Glassconfig PRE_CON_BUF_ADDR 2788f925584SSimon Glass hex "Address of the pre-console buffer" 2798f925584SSimon Glass depends on PRE_CONSOLE_BUFFER 2808f925584SSimon Glass default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I 2818f925584SSimon Glass default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I 2828f925584SSimon Glass help 2838f925584SSimon Glass This sets the start address of the pre-console buffer. This must 2848f925584SSimon Glass be in available memory and is accessed before relocation and 2858f925584SSimon Glass possibly before DRAM is set up. Therefore choose an address 2868f925584SSimon Glass carefully. 2878f925584SSimon Glass 2888f925584SSimon Glass We should consider removing this option and allocating the memory 2898f925584SSimon Glass in board_init_f_init_reserve() instead. 2908f925584SSimon Glass 291*ef26d603SSimon Glassconfig CONSOLE_MUX 292*ef26d603SSimon Glass bool "Enable console multiplexing" 293*ef26d603SSimon Glass default y if DM_VIDEO || VIDEO || LCD 294*ef26d603SSimon Glass help 295*ef26d603SSimon Glass This allows multiple devices to be used for each console 'file'. 296*ef26d603SSimon Glass For example, stdout can be set to go to serial and video. 297*ef26d603SSimon Glass Similarly, stdin can be set to come from serial and keyboard. 298*ef26d603SSimon Glass Input can be provided from either source. Console multiplexing 299*ef26d603SSimon Glass adds a small amount of size to U-Boot. Changes to the environment 300*ef26d603SSimon Glass variables stdout, stdin and stderr will take effect immediately. 301*ef26d603SSimon Glass 302*ef26d603SSimon Glassconfig SYS_CONSOLE_IS_IN_ENV 303*ef26d603SSimon Glass bool "Select console devices from the environment" 304*ef26d603SSimon Glass default y if CONSOLE_MUX 305*ef26d603SSimon Glass help 306*ef26d603SSimon Glass This allows multiple input/output devices to be set at boot time. 307*ef26d603SSimon Glass For example, if stdout is set to "serial,video" then output will 308*ef26d603SSimon Glass be sent to both the serial and video devices on boot. The 309*ef26d603SSimon Glass environment variables can be updated after boot to change the 310*ef26d603SSimon Glass input/output devices. 311*ef26d603SSimon Glass 31298af8799SSimon Glassendmenu 31398af8799SSimon Glass 3144d25507fSSiva Durga Prasad Paladuguconfig SYS_NO_FLASH 3154d25507fSSiva Durga Prasad Paladugu bool "Disable support for parallel NOR flash" 3164d25507fSSiva Durga Prasad Paladugu default n 3174d25507fSSiva Durga Prasad Paladugu help 3184d25507fSSiva Durga Prasad Paladugu This option is used to disable support for parallel NOR flash. 3199dd1d0aaSHeiko Schocher 3209dd1d0aaSHeiko Schocherconfig VERSION_VARIABLE 3219dd1d0aaSHeiko Schocher bool "add U-Boot environment variable vers" 3229dd1d0aaSHeiko Schocher default n 3239dd1d0aaSHeiko Schocher help 3249dd1d0aaSHeiko Schocher If this variable is defined, an environment variable 3259dd1d0aaSHeiko Schocher named "ver" is created by U-Boot showing the U-Boot 3269dd1d0aaSHeiko Schocher version as printed by the "version" command. 3279dd1d0aaSHeiko Schocher Any change to this variable will be reverted at the 3289dd1d0aaSHeiko Schocher next reset. 329c2ae7d82SSimon Glass 33019a97475SLokesh Vutlaconfig DISPLAY_CPUINFO 33119a97475SLokesh Vutla bool "Display information about the CPU during start up" 33219a97475SLokesh Vutla default y if ARM || BLACKFIN || NIOS2 || X86 || XTENSA 33319a97475SLokesh Vutla help 33419a97475SLokesh Vutla Display information about the CPU that U-Boot is running on 33519a97475SLokesh Vutla when U-Boot starts up. The function print_cpuinfo() is called 33619a97475SLokesh Vutla to do this. 33719a97475SLokesh Vutla 33884351792SLokesh Vutlaconfig DISPLAY_BOARDINFO 33984351792SLokesh Vutla bool "Display information about the board during start up" 34084351792SLokesh Vutla default y if ARM || M68K || MIPS || PPC || SPARC || XTENSA 34184351792SLokesh Vutla help 34284351792SLokesh Vutla Display information about the board that U-Boot is running on 34384351792SLokesh Vutla when U-Boot starts up. The board function checkboard() is called 34484351792SLokesh Vutla to do this. 34584351792SLokesh Vutla 346c2ae7d82SSimon Glasssource "common/spl/Kconfig" 347