1 menu "Command line interface"
7 This option enables the "hush" shell (from Busybox) as command line
8 interpreter, thus enabling powerful command line syntax like
9 if...then...else...fi conditionals or `&&' and '||'
10 constructs ("shell scripts").
12 If disabled, you get the old, much simpler behaviour with a somewhat
13 smaller memory footprint.
15 config SYS_HUSH_PARSER
18 Backward compatibility.
20 menu "Autoboot options"
23 bool "Stop autobooting via specific input key / string"
26 This option enables stopping (aborting) of the automatic
27 boot feature only by issuing a specific input key or
28 string. If not enabled, any input key will abort the
29 U-Boot automatic booting process and bring the device
30 to the U-Boot prompt for user input.
32 config AUTOBOOT_PROMPT
33 string "Autoboot stop prompt"
34 depends on AUTOBOOT_KEYED
35 default "Autoboot in %d seconds\\n"
37 This string is displayed before the boot delay selected by
38 CONFIG_BOOTDELAY starts. If it is not defined there is no
39 output indicating that autoboot is in progress.
41 Note that this define is used as the (only) argument to a
42 printf() call, so it may contain '%' format specifications,
43 provided that it also includes, sepearated by commas exactly
44 like in a printf statement, the required arguments. It is
45 the responsibility of the user to select only such arguments
46 that are valid in the given context.
48 config AUTOBOOT_ENCRYPTION
49 bool "Enable encryption in autoboot stopping"
50 depends on AUTOBOOT_KEYED
53 config AUTOBOOT_DELAY_STR
54 string "Delay autobooting via specific input key / string"
55 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
57 This option delays the automatic boot feature by issuing
58 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
59 or the environment variable "bootdelaykey" is specified
60 and this string is received from console input before
61 autoboot starts booting, U-Boot gives a command prompt. The
62 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
63 used, otherwise it never times out.
65 config AUTOBOOT_STOP_STR
66 string "Stop autobooting via specific input key / string"
67 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
69 This option enables stopping (aborting) of the automatic
70 boot feature only by issuing a specific input key or
71 string. If CONFIG_AUTOBOOT_STOP_STR or the environment
72 variable "bootstopkey" is specified and this string is
73 received from console input before autoboot starts booting,
74 U-Boot gives a command prompt. The U-Boot prompt never
75 times out, even if CONFIG_BOOT_RETRY_TIME is used.
77 config AUTOBOOT_KEYED_CTRLC
78 bool "Enable Ctrl-C autoboot interruption"
79 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
82 This option allows for the boot sequence to be interrupted
83 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
84 Setting this variable provides an escape sequence from the
85 limited "password" strings.
87 config AUTOBOOT_STOP_STR_SHA256
88 string "Stop autobooting via SHA256 encrypted password"
89 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
91 This option adds the feature to only stop the autobooting,
92 and therefore boot into the U-Boot prompt, when the input
93 string / password matches a values that is encypted via
94 a SHA256 hash and saved in the environment.
112 Print console devices and information.
117 Print information about available CPUs. This normally shows the
118 number of CPUs, type (e.g. manufacturer, architecture, product or
119 internal name) and clock frequency. Other information may be
120 available depending on the CPU driver.
125 Print GPL license text
135 Run the command stored in the environment "bootcmd", i.e.
136 "bootd" does the same thing as "run bootcmd".
142 Boot an application image from the memory.
148 Start an application at a given address.
154 Run the command in the given environment variable.
160 Print header information for application image.
166 List all images found in flash
172 Extract a part of a multi-image.
176 menu "Environment commands"
194 Edit environment variable.
200 Save all environment variables into the compiled-in persistent
203 config CMD_ENV_EXISTS
207 Check if a variable is defined in the environment for use in
212 menu "Memory commands"
215 bool "md, mm, nm, mw, cp, cmp, base, loop"
220 mm - memory modify (auto-incrementing address)
221 nm - memory modify (constant address)
222 mw - memory write (fill)
225 base - print or set address offset
226 loop - initinite loop on address range
237 Infinite write loop on address range
242 Simple RAM read/write test.
247 mdc - memory display cyclic
248 mwc - memory write cyclic
253 Display memory information.
257 menu "Device access commands"
260 bool "dm - Access to driver model information"
264 Provides access to driver model data structures and information,
265 such as a list of devices, list of uclasses and the state of each
266 device (e.g. activated). This is not required for operation, but
267 can be useful to see the state of driver model for debugging or
271 bool "demo - Demonstration commands for driver model"
274 Provides a 'demo' command which can be used to play around with
275 driver model. To use this properly you will need to enable one or
276 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
277 Otherwise you will always get an empty list of devices. The demo
278 devices are defined in the sandbox device tree, so the easiest
279 option is to use sandbox and pass the -d point to sandbox's
286 Load a binary file over serial line.
292 Load an S-Record file over serial line
295 bool "flinfo, erase, protect"
299 flinfo - print FLASH memory information
301 protect - enable or disable FLASH write protection
304 depends on FLASH_CFI_DRIVER
307 ARM Ltd reference designs flash partition access
343 menu "Shell scripting commands"
355 Return true/false on integer compare.
361 Run script from memory
367 Evaluate boolean and math expressions and store the result in an env
369 Also supports loading the value at a memory location into a variable.
370 If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
374 menu "Network commands"
377 bool "bootp, tftpboot"
382 bootp - boot image via network using BOOTP/TFTP protocol
383 tftpboot - boot image via network using TFTP protocol
388 TFTP put command, for uploading files to a server
393 Act as a TFTP server and boot the first received file
398 Boot image via network using RARP/TFTP protocol
403 Boot image via network using DHCP/TFTP protocol
409 Boot image via network using NFS protocol.
414 Send ICMP ECHO_REQUEST to network host
419 Perform CDP network configuration
424 Synchronize RTC via network
429 Lookup the IP of a hostname
431 config CMD_LINK_LOCAL
434 Acquire a network IP address using the link-local protocol
443 Run commands and summarize execution time.
445 # TODO: rename to CMD_SLEEP
450 Delay execution for some time
455 Access the system timer.
458 bool "getdcr, setdcr, getidcr, setidcr"
462 getdcr - Get an AMCC PPC 4xx DCR's value
463 setdcr - Set an AMCC PPC 4xx DCR's value
464 getidcr - Get a register value via indirect DCR addressing
465 setidcr - Set a register value via indirect DCR addressing
471 This provides basic access to the U-Boot's sound support. The main
472 feature is to play a beep.
474 sound init - set up sound system
475 sound play - play a sound
482 bool "Boot timing and reporting"
484 Enable recording of boot time while booting. To use it, insert
485 calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
486 bootstage.h. Only a single entry is recorded for each ID. You can
487 give the entry a name with bootstage_mark_name(). You can also
488 record elapsed time in a particular stage using bootstage_start()
489 before starting and bootstage_accum() when finished. Bootstage will
490 add up all the accumated time and report it.
492 Normally, IDs are defined in bootstage.h but a small number of
493 additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
496 Calls to show_boot_progress() wil also result in log entries but
497 these will not have names.
499 config BOOTSTAGE_REPORT
500 bool "Display a detailed boot timing report before booting the OS"
503 Enable output of a boot time report just before the OS is booted.
504 This shows how long it took U-Boot to go through each stage of the
505 boot process. The report looks something like this:
507 Timer summary in microseconds:
510 3,575,678 3,575,678 board_init_f start
511 3,575,695 17 arch_cpu_init A9
512 3,575,777 82 arch_cpu_init done
513 3,659,598 83,821 board_init_r start
514 3,910,375 250,777 main_loop
515 29,916,167 26,005,792 bootm_start
516 30,361,327 445,160 start_kernel
518 config BOOTSTAGE_USER_COUNT
519 hex "Number of boot ID numbers available for user use"
522 This is the number of available user bootstage records.
523 Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
524 a new ID will be allocated from this stash. If you exceed
525 the limit, recording will stop.
528 bool "Enable the 'bootstage' command"
531 Add a 'bootstage' command which supports printing a report
532 and un/stashing of bootstage data.
535 bool "Store boot timing information in the OS device tree"
538 Stash the bootstage information in the FDT. A root 'bootstage'
539 node is created with each bootstage id as a child. Each child
540 has a 'name' property and either 'mark' containing the
541 mark time in microsecond, or 'accum' containing the
542 accumulated time for that bootstage id in microseconds.
547 name = "board_init_f";
556 Code in the Linux kernel can find this in /proc/devicetree.
558 config BOOTSTAGE_STASH
559 bool "Stash the boot timing information in memory before booting OS"
562 Some OSes do not support device tree. Bootstage can instead write
563 the boot timing information in a binary format at a given address.
564 This happens through a call to bootstage_stash(), typically in
565 the CPU's cleanup_before_linux() function. You can use the
566 'bootstage stash' and 'bootstage unstash' commands to do this on
569 config BOOTSTAGE_STASH_ADDR
570 hex "Address to stash boot timing information"
573 Provide an address which will not be overwritten by the OS when it
574 starts, so that it can read this information when ready.
576 config BOOTSTAGE_STASH_SIZE
577 hex "Size of boot timing stash region"
580 This should be large enough to hold the bootstage stash. A value of
581 4096 (4KiB) is normally plenty.
585 menu "Power commands"
587 bool "Enable Driver Model PMIC command"
590 This is the pmic command, based on a driver model pmic's API.
591 Command features are unchanged:
592 - list - list pmic devices
593 - pmic dev <id> - show or [set] operating pmic device (NEW)
594 - pmic dump - dump registers
595 - pmic read address - read byte of register at address
596 - pmic write address - write byte to register at address
597 The only one change for this command is 'dev' subcommand.
600 bool "Enable Driver Model REGULATOR command"
601 depends on DM_REGULATOR
603 This command is based on driver model regulator's API.
604 User interface features:
605 - list - list regulator devices
606 - regulator dev <id> - show or [set] operating regulator device
607 - regulator info - print constraints info
608 - regulator status - print operating status
609 - regulator value <val] <-f> - print/[set] voltage value [uV]
610 - regulator current <val> - print/[set] current value [uA]
611 - regulator mode <id> - print/[set] operating mode id
612 - regulator enable - enable the regulator output
613 - regulator disable - disable the regulator output
615 The '-f' (force) option can be used for set the value which exceeds
616 the limits, which are found in device-tree and are kept in regulator's
617 uclass platdata structure.