1ed36323fSMasahiro Yamadamenu "Command line interface" 2ed36323fSMasahiro Yamada 36c775090SMasahiro Yamadaconfig HUSH_PARSER 46c775090SMasahiro Yamada bool "Use hush shell" 56c775090SMasahiro Yamada select SYS_HUSH_PARSER 66c775090SMasahiro Yamada help 76c775090SMasahiro Yamada This option enables the "hush" shell (from Busybox) as command line 86c775090SMasahiro Yamada interpreter, thus enabling powerful command line syntax like 96c775090SMasahiro Yamada if...then...else...fi conditionals or `&&' and '||' 106c775090SMasahiro Yamada constructs ("shell scripts"). 116c775090SMasahiro Yamada 126c775090SMasahiro Yamada If disabled, you get the old, much simpler behaviour with a somewhat 136c775090SMasahiro Yamada smaller memory footprint. 146c775090SMasahiro Yamada 156c775090SMasahiro Yamadaconfig SYS_HUSH_PARSER 166c775090SMasahiro Yamada bool 176c775090SMasahiro Yamada help 186c775090SMasahiro Yamada Backward compatibility. 196c775090SMasahiro Yamada 20*d126e016SStefan Roesemenu "Autoboot options" 21*d126e016SStefan Roese 22*d126e016SStefan Roeseconfig AUTOBOOT_KEYED 23*d126e016SStefan Roese bool "Stop autobooting via specific input key / string" 24*d126e016SStefan Roese default n 25*d126e016SStefan Roese help 26*d126e016SStefan Roese This option enables stopping (aborting) of the automatic 27*d126e016SStefan Roese boot feature only by issuing a specific input key or 28*d126e016SStefan Roese string. If not enabled, any input key will abort the 29*d126e016SStefan Roese U-Boot automatic booting process and bring the device 30*d126e016SStefan Roese to the U-Boot prompt for user input. 31*d126e016SStefan Roese 32*d126e016SStefan Roeseconfig AUTOBOOT_PROMPT 33*d126e016SStefan Roese string "Autoboot stop prompt" 34*d126e016SStefan Roese depends on AUTOBOOT_KEYED 35*d126e016SStefan Roese default "Autoboot in %d seconds\\n" 36*d126e016SStefan Roese help 37*d126e016SStefan Roese This string is displayed before the boot delay selected by 38*d126e016SStefan Roese CONFIG_BOOTDELAY starts. If it is not defined there is no 39*d126e016SStefan Roese output indicating that autoboot is in progress. 40*d126e016SStefan Roese 41*d126e016SStefan Roese Note that this define is used as the (only) argument to a 42*d126e016SStefan Roese printf() call, so it may contain '%' format specifications, 43*d126e016SStefan Roese provided that it also includes, sepearated by commas exactly 44*d126e016SStefan Roese like in a printf statement, the required arguments. It is 45*d126e016SStefan Roese the responsibility of the user to select only such arguments 46*d126e016SStefan Roese that are valid in the given context. 47*d126e016SStefan Roese 48*d126e016SStefan Roeseconfig AUTOBOOT_DELAY_STR 49*d126e016SStefan Roese string "Delay autobooting via specific input key / string" 50*d126e016SStefan Roese depends on AUTOBOOT_KEYED 51*d126e016SStefan Roese help 52*d126e016SStefan Roese This option delays the automatic boot feature by issuing 53*d126e016SStefan Roese a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR 54*d126e016SStefan Roese or the environment variable "bootdelaykey" is specified 55*d126e016SStefan Roese and this string is received from console input before 56*d126e016SStefan Roese autoboot starts booting, U-Boot gives a command prompt. The 57*d126e016SStefan Roese U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is 58*d126e016SStefan Roese used, otherwise it never times out. 59*d126e016SStefan Roese 60*d126e016SStefan Roeseconfig AUTOBOOT_STOP_STR 61*d126e016SStefan Roese string "Stop autobooting via specific input key / string" 62*d126e016SStefan Roese depends on AUTOBOOT_KEYED 63*d126e016SStefan Roese help 64*d126e016SStefan Roese This option enables stopping (aborting) of the automatic 65*d126e016SStefan Roese boot feature only by issuing a specific input key or 66*d126e016SStefan Roese string. If CONFIG_AUTOBOOT_STOP_STR or the environment 67*d126e016SStefan Roese variable "bootstopkey" is specified and this string is 68*d126e016SStefan Roese received from console input before autoboot starts booting, 69*d126e016SStefan Roese U-Boot gives a command prompt. The U-Boot prompt never 70*d126e016SStefan Roese times out, even if CONFIG_BOOT_RETRY_TIME is used. 71*d126e016SStefan Roese 72*d126e016SStefan Roeseconfig AUTOBOOT_KEYED_CTRLC 73*d126e016SStefan Roese bool "Enable Ctrl-C autoboot interruption" 74*d126e016SStefan Roese depends on AUTOBOOT_KEYED 75*d126e016SStefan Roese default n 76*d126e016SStefan Roese help 77*d126e016SStefan Roese This option allows for the boot sequence to be interrupted 78*d126e016SStefan Roese by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". 79*d126e016SStefan Roese Setting this variable provides an escape sequence from the 80*d126e016SStefan Roese limited "password" strings. 81*d126e016SStefan Roese 82*d126e016SStefan Roeseendmenu 83*d126e016SStefan Roese 8460296a83SMasahiro Yamadacomment "Commands" 8560296a83SMasahiro Yamada 8660296a83SMasahiro Yamadamenu "Info commands" 8760296a83SMasahiro Yamada 8860296a83SMasahiro Yamadaconfig CMD_BDI 8960296a83SMasahiro Yamada bool "bdinfo" 9060296a83SMasahiro Yamada help 9160296a83SMasahiro Yamada Print board info 9260296a83SMasahiro Yamada 9360296a83SMasahiro Yamadaconfig CMD_CONSOLE 9460296a83SMasahiro Yamada bool "coninfo" 9560296a83SMasahiro Yamada help 9660296a83SMasahiro Yamada Print console devices and information. 9760296a83SMasahiro Yamada 988e2fac05SSimon Glassconfig CMD_CPU 998e2fac05SSimon Glass bool "cpu" 1008e2fac05SSimon Glass help 1018e2fac05SSimon Glass Print information about available CPUs. This normally shows the 1028e2fac05SSimon Glass number of CPUs, type (e.g. manufacturer, architecture, product or 1038e2fac05SSimon Glass internal name) and clock frequency. Other information may be 1048e2fac05SSimon Glass available depending on the CPU driver. 1058e2fac05SSimon Glass 10660296a83SMasahiro Yamadaconfig CMD_LICENSE 10760296a83SMasahiro Yamada bool "license" 10860296a83SMasahiro Yamada help 10960296a83SMasahiro Yamada Print GPL license text 11060296a83SMasahiro Yamada 11160296a83SMasahiro Yamadaendmenu 11260296a83SMasahiro Yamada 11360296a83SMasahiro Yamadamenu "Boot commands" 11460296a83SMasahiro Yamada 11560296a83SMasahiro Yamadaconfig CMD_BOOTD 11660296a83SMasahiro Yamada bool "bootd" 11760296a83SMasahiro Yamada help 11860296a83SMasahiro Yamada Run the command stored in the environment "bootcmd", i.e. 11960296a83SMasahiro Yamada "bootd" does the same thing as "run bootcmd". 12060296a83SMasahiro Yamada 121dba16970SMasahiro Yamadaconfig CMD_BOOTM 12260296a83SMasahiro Yamada bool "bootm" 123dba16970SMasahiro Yamada default y 124dba16970SMasahiro Yamada help 125dba16970SMasahiro Yamada Boot an application image from the memory. 126dba16970SMasahiro Yamada 12760296a83SMasahiro Yamadaconfig CMD_GO 12860296a83SMasahiro Yamada bool "go" 129ca05ee9dSMasahiro Yamada default y 130ca05ee9dSMasahiro Yamada help 13160296a83SMasahiro Yamada Start an application at a given address. 13260296a83SMasahiro Yamada 13360296a83SMasahiro Yamadaconfig CMD_RUN 13460296a83SMasahiro Yamada bool "run" 13560296a83SMasahiro Yamada help 13660296a83SMasahiro Yamada Run the command in the given environment variable. 13760296a83SMasahiro Yamada 13860296a83SMasahiro Yamadaconfig CMD_IMI 13960296a83SMasahiro Yamada bool "iminfo" 14060296a83SMasahiro Yamada help 14160296a83SMasahiro Yamada Print header information for application image. 14260296a83SMasahiro Yamada 14360296a83SMasahiro Yamadaconfig CMD_IMLS 14460296a83SMasahiro Yamada bool "imls" 14560296a83SMasahiro Yamada help 14660296a83SMasahiro Yamada List all images found in flash 14760296a83SMasahiro Yamada 14860296a83SMasahiro Yamadaconfig CMD_XIMG 14960296a83SMasahiro Yamada bool "imxtract" 15060296a83SMasahiro Yamada help 15160296a83SMasahiro Yamada Extract a part of a multi-image. 15260296a83SMasahiro Yamada 15360296a83SMasahiro Yamadaendmenu 15460296a83SMasahiro Yamada 15560296a83SMasahiro Yamadamenu "Environment commands" 156ca05ee9dSMasahiro Yamada 157cccee189SMasahiro Yamadaconfig CMD_EXPORTENV 15860296a83SMasahiro Yamada bool "env export" 159cccee189SMasahiro Yamada default y 160cccee189SMasahiro Yamada help 161cccee189SMasahiro Yamada Export environments. 162cccee189SMasahiro Yamada 1631d5c2015SMasahiro Yamadaconfig CMD_IMPORTENV 16460296a83SMasahiro Yamada bool "env import" 1651d5c2015SMasahiro Yamada default y 1661d5c2015SMasahiro Yamada help 1671d5c2015SMasahiro Yamada Import environments. 1681d5c2015SMasahiro Yamada 16960296a83SMasahiro Yamadaconfig CMD_EDITENV 17060296a83SMasahiro Yamada bool "editenv" 17160296a83SMasahiro Yamada help 17260296a83SMasahiro Yamada Edit environment variable. 17360296a83SMasahiro Yamada 17460296a83SMasahiro Yamadaconfig CMD_SAVEENV 17560296a83SMasahiro Yamada bool "saveenv" 17660296a83SMasahiro Yamada help 17760296a83SMasahiro Yamada Run the command in the given environment variable. 17860296a83SMasahiro Yamada 17960296a83SMasahiro Yamadaendmenu 18060296a83SMasahiro Yamada 18160296a83SMasahiro Yamadamenu "Memory commands" 18260296a83SMasahiro Yamada 18360296a83SMasahiro Yamadaconfig CMD_MEMORY 18460296a83SMasahiro Yamada bool "md, mm, nm, mw, cp, cmp, base, loop" 18560296a83SMasahiro Yamada help 18660296a83SMasahiro Yamada Memeory commands. 18760296a83SMasahiro Yamada md - memory display 18860296a83SMasahiro Yamada mm - memory modify (auto-incrementing address) 18960296a83SMasahiro Yamada nm - memory modify (constant address) 19060296a83SMasahiro Yamada mw - memory write (fill) 19160296a83SMasahiro Yamada cp - memory copy 19260296a83SMasahiro Yamada cmp - memory compare 19360296a83SMasahiro Yamada base - print or set address offset 19460296a83SMasahiro Yamada loop - initinite loop on address range 19560296a83SMasahiro Yamada 19660296a83SMasahiro Yamadaconfig CMD_CRC32 19760296a83SMasahiro Yamada bool "crc32" 198726ac8e4SMasahiro Yamada default y 199726ac8e4SMasahiro Yamada help 20060296a83SMasahiro Yamada Compute CRC32. 20160296a83SMasahiro Yamada 20260296a83SMasahiro Yamadaconfig LOOPW 20360296a83SMasahiro Yamada bool "loopw" 20460296a83SMasahiro Yamada help 20560296a83SMasahiro Yamada Infinite write loop on address range 20660296a83SMasahiro Yamada 20760296a83SMasahiro Yamadaconfig CMD_MEMTEST 20841ffb45cSNikolaos Pasaloukos bool "memtest" 20960296a83SMasahiro Yamada help 21060296a83SMasahiro Yamada Simple RAM read/write test. 21160296a83SMasahiro Yamada 21260296a83SMasahiro Yamadaconfig CMD_MX_CYCLIC 21360296a83SMasahiro Yamada bool "mdc, mwc" 21460296a83SMasahiro Yamada help 21560296a83SMasahiro Yamada mdc - memory display cyclic 21660296a83SMasahiro Yamada mwc - memory write cyclic 21760296a83SMasahiro Yamada 21860296a83SMasahiro Yamadaconfig CMD_MEMINFO 21960296a83SMasahiro Yamada bool "meminfo" 22060296a83SMasahiro Yamada help 22160296a83SMasahiro Yamada Display memory information. 22260296a83SMasahiro Yamada 22360296a83SMasahiro Yamadaendmenu 22460296a83SMasahiro Yamada 22560296a83SMasahiro Yamadamenu "Device access commands" 22660296a83SMasahiro Yamada 227f058f154SSimon Glassconfig CMD_DM 228f058f154SSimon Glass bool "dm - Access to driver model information" 229f058f154SSimon Glass depends on DM 230f058f154SSimon Glass default y 231f058f154SSimon Glass help 232f058f154SSimon Glass Provides access to driver model data structures and information, 233f058f154SSimon Glass such as a list of devices, list of uclasses and the state of each 234f058f154SSimon Glass device (e.g. activated). This is not required for operation, but 235f058f154SSimon Glass can be useful to see the state of driver model for debugging or 236f058f154SSimon Glass interest. 237f058f154SSimon Glass 238f058f154SSimon Glassconfig CMD_DEMO 239f058f154SSimon Glass bool "demo - Demonstration commands for driver model" 240f058f154SSimon Glass depends on DM 241f058f154SSimon Glass help 242f058f154SSimon Glass Provides a 'demo' command which can be used to play around with 243f058f154SSimon Glass driver model. To use this properly you will need to enable one or 244f058f154SSimon Glass both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE). 245f058f154SSimon Glass Otherwise you will always get an empty list of devices. The demo 246f058f154SSimon Glass devices are defined in the sandbox device tree, so the easiest 247f058f154SSimon Glass option is to use sandbox and pass the -d point to sandbox's 248f058f154SSimon Glass u-boot.dtb file. 249f058f154SSimon Glass 25060296a83SMasahiro Yamadaconfig CMD_LOADB 25160296a83SMasahiro Yamada bool "loadb" 25260296a83SMasahiro Yamada help 25360296a83SMasahiro Yamada Load a binary file over serial line. 25460296a83SMasahiro Yamada 25560296a83SMasahiro Yamadaconfig CMD_LOADS 25660296a83SMasahiro Yamada bool "loads" 25760296a83SMasahiro Yamada help 25860296a83SMasahiro Yamada Load an S-Record file over serial line 25960296a83SMasahiro Yamada 26060296a83SMasahiro Yamadaconfig CMD_FLASH 26160296a83SMasahiro Yamada bool "flinfo, erase, protect" 26260296a83SMasahiro Yamada help 26360296a83SMasahiro Yamada NOR flash support. 26460296a83SMasahiro Yamada flinfo - print FLASH memory information 26560296a83SMasahiro Yamada erase - FLASH memory 26660296a83SMasahiro Yamada protect - enable or disable FLASH write protection 26760296a83SMasahiro Yamada 2684bb66506SLinus Walleijconfig CMD_ARMFLASH 2694bb66506SLinus Walleij depends on FLASH_CFI_DRIVER 2704bb66506SLinus Walleij bool "armflash" 2714bb66506SLinus Walleij help 2724bb66506SLinus Walleij ARM Ltd reference designs flash partition access 2734bb66506SLinus Walleij 27460296a83SMasahiro Yamadaconfig CMD_NAND 27560296a83SMasahiro Yamada bool "nand" 27660296a83SMasahiro Yamada help 27760296a83SMasahiro Yamada NAND support. 27860296a83SMasahiro Yamada 27960296a83SMasahiro Yamadaconfig CMD_SPI 28060296a83SMasahiro Yamada bool "sspi" 28160296a83SMasahiro Yamada help 28260296a83SMasahiro Yamada SPI utility command. 28360296a83SMasahiro Yamada 28460296a83SMasahiro Yamadaconfig CMD_I2C 28560296a83SMasahiro Yamada bool "i2c" 28660296a83SMasahiro Yamada help 28760296a83SMasahiro Yamada I2C support. 28860296a83SMasahiro Yamada 28960296a83SMasahiro Yamadaconfig CMD_USB 29060296a83SMasahiro Yamada bool "usb" 29160296a83SMasahiro Yamada help 29260296a83SMasahiro Yamada USB support. 29360296a83SMasahiro Yamada 29460296a83SMasahiro Yamadaconfig CMD_FPGA 29560296a83SMasahiro Yamada bool "fpga" 29660296a83SMasahiro Yamada help 29760296a83SMasahiro Yamada FPGA support. 29860296a83SMasahiro Yamada 29960296a83SMasahiro Yamadaendmenu 30060296a83SMasahiro Yamada 30160296a83SMasahiro Yamada 30260296a83SMasahiro Yamadamenu "Shell scripting commands" 30360296a83SMasahiro Yamada 30460296a83SMasahiro Yamadaconfig CMD_ECHO 30560296a83SMasahiro Yamada bool "echo" 30660296a83SMasahiro Yamada help 30760296a83SMasahiro Yamada Echo args to console 30860296a83SMasahiro Yamada 30960296a83SMasahiro Yamadaconfig CMD_ITEST 31060296a83SMasahiro Yamada bool "itest" 31160296a83SMasahiro Yamada help 31260296a83SMasahiro Yamada Return true/false on integer compare. 31360296a83SMasahiro Yamada 31460296a83SMasahiro Yamadaconfig CMD_SOURCE 31560296a83SMasahiro Yamada bool "source" 31660296a83SMasahiro Yamada help 31760296a83SMasahiro Yamada Run script from memory 31860296a83SMasahiro Yamada 3197453cb59SJoe Hershbergerconfig CMD_SETEXPR 3207453cb59SJoe Hershberger bool "setexpr" 3217453cb59SJoe Hershberger help 3227453cb59SJoe Hershberger Evaluate boolean and math expressions and store the result in an env 3237453cb59SJoe Hershberger variable. 3247453cb59SJoe Hershberger Also supports loading the value at a memory location into a variable. 3257453cb59SJoe Hershberger If CONFIG_REGEX is enabled, setexpr also supports a gsub function. 3267453cb59SJoe Hershberger 32760296a83SMasahiro Yamadaendmenu 32860296a83SMasahiro Yamada 32960296a83SMasahiro Yamadamenu "Network commands" 33060296a83SMasahiro Yamada 33160296a83SMasahiro Yamadaconfig CMD_NET 33260296a83SMasahiro Yamada bool "bootp, tftpboot" 3336eed3786SJoe Hershberger select NET 33460296a83SMasahiro Yamada help 33560296a83SMasahiro Yamada Network commands. 33660296a83SMasahiro Yamada bootp - boot image via network using BOOTP/TFTP protocol 33760296a83SMasahiro Yamada tftpboot - boot image via network using TFTP protocol 33860296a83SMasahiro Yamada 33960296a83SMasahiro Yamadaconfig CMD_TFTPPUT 34060296a83SMasahiro Yamada bool "tftp put" 34160296a83SMasahiro Yamada help 34260296a83SMasahiro Yamada TFTP put command, for uploading files to a server 34360296a83SMasahiro Yamada 34460296a83SMasahiro Yamadaconfig CMD_TFTPSRV 34560296a83SMasahiro Yamada bool "tftpsrv" 34660296a83SMasahiro Yamada help 34760296a83SMasahiro Yamada Act as a TFTP server and boot the first received file 34860296a83SMasahiro Yamada 34960296a83SMasahiro Yamadaconfig CMD_RARP 35060296a83SMasahiro Yamada bool "rarpboot" 35160296a83SMasahiro Yamada help 35260296a83SMasahiro Yamada Boot image via network using RARP/TFTP protocol 35360296a83SMasahiro Yamada 35460296a83SMasahiro Yamadaconfig CMD_DHCP 35560296a83SMasahiro Yamada bool "dhcp" 35660296a83SMasahiro Yamada help 35760296a83SMasahiro Yamada Boot image via network using DHCP/TFTP protocol 35860296a83SMasahiro Yamada 35960296a83SMasahiro Yamadaconfig CMD_NFS 36060296a83SMasahiro Yamada bool "nfs" 36160296a83SMasahiro Yamada help 36260296a83SMasahiro Yamada Boot image via network using NFS protocol. 36360296a83SMasahiro Yamada 36460296a83SMasahiro Yamadaconfig CMD_PING 36560296a83SMasahiro Yamada bool "ping" 36660296a83SMasahiro Yamada help 36760296a83SMasahiro Yamada Send ICMP ECHO_REQUEST to network host 36860296a83SMasahiro Yamada 36960296a83SMasahiro Yamadaconfig CMD_CDP 37060296a83SMasahiro Yamada bool "cdp" 37160296a83SMasahiro Yamada help 37260296a83SMasahiro Yamada Perform CDP network configuration 37360296a83SMasahiro Yamada 37460296a83SMasahiro Yamadaconfig CMD_SNTP 37560296a83SMasahiro Yamada bool "sntp" 37660296a83SMasahiro Yamada help 37760296a83SMasahiro Yamada Synchronize RTC via network 37860296a83SMasahiro Yamada 37960296a83SMasahiro Yamadaconfig CMD_DNS 38060296a83SMasahiro Yamada bool "dns" 38160296a83SMasahiro Yamada help 38260296a83SMasahiro Yamada Lookup the IP of a hostname 38360296a83SMasahiro Yamada 38460296a83SMasahiro Yamadaconfig CMD_LINK_LOCAL 38560296a83SMasahiro Yamada bool "linklocal" 38660296a83SMasahiro Yamada help 38760296a83SMasahiro Yamada Acquire a network IP address using the link-local protocol 38860296a83SMasahiro Yamada 38960296a83SMasahiro Yamadaendmenu 39060296a83SMasahiro Yamada 39160296a83SMasahiro Yamadamenu "Misc commands" 39260296a83SMasahiro Yamada 39360296a83SMasahiro Yamadaconfig CMD_TIME 39460296a83SMasahiro Yamada bool "time" 39560296a83SMasahiro Yamada help 39660296a83SMasahiro Yamada Run commands and summarize execution time. 39760296a83SMasahiro Yamada 39860296a83SMasahiro Yamada# TODO: rename to CMD_SLEEP 39960296a83SMasahiro Yamadaconfig CMD_MISC 40060296a83SMasahiro Yamada bool "sleep" 40160296a83SMasahiro Yamada help 40260296a83SMasahiro Yamada Delay execution for some time 40360296a83SMasahiro Yamada 40460296a83SMasahiro Yamadaconfig CMD_TIMER 40560296a83SMasahiro Yamada bool "timer" 40660296a83SMasahiro Yamada help 40760296a83SMasahiro Yamada Access the system timer. 40860296a83SMasahiro Yamada 40960296a83SMasahiro Yamadaconfig CMD_SETGETDCR 41060296a83SMasahiro Yamada bool "getdcr, setdcr, getidcr, setidcr" 41160296a83SMasahiro Yamada depends on 4xx 41260296a83SMasahiro Yamada help 41360296a83SMasahiro Yamada getdcr - Get an AMCC PPC 4xx DCR's value 41460296a83SMasahiro Yamada setdcr - Set an AMCC PPC 4xx DCR's value 41560296a83SMasahiro Yamada getidcr - Get a register value via indirect DCR addressing 41660296a83SMasahiro Yamada setidcr - Set a register value via indirect DCR addressing 41760296a83SMasahiro Yamada 418de79a765SSimon Glassconfig CMD_SOUND 419de79a765SSimon Glass bool "sound" 420de79a765SSimon Glass depends on SOUND 421de79a765SSimon Glass help 422de79a765SSimon Glass This provides basic access to the U-Boot's sound support. The main 423de79a765SSimon Glass feature is to play a beep. 424de79a765SSimon Glass 425de79a765SSimon Glass sound init - set up sound system 426de79a765SSimon Glass sound play - play a sound 427de79a765SSimon Glass 42860296a83SMasahiro Yamadaendmenu 429726ac8e4SMasahiro Yamada 430ee2b2434SSimon Glassmenu "Boot timing" 431ee2b2434SSimon Glass 432ee2b2434SSimon Glassconfig BOOTSTAGE 433ee2b2434SSimon Glass bool "Boot timing and reporting" 434ee2b2434SSimon Glass help 435ee2b2434SSimon Glass Enable recording of boot time while booting. To use it, insert 436ee2b2434SSimon Glass calls to bootstage_mark() with a suitable BOOTSTAGE_ID from 437ee2b2434SSimon Glass bootstage.h. Only a single entry is recorded for each ID. You can 438ee2b2434SSimon Glass give the entry a name with bootstage_mark_name(). You can also 439ee2b2434SSimon Glass record elapsed time in a particular stage using bootstage_start() 440ee2b2434SSimon Glass before starting and bootstage_accum() when finished. Bootstage will 441ee2b2434SSimon Glass add up all the accumated time and report it. 442ee2b2434SSimon Glass 443ee2b2434SSimon Glass Normally, IDs are defined in bootstage.h but a small number of 444ee2b2434SSimon Glass additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC 445ee2b2434SSimon Glass as the ID. 446ee2b2434SSimon Glass 447ee2b2434SSimon Glass Calls to show_boot_progress() wil also result in log entries but 448ee2b2434SSimon Glass these will not have names. 449ee2b2434SSimon Glass 450ee2b2434SSimon Glassconfig BOOTSTAGE_REPORT 451ee2b2434SSimon Glass bool "Display a detailed boot timing report before booting the OS" 452ee2b2434SSimon Glass depends on BOOTSTAGE 453ee2b2434SSimon Glass help 454ee2b2434SSimon Glass Enable output of a boot time report just before the OS is booted. 455ee2b2434SSimon Glass This shows how long it took U-Boot to go through each stage of the 456ee2b2434SSimon Glass boot process. The report looks something like this: 457ee2b2434SSimon Glass 458ee2b2434SSimon Glass Timer summary in microseconds: 459ee2b2434SSimon Glass Mark Elapsed Stage 460ee2b2434SSimon Glass 0 0 reset 461ee2b2434SSimon Glass 3,575,678 3,575,678 board_init_f start 462ee2b2434SSimon Glass 3,575,695 17 arch_cpu_init A9 463ee2b2434SSimon Glass 3,575,777 82 arch_cpu_init done 464ee2b2434SSimon Glass 3,659,598 83,821 board_init_r start 465ee2b2434SSimon Glass 3,910,375 250,777 main_loop 466ee2b2434SSimon Glass 29,916,167 26,005,792 bootm_start 467ee2b2434SSimon Glass 30,361,327 445,160 start_kernel 468ee2b2434SSimon Glass 469ee2b2434SSimon Glassconfig BOOTSTAGE_USER_COUNT 470ee2b2434SSimon Glass hex "Number of boot ID numbers available for user use" 471ee2b2434SSimon Glass default 20 472ee2b2434SSimon Glass help 473ee2b2434SSimon Glass This is the number of available user bootstage records. 474ee2b2434SSimon Glass Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) 475ee2b2434SSimon Glass a new ID will be allocated from this stash. If you exceed 476ee2b2434SSimon Glass the limit, recording will stop. 477ee2b2434SSimon Glass 478ee2b2434SSimon Glassconfig CMD_BOOTSTAGE 479ee2b2434SSimon Glass bool "Enable the 'bootstage' command" 480ee2b2434SSimon Glass depends on BOOTSTAGE 481ee2b2434SSimon Glass help 482ee2b2434SSimon Glass Add a 'bootstage' command which supports printing a report 483ee2b2434SSimon Glass and un/stashing of bootstage data. 484ee2b2434SSimon Glass 485ee2b2434SSimon Glassconfig BOOTSTAGE_FDT 486ee2b2434SSimon Glass bool "Store boot timing information in the OS device tree" 487ee2b2434SSimon Glass depends on BOOTSTAGE 488ee2b2434SSimon Glass help 489ee2b2434SSimon Glass Stash the bootstage information in the FDT. A root 'bootstage' 490ee2b2434SSimon Glass node is created with each bootstage id as a child. Each child 491ee2b2434SSimon Glass has a 'name' property and either 'mark' containing the 492ee2b2434SSimon Glass mark time in microsecond, or 'accum' containing the 493ee2b2434SSimon Glass accumulated time for that bootstage id in microseconds. 494ee2b2434SSimon Glass For example: 495ee2b2434SSimon Glass 496ee2b2434SSimon Glass bootstage { 497ee2b2434SSimon Glass 154 { 498ee2b2434SSimon Glass name = "board_init_f"; 499ee2b2434SSimon Glass mark = <3575678>; 500ee2b2434SSimon Glass }; 501ee2b2434SSimon Glass 170 { 502ee2b2434SSimon Glass name = "lcd"; 503ee2b2434SSimon Glass accum = <33482>; 504ee2b2434SSimon Glass }; 505ee2b2434SSimon Glass }; 506ee2b2434SSimon Glass 507ee2b2434SSimon Glass Code in the Linux kernel can find this in /proc/devicetree. 508ee2b2434SSimon Glass 509ee2b2434SSimon Glassconfig BOOTSTAGE_STASH 510ee2b2434SSimon Glass bool "Stash the boot timing information in memory before booting OS" 511ee2b2434SSimon Glass depends on BOOTSTAGE 512ee2b2434SSimon Glass help 513ee2b2434SSimon Glass Some OSes do not support device tree. Bootstage can instead write 514ee2b2434SSimon Glass the boot timing information in a binary format at a given address. 515ee2b2434SSimon Glass This happens through a call to bootstage_stash(), typically in 516ee2b2434SSimon Glass the CPU's cleanup_before_linux() function. You can use the 517ee2b2434SSimon Glass 'bootstage stash' and 'bootstage unstash' commands to do this on 518ee2b2434SSimon Glass the command line. 519ee2b2434SSimon Glass 520ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_ADDR 521ee2b2434SSimon Glass hex "Address to stash boot timing information" 522ee2b2434SSimon Glass default 0 523ee2b2434SSimon Glass help 524ee2b2434SSimon Glass Provide an address which will not be overwritten by the OS when it 525ee2b2434SSimon Glass starts, so that it can read this information when ready. 526ee2b2434SSimon Glass 527ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_SIZE 528ee2b2434SSimon Glass hex "Size of boot timing stash region" 529ee2b2434SSimon Glass default 4096 530ee2b2434SSimon Glass help 531ee2b2434SSimon Glass This should be large enough to hold the bootstage stash. A value of 532ee2b2434SSimon Glass 4096 (4KiB) is normally plenty. 533ee2b2434SSimon Glass 534ee2b2434SSimon Glassendmenu 535ee2b2434SSimon Glass 536d89fdcf9SPrzemyslaw Marczakmenu "Power commands" 537d89fdcf9SPrzemyslaw Marczakconfig CMD_PMIC 538d89fdcf9SPrzemyslaw Marczak bool "Enable Driver Model PMIC command" 539d89fdcf9SPrzemyslaw Marczak depends on DM_PMIC 540d89fdcf9SPrzemyslaw Marczak help 541d89fdcf9SPrzemyslaw Marczak This is the pmic command, based on a driver model pmic's API. 542d89fdcf9SPrzemyslaw Marczak Command features are unchanged: 543d89fdcf9SPrzemyslaw Marczak - list - list pmic devices 544d89fdcf9SPrzemyslaw Marczak - pmic dev <id> - show or [set] operating pmic device (NEW) 545d89fdcf9SPrzemyslaw Marczak - pmic dump - dump registers 546d89fdcf9SPrzemyslaw Marczak - pmic read address - read byte of register at address 547d89fdcf9SPrzemyslaw Marczak - pmic write address - write byte to register at address 548d89fdcf9SPrzemyslaw Marczak The only one change for this command is 'dev' subcommand. 5496262b72bSPrzemyslaw Marczak 5506262b72bSPrzemyslaw Marczakconfig CMD_REGULATOR 5516262b72bSPrzemyslaw Marczak bool "Enable Driver Model REGULATOR command" 5526262b72bSPrzemyslaw Marczak depends on DM_REGULATOR 5536262b72bSPrzemyslaw Marczak help 5546262b72bSPrzemyslaw Marczak This command is based on driver model regulator's API. 5556262b72bSPrzemyslaw Marczak User interface features: 5566262b72bSPrzemyslaw Marczak - list - list regulator devices 5576262b72bSPrzemyslaw Marczak - regulator dev <id> - show or [set] operating regulator device 5586262b72bSPrzemyslaw Marczak - regulator info - print constraints info 5596262b72bSPrzemyslaw Marczak - regulator status - print operating status 5606262b72bSPrzemyslaw Marczak - regulator value <val] <-f> - print/[set] voltage value [uV] 5616262b72bSPrzemyslaw Marczak - regulator current <val> - print/[set] current value [uA] 5626262b72bSPrzemyslaw Marczak - regulator mode <id> - print/[set] operating mode id 5636262b72bSPrzemyslaw Marczak - regulator enable - enable the regulator output 5646262b72bSPrzemyslaw Marczak - regulator disable - disable the regulator output 5656262b72bSPrzemyslaw Marczak 5666262b72bSPrzemyslaw Marczak The '-f' (force) option can be used for set the value which exceeds 5676262b72bSPrzemyslaw Marczak the limits, which are found in device-tree and are kept in regulator's 5686262b72bSPrzemyslaw Marczak uclass platdata structure. 5696262b72bSPrzemyslaw Marczak 570d89fdcf9SPrzemyslaw Marczakendmenu 5716262b72bSPrzemyslaw Marczak 572ed36323fSMasahiro Yamadaendmenu 573