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.
24 This string is displayed in the command line to the left of the
27 menu "Autoboot options"
30 bool "Stop autobooting via specific input key / string"
33 This option enables stopping (aborting) of the automatic
34 boot feature only by issuing a specific input key or
35 string. If not enabled, any input key will abort the
36 U-Boot automatic booting process and bring the device
37 to the U-Boot prompt for user input.
39 config AUTOBOOT_PROMPT
40 string "Autoboot stop prompt"
41 depends on AUTOBOOT_KEYED
42 default "Autoboot in %d seconds\\n"
44 This string is displayed before the boot delay selected by
45 CONFIG_BOOTDELAY starts. If it is not defined there is no
46 output indicating that autoboot is in progress.
48 Note that this define is used as the (only) argument to a
49 printf() call, so it may contain '%' format specifications,
50 provided that it also includes, sepearated by commas exactly
51 like in a printf statement, the required arguments. It is
52 the responsibility of the user to select only such arguments
53 that are valid in the given context.
55 config AUTOBOOT_ENCRYPTION
56 bool "Enable encryption in autoboot stopping"
57 depends on AUTOBOOT_KEYED
60 config AUTOBOOT_DELAY_STR
61 string "Delay autobooting via specific input key / string"
62 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
64 This option delays the automatic boot feature by issuing
65 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
66 or the environment variable "bootdelaykey" is specified
67 and this string is received from console input before
68 autoboot starts booting, U-Boot gives a command prompt. The
69 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
70 used, otherwise it never times out.
72 config AUTOBOOT_STOP_STR
73 string "Stop autobooting via specific input key / string"
74 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
76 This option enables stopping (aborting) of the automatic
77 boot feature only by issuing a specific input key or
78 string. If CONFIG_AUTOBOOT_STOP_STR or the environment
79 variable "bootstopkey" is specified and this string is
80 received from console input before autoboot starts booting,
81 U-Boot gives a command prompt. The U-Boot prompt never
82 times out, even if CONFIG_BOOT_RETRY_TIME is used.
84 config AUTOBOOT_KEYED_CTRLC
85 bool "Enable Ctrl-C autoboot interruption"
86 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
89 This option allows for the boot sequence to be interrupted
90 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
91 Setting this variable provides an escape sequence from the
92 limited "password" strings.
94 config AUTOBOOT_STOP_STR_SHA256
95 string "Stop autobooting via SHA256 encrypted password"
96 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
98 This option adds the feature to only stop the autobooting,
99 and therefore boot into the U-Boot prompt, when the input
100 string / password matches a values that is encypted via
101 a SHA256 hash and saved in the environment.
119 Print console devices and information.
124 Print information about available CPUs. This normally shows the
125 number of CPUs, type (e.g. manufacturer, architecture, product or
126 internal name) and clock frequency. Other information may be
127 available depending on the CPU driver.
132 Print GPL license text
142 Run the command stored in the environment "bootcmd", i.e.
143 "bootd" does the same thing as "run bootcmd".
149 Boot an application image from the memory.
152 bool "bootelf, bootvx"
155 Boot an ELF/vxWorks image from the memory.
161 Start an application at a given address.
167 Run the command in the given environment variable.
173 Print header information for application image.
179 List all images found in flash
185 Extract a part of a multi-image.
189 menu "Environment commands"
207 Edit environment variable.
213 Save all environment variables into the compiled-in persistent
216 config CMD_ENV_EXISTS
220 Check if a variable is defined in the environment for use in
225 menu "Memory commands"
228 bool "md, mm, nm, mw, cp, cmp, base, loop"
233 mm - memory modify (auto-incrementing address)
234 nm - memory modify (constant address)
235 mw - memory write (fill)
238 base - print or set address offset
239 loop - initinite loop on address range
250 Infinite write loop on address range
255 Simple RAM read/write test.
260 mdc - memory display cyclic
261 mwc - memory write cyclic
266 Display memory information.
270 menu "Device access commands"
273 bool "dm - Access to driver model information"
277 Provides access to driver model data structures and information,
278 such as a list of devices, list of uclasses and the state of each
279 device (e.g. activated). This is not required for operation, but
280 can be useful to see the state of driver model for debugging or
284 bool "demo - Demonstration commands for driver model"
287 Provides a 'demo' command which can be used to play around with
288 driver model. To use this properly you will need to enable one or
289 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
290 Otherwise you will always get an empty list of devices. The demo
291 devices are defined in the sandbox device tree, so the easiest
292 option is to use sandbox and pass the -d point to sandbox's
299 Load a binary file over serial line.
305 Load an S-Record file over serial line
308 bool "flinfo, erase, protect"
312 flinfo - print FLASH memory information
314 protect - enable or disable FLASH write protection
317 depends on FLASH_CFI_DRIVER
320 ARM Ltd reference designs flash partition access
353 config CMD_REMOTEPROC
355 depends on REMOTEPROC
357 Support for Remote Processor control
367 menu "Shell scripting commands"
379 Return true/false on integer compare.
385 Run script from memory
391 Evaluate boolean and math expressions and store the result in an env
393 Also supports loading the value at a memory location into a variable.
394 If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
398 menu "Network commands"
401 bool "bootp, tftpboot"
406 bootp - boot image via network using BOOTP/TFTP protocol
407 tftpboot - boot image via network using TFTP protocol
412 TFTP put command, for uploading files to a server
417 Act as a TFTP server and boot the first received file
422 Boot image via network using RARP/TFTP protocol
427 Boot image via network using DHCP/TFTP protocol
433 Boot image via network using NFS protocol.
438 Send ICMP ECHO_REQUEST to network host
443 Perform CDP network configuration
448 Synchronize RTC via network
453 Lookup the IP of a hostname
455 config CMD_LINK_LOCAL
458 Acquire a network IP address using the link-local protocol
469 Lists AMBA Plug-n-Play information.
471 config SYS_AMBAPP_PRINT_ON_STARTUP
472 bool "Show AMBA PnP info on startup"
473 depends on CMD_AMBAPP
476 Show AMBA Plug-n-Play information on startup.
481 Run commands and summarize execution time.
483 # TODO: rename to CMD_SLEEP
488 Delay execution for some time
493 Access the system timer.
496 bool "getdcr, setdcr, getidcr, setidcr"
500 getdcr - Get an AMCC PPC 4xx DCR's value
501 setdcr - Set an AMCC PPC 4xx DCR's value
502 getidcr - Get a register value via indirect DCR addressing
503 setidcr - Set a register value via indirect DCR addressing
509 This provides basic access to the U-Boot's sound support. The main
510 feature is to play a beep.
512 sound init - set up sound system
513 sound play - play a sound
520 bool "Boot timing and reporting"
522 Enable recording of boot time while booting. To use it, insert
523 calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
524 bootstage.h. Only a single entry is recorded for each ID. You can
525 give the entry a name with bootstage_mark_name(). You can also
526 record elapsed time in a particular stage using bootstage_start()
527 before starting and bootstage_accum() when finished. Bootstage will
528 add up all the accumated time and report it.
530 Normally, IDs are defined in bootstage.h but a small number of
531 additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
534 Calls to show_boot_progress() wil also result in log entries but
535 these will not have names.
537 config BOOTSTAGE_REPORT
538 bool "Display a detailed boot timing report before booting the OS"
541 Enable output of a boot time report just before the OS is booted.
542 This shows how long it took U-Boot to go through each stage of the
543 boot process. The report looks something like this:
545 Timer summary in microseconds:
548 3,575,678 3,575,678 board_init_f start
549 3,575,695 17 arch_cpu_init A9
550 3,575,777 82 arch_cpu_init done
551 3,659,598 83,821 board_init_r start
552 3,910,375 250,777 main_loop
553 29,916,167 26,005,792 bootm_start
554 30,361,327 445,160 start_kernel
556 config BOOTSTAGE_USER_COUNT
557 hex "Number of boot ID numbers available for user use"
560 This is the number of available user bootstage records.
561 Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
562 a new ID will be allocated from this stash. If you exceed
563 the limit, recording will stop.
566 bool "Enable the 'bootstage' command"
569 Add a 'bootstage' command which supports printing a report
570 and un/stashing of bootstage data.
573 bool "Store boot timing information in the OS device tree"
576 Stash the bootstage information in the FDT. A root 'bootstage'
577 node is created with each bootstage id as a child. Each child
578 has a 'name' property and either 'mark' containing the
579 mark time in microsecond, or 'accum' containing the
580 accumulated time for that bootstage id in microseconds.
585 name = "board_init_f";
594 Code in the Linux kernel can find this in /proc/devicetree.
596 config BOOTSTAGE_STASH
597 bool "Stash the boot timing information in memory before booting OS"
600 Some OSes do not support device tree. Bootstage can instead write
601 the boot timing information in a binary format at a given address.
602 This happens through a call to bootstage_stash(), typically in
603 the CPU's cleanup_before_linux() function. You can use the
604 'bootstage stash' and 'bootstage unstash' commands to do this on
607 config BOOTSTAGE_STASH_ADDR
608 hex "Address to stash boot timing information"
611 Provide an address which will not be overwritten by the OS when it
612 starts, so that it can read this information when ready.
614 config BOOTSTAGE_STASH_SIZE
615 hex "Size of boot timing stash region"
618 This should be large enough to hold the bootstage stash. A value of
619 4096 (4KiB) is normally plenty.
623 menu "Power commands"
625 bool "Enable Driver Model PMIC command"
628 This is the pmic command, based on a driver model pmic's API.
629 Command features are unchanged:
630 - list - list pmic devices
631 - pmic dev <id> - show or [set] operating pmic device (NEW)
632 - pmic dump - dump registers
633 - pmic read address - read byte of register at address
634 - pmic write address - write byte to register at address
635 The only one change for this command is 'dev' subcommand.
638 bool "Enable Driver Model REGULATOR command"
639 depends on DM_REGULATOR
641 This command is based on driver model regulator's API.
642 User interface features:
643 - list - list regulator devices
644 - regulator dev <id> - show or [set] operating regulator device
645 - regulator info - print constraints info
646 - regulator status - print operating status
647 - regulator value <val] <-f> - print/[set] voltage value [uV]
648 - regulator current <val> - print/[set] current value [uA]
649 - regulator mode <id> - print/[set] operating mode id
650 - regulator enable - enable the regulator output
651 - regulator disable - disable the regulator output
653 The '-f' (force) option can be used for set the value which exceeds
654 the limits, which are found in device-tree and are kept in regulator's
655 uclass platdata structure.
659 menu "Security commands"
661 bool "Enable the 'tpm' command"
664 This provides a means to talk to a TPM from the command line. A wide
665 range of commands if provided - see 'tpm help' for details. The
666 command requires a suitable TPM on your board and the correct driver
670 bool "Enable the 'tpm test' command"
673 This provides a a series of tests to confirm that the TPM is working
674 correctly. The tests cover initialisation, non-volatile RAM, extend,
675 global lock and checking that timing is within expectations. The
676 tests pass correctly on Infineon TPMs but may need to be adjusted
683 config CONSOLE_RECORD
684 bool "Console recording"
686 This provides a way to record console output (and provide console
687 input) through cirular buffers. This is mostly useful for testing.
688 Console output is recorded even when the console is silent.
689 To enable console recording, call console_record_reset_enable()
692 config CONSOLE_RECORD_OUT_SIZE
693 hex "Output buffer size"
694 depends on CONSOLE_RECORD
695 default 0x400 if CONSOLE_RECORD
697 Set the size of the console output buffer. When this fills up, no
698 more data will be recorded until some is removed. The buffer is
699 allocated immediately after the malloc() region is ready.
701 config CONSOLE_RECORD_IN_SIZE
702 hex "Input buffer size"
703 depends on CONSOLE_RECORD
704 default 0x100 if CONSOLE_RECORD
706 Set the size of the console input buffer. When this contains data,
707 tstc() and getc() will use this in preference to real device input.
708 The buffer is allocated immediately after the malloc() region is