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 21824bb1b4SSimon Glassconfig SPL_BOOTSTAGE 22824bb1b4SSimon Glass bool "Boot timing and reported in SPL" 23824bb1b4SSimon Glass depends on BOOTSTAGE 24824bb1b4SSimon Glass help 25824bb1b4SSimon Glass Enable recording of boot time in SPL. To make this visible to U-Boot 26824bb1b4SSimon Glass proper, enable BOOTSTAGE_STASH as well. This will stash the timing 27824bb1b4SSimon Glass information when SPL finishes and load it when U-Boot proper starts 28824bb1b4SSimon Glass up. 29824bb1b4SSimon Glass 30ee2b2434SSimon Glassconfig BOOTSTAGE_REPORT 31ee2b2434SSimon Glass bool "Display a detailed boot timing report before booting the OS" 32ee2b2434SSimon Glass depends on BOOTSTAGE 33ee2b2434SSimon Glass help 34ee2b2434SSimon Glass Enable output of a boot time report just before the OS is booted. 35ee2b2434SSimon Glass This shows how long it took U-Boot to go through each stage of the 36ee2b2434SSimon Glass boot process. The report looks something like this: 37ee2b2434SSimon Glass 38ee2b2434SSimon Glass Timer summary in microseconds: 39ee2b2434SSimon Glass Mark Elapsed Stage 40ee2b2434SSimon Glass 0 0 reset 41ee2b2434SSimon Glass 3,575,678 3,575,678 board_init_f start 42ee2b2434SSimon Glass 3,575,695 17 arch_cpu_init A9 43ee2b2434SSimon Glass 3,575,777 82 arch_cpu_init done 44ee2b2434SSimon Glass 3,659,598 83,821 board_init_r start 45ee2b2434SSimon Glass 3,910,375 250,777 main_loop 46ee2b2434SSimon Glass 29,916,167 26,005,792 bootm_start 47ee2b2434SSimon Glass 30,361,327 445,160 start_kernel 48ee2b2434SSimon Glass 49ee2b2434SSimon Glassconfig BOOTSTAGE_USER_COUNT 505a0e275cSSimon Glass int "Number of boot ID numbers available for user use" 51ee2b2434SSimon Glass default 20 52ee2b2434SSimon Glass help 53ee2b2434SSimon Glass This is the number of available user bootstage records. 54ee2b2434SSimon Glass Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) 55ee2b2434SSimon Glass a new ID will be allocated from this stash. If you exceed 56ee2b2434SSimon Glass the limit, recording will stop. 57ee2b2434SSimon Glass 5803ecac31SSimon Glassconfig BOOTSTAGE_RECORD_COUNT 5903ecac31SSimon Glass int "Number of boot stage records to store" 6003ecac31SSimon Glass default 30 6103ecac31SSimon Glass help 6203ecac31SSimon Glass This is the size of the bootstage record list and is the maximum 6303ecac31SSimon Glass number of bootstage records that can be recorded. 6403ecac31SSimon Glass 65ee2b2434SSimon Glassconfig BOOTSTAGE_FDT 66ee2b2434SSimon Glass bool "Store boot timing information in the OS device tree" 67ee2b2434SSimon Glass depends on BOOTSTAGE 68ee2b2434SSimon Glass help 69ee2b2434SSimon Glass Stash the bootstage information in the FDT. A root 'bootstage' 70ee2b2434SSimon Glass node is created with each bootstage id as a child. Each child 71ee2b2434SSimon Glass has a 'name' property and either 'mark' containing the 7257247d9cSRobert P. J. Day mark time in microseconds, or 'accum' containing the 73ee2b2434SSimon Glass accumulated time for that bootstage id in microseconds. 74ee2b2434SSimon Glass For example: 75ee2b2434SSimon Glass 76ee2b2434SSimon Glass bootstage { 77ee2b2434SSimon Glass 154 { 78ee2b2434SSimon Glass name = "board_init_f"; 79ee2b2434SSimon Glass mark = <3575678>; 80ee2b2434SSimon Glass }; 81ee2b2434SSimon Glass 170 { 82ee2b2434SSimon Glass name = "lcd"; 83ee2b2434SSimon Glass accum = <33482>; 84ee2b2434SSimon Glass }; 85ee2b2434SSimon Glass }; 86ee2b2434SSimon Glass 87ee2b2434SSimon Glass Code in the Linux kernel can find this in /proc/devicetree. 88ee2b2434SSimon Glass 89ee2b2434SSimon Glassconfig BOOTSTAGE_STASH 90ee2b2434SSimon Glass bool "Stash the boot timing information in memory before booting OS" 91ee2b2434SSimon Glass depends on BOOTSTAGE 92ee2b2434SSimon Glass help 93ee2b2434SSimon Glass Some OSes do not support device tree. Bootstage can instead write 94ee2b2434SSimon Glass the boot timing information in a binary format at a given address. 95ee2b2434SSimon Glass This happens through a call to bootstage_stash(), typically in 96ee2b2434SSimon Glass the CPU's cleanup_before_linux() function. You can use the 97ee2b2434SSimon Glass 'bootstage stash' and 'bootstage unstash' commands to do this on 98ee2b2434SSimon Glass the command line. 99ee2b2434SSimon Glass 100ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_ADDR 101ee2b2434SSimon Glass hex "Address to stash boot timing information" 102ee2b2434SSimon Glass default 0 103ee2b2434SSimon Glass help 104ee2b2434SSimon Glass Provide an address which will not be overwritten by the OS when it 105ee2b2434SSimon Glass starts, so that it can read this information when ready. 106ee2b2434SSimon Glass 107ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_SIZE 108ee2b2434SSimon Glass hex "Size of boot timing stash region" 109fad6a2b7SNobuhiro Iwamatsu default 0x1000 110ee2b2434SSimon Glass help 111ee2b2434SSimon Glass This should be large enough to hold the bootstage stash. A value of 112ee2b2434SSimon Glass 4096 (4KiB) is normally plenty. 113ee2b2434SSimon Glass 114243527b5SJoseph Chenconfig BOOTSTAGE_PRINTF_TIMESTAMP 115243527b5SJoseph Chen bool "Support printf timestamp" 116243527b5SJoseph Chen help 117243527b5SJoseph Chen Enabling this will support printf timestamp. 118ee2b2434SSimon Glassendmenu 119ee2b2434SSimon Glass 120d14739ffSPeng Fanmenu "Boot media" 121d14739ffSPeng Fan 122d14739ffSPeng Fanconfig NOR_BOOT 123d14739ffSPeng Fan bool "Support for booting from NOR flash" 124d14739ffSPeng Fan depends on NOR 125d14739ffSPeng Fan help 126d14739ffSPeng Fan Enabling this will make a U-Boot binary that is capable of being 127d14739ffSPeng Fan booted via NOR. In this case we will enable certain pinmux early 128d14739ffSPeng Fan as the ROM only partially sets up pinmux. We also default to using 129d14739ffSPeng Fan NOR for environment. 130d14739ffSPeng Fan 131faaef73fSPeng Fanconfig NAND_BOOT 132faaef73fSPeng Fan bool "Support for booting from NAND flash" 133faaef73fSPeng Fan default n 134faaef73fSPeng Fan help 135faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 136faaef73fSPeng Fan booted via NAND flash. This is not a must, some SoCs need this, 13757247d9cSRobert P. J. Day some not. 138faaef73fSPeng Fan 139faaef73fSPeng Fanconfig ONENAND_BOOT 140faaef73fSPeng Fan bool "Support for booting from ONENAND" 141faaef73fSPeng Fan default n 142faaef73fSPeng Fan help 143faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 144faaef73fSPeng Fan booted via ONENAND. This is not a must, some SoCs need this, 14557247d9cSRobert P. J. Day some not. 146faaef73fSPeng Fan 147faaef73fSPeng Fanconfig QSPI_BOOT 148faaef73fSPeng Fan bool "Support for booting from QSPI flash" 149faaef73fSPeng Fan default n 150faaef73fSPeng Fan help 151faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 152faaef73fSPeng Fan booted via QSPI flash. This is not a must, some SoCs need this, 15357247d9cSRobert P. J. Day some not. 154faaef73fSPeng Fan 155faaef73fSPeng Fanconfig SATA_BOOT 156faaef73fSPeng Fan bool "Support for booting from SATA" 157faaef73fSPeng Fan default n 158faaef73fSPeng Fan help 159faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 160faaef73fSPeng Fan booted via SATA. This is not a must, some SoCs need this, 16157247d9cSRobert P. J. Day some not. 162faaef73fSPeng Fan 163faaef73fSPeng Fanconfig SD_BOOT 164faaef73fSPeng Fan bool "Support for booting from SD/EMMC" 165faaef73fSPeng Fan default n 166faaef73fSPeng Fan help 167faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 168faaef73fSPeng Fan booted via SD/EMMC. This is not a must, some SoCs need this, 16957247d9cSRobert P. J. Day some not. 170faaef73fSPeng Fan 171faaef73fSPeng Fanconfig SPI_BOOT 172faaef73fSPeng Fan bool "Support for booting from SPI flash" 173faaef73fSPeng Fan default n 174faaef73fSPeng Fan help 175faaef73fSPeng Fan Enabling this will make a U-Boot binary that is capable of being 176faaef73fSPeng Fan booted via SPI flash. This is not a must, some SoCs need this, 17757247d9cSRobert P. J. Day some not. 178faaef73fSPeng Fan 179d14739ffSPeng Fanendmenu 180d14739ffSPeng Fan 1815f08e86fSAndy Yanconfig PASS_DEVICE_SERIAL_BY_FDT 1825f08e86fSAndy Yan bool "Pass the device serial number to kernel through devicetree" 1835f08e86fSAndy Yan default y 1845f08e86fSAndy Yan help 1855f08e86fSAndy Yan Enabling this will pass a device serial number to kernel by devicetree 1865f08e86fSAndy Yan "serial-number" properties. 1875f08e86fSAndy Yan 188bb597c0eSHeiko Schocherconfig BOOTDELAY 189bb597c0eSHeiko Schocher int "delay in seconds before automatically booting" 1905e4e8741STom Rini default 2 19141598c82SMasahiro Yamada depends on AUTOBOOT 192bb597c0eSHeiko Schocher help 193bb597c0eSHeiko Schocher Delay before automatically running bootcmd; 1942fbb8462SMasahiro Yamada set to 0 to autoboot with no delay, but you can stop it by key input. 195bb597c0eSHeiko Schocher set to -1 to disable autoboot. 196bb597c0eSHeiko Schocher set to -2 to autoboot with no delay and not check for abort 197bb597c0eSHeiko Schocher 1989060970fSMasahiro Yamada See doc/README.autoboot for details. 1999060970fSMasahiro Yamada 2005abc1a45SSam Protsenkoconfig USE_BOOTARGS 2015abc1a45SSam Protsenko bool "Enable boot arguments" 2025abc1a45SSam Protsenko help 2035abc1a45SSam Protsenko Provide boot arguments to bootm command. Boot arguments are specified 2045abc1a45SSam Protsenko in CONFIG_BOOTARGS option. Enable this option to be able to specify 2055abc1a45SSam Protsenko CONFIG_BOOTARGS string. If this option is disabled, CONFIG_BOOTARGS 2065abc1a45SSam Protsenko will be undefined and won't take any space in U-Boot image. 2075abc1a45SSam Protsenko 2085abc1a45SSam Protsenkoconfig BOOTARGS 2095abc1a45SSam Protsenko string "Boot arguments" 2105abc1a45SSam Protsenko depends on USE_BOOTARGS 2115abc1a45SSam Protsenko help 2125abc1a45SSam Protsenko This can be used to pass arguments to the bootm command. The value of 2135abc1a45SSam Protsenko CONFIG_BOOTARGS goes into the environment value "bootargs". Note that 2145abc1a45SSam Protsenko this value will also override the "chosen" node in FDT blob. 2155abc1a45SSam Protsenko 216a78c1921SJoseph Chenconfig IO_TRACE 217a78c1921SJoseph Chen bool "Enable iotrace" 218a78c1921SJoseph Chen help 219a78c1921SJoseph Chen This enable iotrace feature. 220a78c1921SJoseph Chen 22198af8799SSimon Glassmenu "Console" 22298af8799SSimon Glass 2234880b026STom Riniconfig MENU 2244880b026STom Rini bool 2254880b026STom Rini help 2264880b026STom Rini This is the library functionality to provide a text-based menu of 2274880b026STom Rini choices for the user to make choices with. 2284880b026STom Rini 2299854a874SSimon Glassconfig CONSOLE_RECORD 2309854a874SSimon Glass bool "Console recording" 2319854a874SSimon Glass help 2329854a874SSimon Glass This provides a way to record console output (and provide console 23357247d9cSRobert P. J. Day input) through circular buffers. This is mostly useful for testing. 2349854a874SSimon Glass Console output is recorded even when the console is silent. 2359854a874SSimon Glass To enable console recording, call console_record_reset_enable() 2369854a874SSimon Glass from your code. 2379854a874SSimon Glass 2389854a874SSimon Glassconfig CONSOLE_RECORD_OUT_SIZE 2399854a874SSimon Glass hex "Output buffer size" 2409854a874SSimon Glass depends on CONSOLE_RECORD 2415bb5aa82SJoseph Chen default 0x400 if CONSOLE_RECORD && !ARCH_ROCKCHIP 2425bb5aa82SJoseph Chen default 0x2000 if CONSOLE_RECORD && ARCH_ROCKCHIP 2439854a874SSimon Glass help 2449854a874SSimon Glass Set the size of the console output buffer. When this fills up, no 2459854a874SSimon Glass more data will be recorded until some is removed. The buffer is 2469854a874SSimon Glass allocated immediately after the malloc() region is ready. 2479854a874SSimon Glass 2489854a874SSimon Glassconfig CONSOLE_RECORD_IN_SIZE 2499854a874SSimon Glass hex "Input buffer size" 2509854a874SSimon Glass depends on CONSOLE_RECORD 2519854a874SSimon Glass default 0x100 if CONSOLE_RECORD 2529854a874SSimon Glass help 2539854a874SSimon Glass Set the size of the console input buffer. When this contains data, 2549854a874SSimon Glass tstc() and getc() will use this in preference to real device input. 2559854a874SSimon Glass The buffer is allocated immediately after the malloc() region is 2569854a874SSimon Glass ready. 2574d25507fSSiva Durga Prasad Paladugu 25837526a51SJoseph Chenconfig CONSOLE_DISABLE_CLI 259590d13d7SJoseph Chen bool "disable ctrlc" 260e7be2a07SJoseph Chen default n 261590d13d7SJoseph Chen help 26237526a51SJoseph Chen This disable CLI interactive in verified-boot. 263590d13d7SJoseph Chen 264c7abde10SJoseph Chenconfig DISABLE_CONSOLE 265c7abde10SJoseph Chen bool "disable console in & out" 266c7abde10SJoseph Chen help 267c7abde10SJoseph Chen This disable console in & out. 268c7abde10SJoseph Chen 269a4d88920SSiva Durga Prasad Paladuguconfig IDENT_STRING 270a4d88920SSiva Durga Prasad Paladugu string "Board specific string to be added to uboot version string" 271a4d88920SSiva Durga Prasad Paladugu help 272a4d88920SSiva Durga Prasad Paladugu This options adds the board specific name to u-boot version. 273a4d88920SSiva Durga Prasad Paladugu 274a9a4552aSMasahiro Yamadaconfig LOGLEVEL 275a9a4552aSMasahiro Yamada int "loglevel" 276bcf5156aSTom Rini default 4 277a9a4552aSMasahiro Yamada range 0 8 278a9a4552aSMasahiro Yamada help 279a9a4552aSMasahiro Yamada All Messages with a loglevel smaller than the console loglevel will 280a9a4552aSMasahiro Yamada be compiled in. The loglevels are defined as follows: 281a9a4552aSMasahiro Yamada 282a9a4552aSMasahiro Yamada 0 (KERN_EMERG) system is unusable 283a9a4552aSMasahiro Yamada 1 (KERN_ALERT) action must be taken immediately 284a9a4552aSMasahiro Yamada 2 (KERN_CRIT) critical conditions 285a9a4552aSMasahiro Yamada 3 (KERN_ERR) error conditions 286a9a4552aSMasahiro Yamada 4 (KERN_WARNING) warning conditions 287a9a4552aSMasahiro Yamada 5 (KERN_NOTICE) normal but significant condition 288a9a4552aSMasahiro Yamada 6 (KERN_INFO) informational 289a9a4552aSMasahiro Yamada 7 (KERN_DEBUG) debug-level messages 290a9a4552aSMasahiro Yamada 291a9a4552aSMasahiro Yamadaconfig SPL_LOGLEVEL 292a9a4552aSMasahiro Yamada int 293a9a4552aSMasahiro Yamada default LOGLEVEL 294a9a4552aSMasahiro Yamada 29598af8799SSimon Glassconfig SILENT_CONSOLE 29698af8799SSimon Glass bool "Support a silent console" 29798af8799SSimon Glass help 29898af8799SSimon Glass This option allows the console to be silenced, meaning that no 29998af8799SSimon Glass output will appear on the console devices. This is controlled by 30098af8799SSimon Glass setting the environment vaariable 'silent' to a non-empty value. 30198af8799SSimon Glass Note this also silences the console when booting Linux. 30298af8799SSimon Glass 30398af8799SSimon Glass When the console is set up, the variable is checked, and the 30498af8799SSimon Glass GD_FLG_SILENT flag is set. Changing the environment variable later 30598af8799SSimon Glass will update the flag. 30698af8799SSimon Glass 30798af8799SSimon Glassconfig SILENT_U_BOOT_ONLY 30898af8799SSimon Glass bool "Only silence the U-Boot console" 30998af8799SSimon Glass depends on SILENT_CONSOLE 31098af8799SSimon Glass help 31198af8799SSimon Glass Normally when the U-Boot console is silenced, Linux's console is 31298af8799SSimon Glass also silenced (assuming the board boots into Linux). This option 31398af8799SSimon Glass allows the linux console to operate normally, even if U-Boot's 31498af8799SSimon Glass is silenced. 31598af8799SSimon Glass 31698af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_SET 31798af8799SSimon Glass bool "Changes to the 'silent' environment variable update immediately" 31898af8799SSimon Glass depends on SILENT_CONSOLE 31998af8799SSimon Glass default y if SILENT_CONSOLE 32098af8799SSimon Glass help 32198af8799SSimon Glass When the 'silent' environment variable is changed, update the 32298af8799SSimon Glass console silence flag immediately. This allows 'setenv' to be used 32398af8799SSimon Glass to silence or un-silence the console. 32498af8799SSimon Glass 32598af8799SSimon Glass The effect is that any change to the variable will affect the 32698af8799SSimon Glass GD_FLG_SILENT flag. 32798af8799SSimon Glass 32898af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_RELOC 32998af8799SSimon Glass bool "Allow flags to take effect on relocation" 33098af8799SSimon Glass depends on SILENT_CONSOLE 33198af8799SSimon Glass help 33298af8799SSimon Glass In some cases the environment is not available until relocation 33398af8799SSimon Glass (e.g. NAND). This option makes the value of the 'silent' 33498af8799SSimon Glass environment variable take effect at relocation. 33598af8799SSimon Glass 3368f925584SSimon Glassconfig PRE_CONSOLE_BUFFER 3378f925584SSimon Glass bool "Buffer characters before the console is available" 3388f925584SSimon Glass help 3398f925584SSimon Glass Prior to the console being initialised (i.e. serial UART 3408f925584SSimon Glass initialised etc) all console output is silently discarded. 3418f925584SSimon Glass Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to 3428f925584SSimon Glass buffer any console messages prior to the console being 3438f925584SSimon Glass initialised to a buffer. The buffer is a circular buffer, so 3448f925584SSimon Glass if it overflows, earlier output is discarded. 3458f925584SSimon Glass 3468f925584SSimon Glass Note that this is not currently supported in SPL. It would be 3478f925584SSimon Glass useful to be able to share the pre-console buffer with SPL. 3488f925584SSimon Glass 3498f925584SSimon Glassconfig PRE_CON_BUF_SZ 3508f925584SSimon Glass int "Sets the size of the pre-console buffer" 3518f925584SSimon Glass depends on PRE_CONSOLE_BUFFER 3528f925584SSimon Glass default 4096 3538f925584SSimon Glass help 3548f925584SSimon Glass The size of the pre-console buffer affects how much console output 3558f925584SSimon Glass can be held before it overflows and starts discarding earlier 3568f925584SSimon Glass output. Normally there is very little output at this early stage, 3578f925584SSimon Glass unless debugging is enabled, so allow enough for ~10 lines of 3588f925584SSimon Glass text. 3598f925584SSimon Glass 3608f925584SSimon Glass This is a useful feature if you are using a video console and 3618f925584SSimon Glass want to see the full boot output on the console. Without this 3628f925584SSimon Glass option only the post-relocation output will be displayed. 3638f925584SSimon Glass 3648f925584SSimon Glassconfig PRE_CON_BUF_ADDR 3658f925584SSimon Glass hex "Address of the pre-console buffer" 3668f925584SSimon Glass depends on PRE_CONSOLE_BUFFER 3678f925584SSimon Glass default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I 3688f925584SSimon Glass default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I 3698f925584SSimon Glass help 3708f925584SSimon Glass This sets the start address of the pre-console buffer. This must 3718f925584SSimon Glass be in available memory and is accessed before relocation and 3728f925584SSimon Glass possibly before DRAM is set up. Therefore choose an address 3738f925584SSimon Glass carefully. 3748f925584SSimon Glass 3758f925584SSimon Glass We should consider removing this option and allocating the memory 3768f925584SSimon Glass in board_init_f_init_reserve() instead. 3778f925584SSimon Glass 378ef26d603SSimon Glassconfig CONSOLE_MUX 379ef26d603SSimon Glass bool "Enable console multiplexing" 380ef26d603SSimon Glass default y if DM_VIDEO || VIDEO || LCD 381ef26d603SSimon Glass help 382ef26d603SSimon Glass This allows multiple devices to be used for each console 'file'. 383ef26d603SSimon Glass For example, stdout can be set to go to serial and video. 384ef26d603SSimon Glass Similarly, stdin can be set to come from serial and keyboard. 385ef26d603SSimon Glass Input can be provided from either source. Console multiplexing 386ef26d603SSimon Glass adds a small amount of size to U-Boot. Changes to the environment 387ef26d603SSimon Glass variables stdout, stdin and stderr will take effect immediately. 388ef26d603SSimon Glass 389ef26d603SSimon Glassconfig SYS_CONSOLE_IS_IN_ENV 390ef26d603SSimon Glass bool "Select console devices from the environment" 391ef26d603SSimon Glass default y if CONSOLE_MUX 392ef26d603SSimon Glass help 393ef26d603SSimon Glass This allows multiple input/output devices to be set at boot time. 394ef26d603SSimon Glass For example, if stdout is set to "serial,video" then output will 395ef26d603SSimon Glass be sent to both the serial and video devices on boot. The 396ef26d603SSimon Glass environment variables can be updated after boot to change the 397ef26d603SSimon Glass input/output devices. 398ef26d603SSimon Glass 39984f2a5d0SSimon Glassconfig SYS_CONSOLE_OVERWRITE_ROUTINE 40084f2a5d0SSimon Glass bool "Allow board control over console overwriting" 40184f2a5d0SSimon Glass help 40284f2a5d0SSimon Glass If this is enabled, and the board-specific function 40384f2a5d0SSimon Glass overwrite_console() returns 1, the stdin, stderr and stdout are 40484f2a5d0SSimon Glass switched to the serial port, else the settings in the environment 40584f2a5d0SSimon Glass are used. If this is not enabled, the console will not be switched 40684f2a5d0SSimon Glass to serial. 40784f2a5d0SSimon Glass 4083505bc55SSimon Glassconfig SYS_CONSOLE_ENV_OVERWRITE 4093505bc55SSimon Glass bool "Update environment variables during console init" 4103505bc55SSimon Glass help 4113505bc55SSimon Glass The console environment variables (stdout, stdin, stderr) can be 4123505bc55SSimon Glass used to determine the correct console devices on start-up. This 4133505bc55SSimon Glass option writes the console devices to these variables on console 4143505bc55SSimon Glass start-up (after relocation). This causes the environment to be 4153505bc55SSimon Glass updated to match the console devices actually chosen. 4163505bc55SSimon Glass 417f3f3efffSSimon Glassconfig SYS_CONSOLE_INFO_QUIET 418f3f3efffSSimon Glass bool "Don't display the console devices on boot" 419f3f3efffSSimon Glass help 420f3f3efffSSimon Glass Normally U-Boot displays the current settings for stdout, stdin 421f3f3efffSSimon Glass and stderr on boot when the post-relocation console is set up. 422f3f3efffSSimon Glass Enable this option to supress this output. It can be obtained by 423f3f3efffSSimon Glass calling stdio_print_current_devices() from board code. 424f3f3efffSSimon Glass 425869588deSSimon Glassconfig SYS_STDIO_DEREGISTER 426869588deSSimon Glass bool "Allow deregistering stdio devices" 427869588deSSimon Glass default y if USB_KEYBOARD 428869588deSSimon Glass help 429869588deSSimon Glass Generally there is no need to deregister stdio devices since they 430869588deSSimon Glass are never deactivated. But if a stdio device is used which can be 431869588deSSimon Glass removed (for example a USB keyboard) then this option can be 432869588deSSimon Glass enabled to ensure this is handled correctly. 433869588deSSimon Glass 43498af8799SSimon Glassendmenu 43598af8799SSimon Glass 4369530301cSSimon Glassmenu "Logging" 4379530301cSSimon Glass 4389530301cSSimon Glassconfig LOG 4399530301cSSimon Glass bool "Enable logging support" 4409530301cSSimon Glass help 4419530301cSSimon Glass This enables support for logging of status and debug messages. These 4429530301cSSimon Glass can be displayed on the console, recorded in a memory buffer, or 4439530301cSSimon Glass discarded if not needed. Logging supports various categories and 4449530301cSSimon Glass levels of severity. 4459530301cSSimon Glass 4469530301cSSimon Glassconfig SPL_LOG 4479530301cSSimon Glass bool "Enable logging support in SPL" 4489530301cSSimon Glass help 4499530301cSSimon Glass This enables support for logging of status and debug messages. These 4509530301cSSimon Glass can be displayed on the console, recorded in a memory buffer, or 4519530301cSSimon Glass discarded if not needed. Logging supports various categories and 4529530301cSSimon Glass levels of severity. 4539530301cSSimon Glass 4549530301cSSimon Glassconfig LOG_MAX_LEVEL 4559530301cSSimon Glass int "Maximum log level to record" 4569530301cSSimon Glass depends on LOG 4579530301cSSimon Glass default 5 4589530301cSSimon Glass help 4599530301cSSimon Glass This selects the maximum log level that will be recorded. Any value 4609530301cSSimon Glass higher than this will be ignored. If possible log statements below 4619530301cSSimon Glass this level will be discarded at build time. Levels: 4629530301cSSimon Glass 4639530301cSSimon Glass 0 - panic 4649530301cSSimon Glass 1 - critical 4659530301cSSimon Glass 2 - error 4669530301cSSimon Glass 3 - warning 4679530301cSSimon Glass 4 - note 4689530301cSSimon Glass 5 - info 4699530301cSSimon Glass 6 - detail 4709530301cSSimon Glass 7 - debug 4719530301cSSimon Glass 4729530301cSSimon Glassconfig SPL_LOG_MAX_LEVEL 4739530301cSSimon Glass int "Maximum log level to record in SPL" 4749530301cSSimon Glass depends on SPL_LOG 4759530301cSSimon Glass default 3 4769530301cSSimon Glass help 4779530301cSSimon Glass This selects the maximum log level that will be recorded. Any value 4789530301cSSimon Glass higher than this will be ignored. If possible log statements below 4799530301cSSimon Glass this level will be discarded at build time. Levels: 4809530301cSSimon Glass 4819530301cSSimon Glass 0 - panic 4829530301cSSimon Glass 1 - critical 4839530301cSSimon Glass 2 - error 4849530301cSSimon Glass 3 - warning 4859530301cSSimon Glass 4 - note 4869530301cSSimon Glass 5 - info 4879530301cSSimon Glass 6 - detail 4889530301cSSimon Glass 7 - debug 4899530301cSSimon Glass 4905cafef2dSSimon Glassconfig LOG_CONSOLE 4915cafef2dSSimon Glass bool "Allow log output to the console" 4925cafef2dSSimon Glass depends on LOG 4935cafef2dSSimon Glass default y 4945cafef2dSSimon Glass help 4955cafef2dSSimon Glass Enables a log driver which writes log records to the console. 4965cafef2dSSimon Glass Generally the console is the serial port or LCD display. Only the 4975cafef2dSSimon Glass log message is shown - other details like level, category, file and 4985cafef2dSSimon Glass line number are omitted. 4995cafef2dSSimon Glass 5005cafef2dSSimon Glassconfig LOG_SPL_CONSOLE 5015cafef2dSSimon Glass bool "Allow log output to the console in SPL" 5025cafef2dSSimon Glass depends on LOG_SPL 5035cafef2dSSimon Glass default y 5045cafef2dSSimon Glass help 5055cafef2dSSimon Glass Enables a log driver which writes log records to the console. 5065cafef2dSSimon Glass Generally the console is the serial port or LCD display. Only the 5075cafef2dSSimon Glass log message is shown - other details like level, category, file and 5085cafef2dSSimon Glass line number are omitted. 5095cafef2dSSimon Glass 51073991b07SSimon Glassconfig LOG_TEST 51173991b07SSimon Glass bool "Provide a test for logging" 51273991b07SSimon Glass depends on LOG 51373991b07SSimon Glass default y if SANDBOX 51473991b07SSimon Glass help 51573991b07SSimon Glass This enables a 'log test' command to test logging. It is normally 51673991b07SSimon Glass executed from a pytest and simply outputs logging information 51773991b07SSimon Glass in various different ways to test that the logging system works 51873991b07SSimon Glass correctly with varoius settings. 51973991b07SSimon Glass 5209530301cSSimon Glassendmenu 5219530301cSSimon Glass 522d259c008SJagan Tekiconfig DEFAULT_FDT_FILE 523d259c008SJagan Teki string "Default fdt file" 524d259c008SJagan Teki help 525d259c008SJagan Teki This option is used to set the default fdt file to boot OS. 526d259c008SJagan Teki 5279dd1d0aaSHeiko Schocherconfig VERSION_VARIABLE 5289dd1d0aaSHeiko Schocher bool "add U-Boot environment variable vers" 5299dd1d0aaSHeiko Schocher default n 5309dd1d0aaSHeiko Schocher help 5319dd1d0aaSHeiko Schocher If this variable is defined, an environment variable 5329dd1d0aaSHeiko Schocher named "ver" is created by U-Boot showing the U-Boot 5339dd1d0aaSHeiko Schocher version as printed by the "version" command. 5349dd1d0aaSHeiko Schocher Any change to this variable will be reverted at the 5359dd1d0aaSHeiko Schocher next reset. 536c2ae7d82SSimon Glass 537de70fefbSJagan Tekiconfig BOARD_LATE_INIT 538e5ec4815STom Rini bool 539de70fefbSJagan Teki help 540de70fefbSJagan Teki Sometimes board require some initialization code that might 541de70fefbSJagan Teki require once the actual init done, example saving board specific env, 542de70fefbSJagan Teki boot-modes etc. which eventually done at late. 543de70fefbSJagan Teki 544de70fefbSJagan Teki So this config enable the late init code with the help of board_late_init 545de70fefbSJagan Teki function which should defined on respective boards. 546de70fefbSJagan Teki 54719a97475SLokesh Vutlaconfig DISPLAY_CPUINFO 54819a97475SLokesh Vutla bool "Display information about the CPU during start up" 549064b55cfSHeiko Schocher default y if ARM || NIOS2 || X86 || XTENSA 55019a97475SLokesh Vutla help 55119a97475SLokesh Vutla Display information about the CPU that U-Boot is running on 55219a97475SLokesh Vutla when U-Boot starts up. The function print_cpuinfo() is called 55319a97475SLokesh Vutla to do this. 55419a97475SLokesh Vutla 55584351792SLokesh Vutlaconfig DISPLAY_BOARDINFO 55684351792SLokesh Vutla bool "Display information about the board during start up" 557d63b5b4fSSimon Glass default y if ARM || M68K || MIPS || PPC || SANDBOX || XTENSA 55884351792SLokesh Vutla help 55984351792SLokesh Vutla Display information about the board that U-Boot is running on 56084351792SLokesh Vutla when U-Boot starts up. The board function checkboard() is called 56184351792SLokesh Vutla to do this. 56284351792SLokesh Vutla 563a421192fSSimon Glassmenu "Start-up hooks" 564a421192fSSimon Glass 565a421192fSSimon Glassconfig ARCH_EARLY_INIT_R 566a421192fSSimon Glass bool "Call arch-specific init soon after relocation" 567a421192fSSimon Glass help 568a421192fSSimon Glass With this option U-Boot will call arch_early_init_r() soon after 569a421192fSSimon Glass relocation. Driver model is running by this point, and the cache 570a421192fSSimon Glass is on. Note that board_early_init_r() is called first, if 571a421192fSSimon Glass enabled. This can be used to set up architecture-specific devices. 572a421192fSSimon Glass 5734585601aSSimon Glassconfig ARCH_MISC_INIT 5744585601aSSimon Glass bool "Call arch-specific init after relocation, when console is ready" 5754585601aSSimon Glass help 5764585601aSSimon Glass With this option U-Boot will call arch_misc_init() after 5774585601aSSimon Glass relocation to allow miscellaneous arch-dependent initialisation 5784585601aSSimon Glass to be performed. This function should be defined by the board 5794585601aSSimon Glass and will be called after the console is set up, after relocaiton. 5804585601aSSimon Glass 581a5d67547SSimon Glassconfig BOARD_EARLY_INIT_F 582a5d67547SSimon Glass bool "Call board-specific init before relocation" 583a5d67547SSimon Glass help 584a5d67547SSimon Glass Some boards need to perform initialisation as soon as possible 585a5d67547SSimon Glass after boot. With this option, U-Boot calls board_early_init_f() 586a5d67547SSimon Glass after driver model is ready in the pre-relocation init sequence. 587a5d67547SSimon Glass Note that the normal serial console is not yet set up, but the 588a5d67547SSimon Glass debug UART will be available if enabled. 589a5d67547SSimon Glass 59092da45ecSKever Yangconfig BOARD_EARLY_INIT_R 59192da45ecSKever Yang bool "Call board-specific init after relocation" 59292da45ecSKever Yang help 59392da45ecSKever Yang Some boards need to perform initialisation as directly after 59492da45ecSKever Yang relocation. With this option, U-Boot calls board_early_init_r() 59592da45ecSKever Yang in the post-relocation init sequence. 59692da45ecSKever Yang 597a421192fSSimon Glassendmenu 5981af1a3cfSJason Zhu 5991af1a3cfSJason Zhumenu "Android features support" 60067dac674SAlex Deymoconfig ANDROID_BOOTLOADER 60167dac674SAlex Deymo bool "Support for Android Bootloader boot flow" 60267dac674SAlex Deymo default n 60367dac674SAlex Deymo depends on ANDROID_BOOT_IMAGE 60467dac674SAlex Deymo help 60567dac674SAlex Deymo If enabled, adds support to boot an Android device following the 60667dac674SAlex Deymo Android Bootloader boot flow. This flow requires an Android Bootloader 60767dac674SAlex Deymo to handle the Android Bootloader Message stored in the Boot Control 60867dac674SAlex Deymo Block (BCB), normally in the "misc" partition of an Android device. 60967dac674SAlex Deymo The BCB is used to determine the boot mode of the device (normal mode, 61067dac674SAlex Deymo recovery mode or bootloader mode) and, if enabled, the slot to boot 61167dac674SAlex Deymo from in devices with multiple boot slots (A/B devices). 61267dac674SAlex Deymo 613180cc7c6SAlex Deymoconfig ANDROID_AB 614180cc7c6SAlex Deymo bool "Support for Android A/B updates" 615180cc7c6SAlex Deymo default n 616180cc7c6SAlex Deymo help 617180cc7c6SAlex Deymo If enabled, adds support for the new Android A/B update model. This 618180cc7c6SAlex Deymo allows the bootloader to select which slot to boot from based on the 619180cc7c6SAlex Deymo information provided by userspace via the Android boot_ctrl HAL. This 620180cc7c6SAlex Deymo allows a bootloader to try a new version of the system but roll back 621180cc7c6SAlex Deymo to previous version if the new one didn't boot all the way. 622180cc7c6SAlex Deymo 623dfbf26e8STony Xuconfig ANDROID_WRITE_KEYBOX 624dfbf26e8STony Xu bool "Support Write Keybox" 625dfbf26e8STony Xu default y 626dfbf26e8STony Xu depends on OPTEE_CLIENT 627dfbf26e8STony Xu help 628dfbf26e8STony Xu This enable support write keybox to secure storage. 629dfbf26e8STony Xu 630b666ac05SJason Zhuconfig ANDROID_AVB 631b666ac05SJason Zhu bool"Support Android Verified Boot" 632b666ac05SJason Zhu default n 633b666ac05SJason Zhu help 634b666ac05SJason Zhu If enabled, adds support the android verified boot. The avb get the 635b666ac05SJason Zhu digital signature and key from vemeta. Then use the RSA2048 and sha256 636b666ac05SJason Zhu to verify the boot images. The vbmeta must be matched with images, 637b666ac05SJason Zhu if not, verify failed. 638b666ac05SJason Zhu 6393e344c46SJason Zhuconfig ANDROID_AVB_ROLLBACK_INDEX 6403e344c46SJason Zhu bool"Support Android Verified Boot Rollback Index" 6413e344c46SJason Zhu default n 6423e344c46SJason Zhu help 6433e344c46SJason Zhu If enabled, support the android verified boot rollback index. 6443e344c46SJason Zhu 645c2ba77d9SJian Qiuconfig ANDROID_KEYMASTER_CA 646c2ba77d9SJian Qiu bool "Support Keymaster CA" 647c2ba77d9SJian Qiu default y 648c2ba77d9SJian Qiu depends on OPTEE_CLIENT 649c2ba77d9SJian Qiu help 650c2ba77d9SJian Qiu This enable support read/write data in keymaster. 651c2ba77d9SJian Qiu 65267dac674SAlex Deymoconfig ANDROID_BOOT_IMAGE 65367dac674SAlex Deymo bool "Enable support for Android Boot Images" 65467dac674SAlex Deymo help 65567dac674SAlex Deymo This enables support for booting images which use the Android 65667dac674SAlex Deymo image format header. 657a421192fSSimon Glass 6580cb72e53SJoseph Chenconfig ANDROID_BOOT_IMAGE_HASH 6590cb72e53SJoseph Chen bool "Enable support for Android image hash verify" 6600cb72e53SJoseph Chen depends on ANDROID_BOOT_IMAGE 661c641fb24SJoseph Chen select SHA1 if !DM_CRYPTO 6620cb72e53SJoseph Chen help 6630cb72e53SJoseph Chen This enables support for Android image hash verify, the mkbootimg always use 6640cb72e53SJoseph Chen SHA1 for images. 6651af1a3cfSJason Zhuendmenu 6660cb72e53SJoseph Chen 667645a442dSJoseph Chenconfig SKIP_RELOCATE_UBOOT 668645a442dSJoseph Chen bool "Skip U-Boot relocation" 6699590331bSJoseph Chen default y if !ARM64 && !ARM64_BOOT_AARCH32 670645a442dSJoseph Chen help 671645a442dSJoseph Chen This enable support for skipping U-Boot relocation. 672645a442dSJoseph Chen 673d70f919eSSimon Glassmenu "Security support" 674d70f919eSSimon Glass 675d70f919eSSimon Glassconfig HASH 676d70f919eSSimon Glass bool # "Support hashing API (SHA1, SHA256, etc.)" 677d70f919eSSimon Glass help 678d70f919eSSimon Glass This provides a way to hash data in memory using various supported 679d70f919eSSimon Glass algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h 680d70f919eSSimon Glass and the algorithms it supports are defined in common/hash.c. See 681d70f919eSSimon Glass also CMD_HASH for command-line access. 682d70f919eSSimon Glass 6835905cceaSRasmus Villemoesconfig BOARD_RNG_SEED 6845905cceaSRasmus Villemoes bool "Provide /chosen/rng-seed property to the linux kernel" 6855905cceaSRasmus Villemoes help 6865905cceaSRasmus Villemoes Selecting this option requires the board to define a 6875905cceaSRasmus Villemoes board_rng_seed() function, which should return a buffer 6885905cceaSRasmus Villemoes which will be used to populate the /chosen/rng-seed property 6895905cceaSRasmus Villemoes in the device tree for the OS being booted. 6905905cceaSRasmus Villemoes 6915905cceaSRasmus Villemoes It is up to the board code (and more generally the whole 6925905cceaSRasmus Villemoes BSP) where and how to store (or generate) such a seed, how 6935905cceaSRasmus Villemoes to ensure a given seed is only used once, how to create a 6945905cceaSRasmus Villemoes new seed for use on subsequent boots, and whether or not the 6955905cceaSRasmus Villemoes kernel should account any entropy from the given seed. 6965905cceaSRasmus Villemoes 697d70f919eSSimon Glassendmenu 698d70f919eSSimon Glass 699*2f96fde5SJoseph Chenconfig SMP 700*2f96fde5SJoseph Chen bool "Enable Symmetric Multiprocessing" 701*2f96fde5SJoseph Chen default n 702*2f96fde5SJoseph Chen help 703*2f96fde5SJoseph Chen Enable use of more than one CPU in U-Boot and the Operating System 704*2f96fde5SJoseph Chen when loaded. If this option is disabled, then only one CPU will be 705*2f96fde5SJoseph Chen enabled regardless of the number of CPUs available. 706*2f96fde5SJoseph Chen 70736c449feSJoseph Chenmenu "MT support" 70836c449feSJoseph Chen 70936c449feSJoseph Chenconfig MP_BOOT 71036c449feSJoseph Chen bool "Support MT boot" 71136c449feSJoseph Chen default n 71236c449feSJoseph Chen 71336c449feSJoseph Chenconfig MP_BOOT_BOOTM 71436c449feSJoseph Chen bool "MT simple bootm image" 71536c449feSJoseph Chen depends on MP_BOOT 71636c449feSJoseph Chen 71736c449feSJoseph Chenendmenu 71836c449feSJoseph Chen 719c2ae7d82SSimon Glasssource "common/spl/Kconfig" 7204a2b8db4SJoseph Chensource "common/usbplug/Kconfig" 721