Home | History | Annotate | Download | only in cmd
      1 menu "Command line interface"
      2 
      3 config CMDLINE
      4 	bool "Support U-Boot commands"
      5 	default y
      6 	help
      7 	  Enable U-Boot's command-line functions. This provides a means
      8 	  to enter commands into U-Boot for a wide variety of purposes. It
      9 	  also allows scripts (containing commands) to be executed.
     10 	  Various commands and command categorys can be indivdually enabled.
     11 	  Depending on the number of commands enabled, this can add
     12 	  substantially to the size of U-Boot.
     13 
     14 config HUSH_PARSER
     15 	bool "Use hush shell"
     16 	depends on CMDLINE
     17 	help
     18 	  This option enables the "hush" shell (from Busybox) as command line
     19 	  interpreter, thus enabling powerful command line syntax like
     20 	  if...then...else...fi conditionals or `&&' and '||'
     21 	  constructs ("shell scripts").
     22 
     23 	  If disabled, you get the old, much simpler behaviour with a somewhat
     24 	  smaller memory footprint.
     25 
     26 config CMDLINE_EDITING
     27 	bool "Enable command line editing"
     28 	depends on CMDLINE
     29 	default y
     30 	help
     31 	  Enable editing and History functions for interactive command line
     32 	  input operations
     33 
     34 config AUTO_COMPLETE
     35 	bool "Enable auto complete using TAB"
     36 	depends on CMDLINE
     37 	default y
     38 	help
     39 	  Enable auto completion of commands using TAB.
     40 
     41 config SYS_LONGHELP
     42 	bool "Enable long help messages"
     43 	depends on CMDLINE
     44 	default y if CMDLINE
     45 	help
     46 	  Defined when you want long help messages included
     47 	  Do not set this option when short of memory.
     48 
     49 config SYS_PROMPT
     50 	string "Shell prompt"
     51 	default "=> "
     52 	help
     53 	  This string is displayed in the command line to the left of the
     54 	  cursor.
     55 
     56 menu "Autoboot options"
     57 
     58 config AUTOBOOT
     59 	bool "Autoboot"
     60 	default y
     61 	help
     62 	  This enables the autoboot.  See doc/README.autoboot for detail.
     63 
     64 config AUTOBOOT_KEYED
     65 	bool "Stop autobooting via specific input key / string"
     66 	default n
     67 	help
     68 	  This option enables stopping (aborting) of the automatic
     69 	  boot feature only by issuing a specific input key or
     70 	  string. If not enabled, any input key will abort the
     71 	  U-Boot automatic booting process and bring the device
     72 	  to the U-Boot prompt for user input.
     73 
     74 config AUTOBOOT_PROMPT
     75 	string "Autoboot stop prompt"
     76 	depends on AUTOBOOT_KEYED
     77 	default "Autoboot in %d seconds\\n"
     78 	help
     79 	  This string is displayed before the boot delay selected by
     80 	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
     81 	  output indicating that autoboot is in progress.
     82 
     83 	  Note that this define is used as the (only) argument to a
     84 	  printf() call, so it may contain '%' format specifications,
     85 	  provided that it also includes, sepearated by commas exactly
     86 	  like in a printf statement, the required arguments. It is
     87 	  the responsibility of the user to select only such arguments
     88 	  that are valid in the given context.
     89 
     90 config AUTOBOOT_ENCRYPTION
     91 	bool "Enable encryption in autoboot stopping"
     92 	depends on AUTOBOOT_KEYED
     93 	default n
     94 
     95 config AUTOBOOT_DELAY_STR
     96 	string "Delay autobooting via specific input key / string"
     97 	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
     98 	help
     99 	  This option delays the automatic boot feature by issuing
    100 	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
    101 	  or the environment variable "bootdelaykey" is specified
    102 	  and this string is received from console input before
    103 	  autoboot starts booting, U-Boot gives a command prompt. The
    104 	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
    105 	  used, otherwise it never times out.
    106 
    107 config AUTOBOOT_STOP_STR
    108 	string "Stop autobooting via specific input key / string"
    109 	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
    110 	help
    111 	  This option enables stopping (aborting) of the automatic
    112 	  boot feature only by issuing a specific input key or
    113 	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
    114 	  variable "bootstopkey" is specified and this string is
    115 	  received from console input before autoboot starts booting,
    116 	  U-Boot gives a command prompt. The U-Boot prompt never
    117 	  times out, even if CONFIG_BOOT_RETRY_TIME is used.
    118 
    119 config AUTOBOOT_KEYED_CTRLC
    120 	bool "Enable Ctrl-C autoboot interruption"
    121 	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
    122 	default n
    123 	help
    124 	  This option allows for the boot sequence to be interrupted
    125 	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
    126 	  Setting this variable	provides an escape sequence from the
    127 	  limited "password" strings.
    128 
    129 config AUTOBOOT_STOP_STR_SHA256
    130 	string "Stop autobooting via SHA256 encrypted password"
    131 	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
    132 	help
    133 	  This option adds the feature to only stop the autobooting,
    134 	  and therefore boot into the U-Boot prompt, when the input
    135 	  string / password matches a values that is encypted via
    136 	  a SHA256 hash and saved in the environment.
    137 
    138 endmenu
    139 
    140 config BUILD_BIN2C
    141 	bool
    142 
    143 comment "Commands"
    144 
    145 menu "Info commands"
    146 
    147 config CMD_BDI
    148 	bool "bdinfo"
    149 	default y
    150 	help
    151 	  Print board info
    152 
    153 config CMD_CONFIG
    154 	bool "config"
    155 	select BUILD_BIN2C
    156 	default SANDBOX
    157 	help
    158 	  Print ".config" contents.
    159 
    160 	  If this option is enabled, the ".config" file contents are embedded
    161 	  in the U-Boot image and can be printed on the console by the "config"
    162 	  command.  This provides information of which options are enabled on
    163 	  the running U-Boot.
    164 
    165 config CMD_CONSOLE
    166 	bool "coninfo"
    167 	default y
    168 	help
    169 	  Print console devices and information.
    170 
    171 config CMD_CPU
    172 	bool "cpu"
    173 	help
    174 	  Print information about available CPUs. This normally shows the
    175 	  number of CPUs, type (e.g. manufacturer, architecture, product or
    176 	  internal name) and clock frequency. Other information may be
    177 	  available depending on the CPU driver.
    178 
    179 config CMD_LICENSE
    180 	bool "license"
    181 	select BUILD_BIN2C
    182 	help
    183 	  Print GPL license text
    184 
    185 config CMD_REGINFO
    186 	bool "reginfo"
    187 	depends on PPC
    188 	help
    189 	  Register dump
    190 
    191 endmenu
    192 
    193 menu "Boot commands"
    194 
    195 config CMD_BOOTD
    196 	bool "bootd"
    197 	default y
    198 	help
    199 	  Run the command stored in the environment "bootcmd", i.e.
    200 	  "bootd" does the same thing as "run bootcmd".
    201 
    202 config CMD_BOOTM
    203 	bool "bootm"
    204 	default y
    205 	help
    206 	  Boot an application image from the memory.
    207 
    208 config CMD_BOOTZ
    209 	bool "bootz"
    210 	help
    211 	  Boot the Linux zImage
    212 
    213 config CMD_BOOTI
    214 	bool "booti"
    215 	depends on ARM64
    216 	default y
    217 	help
    218 	  Boot an AArch64 Linux Kernel image from memory.
    219 
    220 config CMD_BOOTEFI
    221 	bool "bootefi"
    222 	depends on EFI_LOADER
    223 	default y
    224 	help
    225 	  Boot an EFI image from memory.
    226 
    227 config CMD_BOOTEFI_HELLO_COMPILE
    228 	bool "Compile a standard EFI hello world binary for testing"
    229 	depends on CMD_BOOTEFI && (ARM || X86 || RISCV)
    230 	default y
    231 	help
    232 	  This compiles a standard EFI hello world application with U-Boot so
    233 	  that it can be used with the test/py testing framework. This is useful
    234 	  for testing that EFI is working at a basic level, and for bringing
    235 	  up EFI support on a new architecture.
    236 
    237 	  No additional space will be required in the resulting U-Boot binary
    238 	  when this option is enabled.
    239 
    240 config CMD_BOOTEFI_HELLO
    241 	bool "Allow booting a standard EFI hello world for testing"
    242 	depends on CMD_BOOTEFI_HELLO_COMPILE
    243 	help
    244 	  This adds a standard EFI hello world application to U-Boot so that
    245 	  it can be used with the 'bootefi hello' command. This is useful
    246 	  for testing that EFI is working at a basic level, and for bringing
    247 	  up EFI support on a new architecture.
    248 
    249 source lib/efi_selftest/Kconfig
    250 
    251 config CMD_BOOTMENU
    252 	bool "bootmenu"
    253 	select MENU
    254 	help
    255 	  Add an ANSI terminal boot menu command.
    256 
    257 config CMD_ELF
    258 	bool "bootelf, bootvx"
    259 	default y
    260 	help
    261 	  Boot an ELF/vxWorks image from the memory.
    262 
    263 config CMD_FDT
    264 	bool "Flattened Device Tree utility commands"
    265 	default y
    266 	depends on OF_LIBFDT
    267 	help
    268 	  Do FDT related setup before booting into the Operating System.
    269 
    270 config CMD_GO
    271 	bool "go"
    272 	default y
    273 	help
    274 	  Start an application at a given address.
    275 
    276 config CMD_RUN
    277 	bool "run"
    278 	default y
    279 	help
    280 	  Run the command in the given environment variable.
    281 
    282 config CMD_IMI
    283 	bool "iminfo"
    284 	default y
    285 	help
    286 	  Print header information for application image.
    287 
    288 config CMD_IMLS
    289 	bool "imls"
    290 	help
    291 	  List all images found in flash
    292 
    293 config CMD_XIMG
    294 	bool "imxtract"
    295 	default y
    296 	help
    297 	  Extract a part of a multi-image.
    298 
    299 config CMD_POWEROFF
    300 	bool "poweroff"
    301 	help
    302 	  Poweroff/Shutdown the system
    303 
    304 config CMD_SPL
    305 	bool "spl export - Export boot information for Falcon boot"
    306 	depends on SPL
    307 	help
    308 	  Falcon mode allows booting directly from SPL into an Operating
    309 	  System such as Linux, thus skipping U-Boot proper. See
    310 	  doc/README.falcon for full information about how to use this
    311 	  command.
    312 
    313 config CMD_SPL_NAND_OFS
    314 	hex "Offset of OS command line args for Falcon-mode NAND boot"
    315 	depends on CMD_SPL
    316 	default 0
    317 	help
    318 	  This provides the offset of the command line arguments for Linux
    319 	  when booting from NAND in Falcon mode.  See doc/README.falcon
    320 	  for full information about how to use this option (and also see
    321 	  board/gateworks/gw_ventana/README for an example).
    322 
    323 config CMD_SPL_WRITE_SIZE
    324 	hex "Size of argument area"
    325 	depends on CMD_SPL
    326 	default 0x2000
    327 	help
    328 	  This provides the size of the command-line argument area in NAND
    329 	  flash used by Falcon-mode boot. See the documentation until CMD_SPL
    330 	  for detail.
    331 
    332 config CMD_FITUPD
    333 	bool "fitImage update command"
    334 	help
    335 	  Implements the 'fitupd' command, which allows to automatically
    336 	  store software updates present on a TFTP server in NOR Flash
    337 
    338 config CMD_THOR_DOWNLOAD
    339 	bool "thor - TIZEN 'thor' download"
    340 	help
    341 	  Implements the 'thor' download protocol. This is a way of
    342 	  downloading a software update over USB from an attached host.
    343 	  There is no documentation about this within the U-Boot source code
    344 	  but you should be able to find something on the interwebs.
    345 
    346 config CMD_ZBOOT
    347 	bool "zboot - x86 boot command"
    348 	help
    349 	  With x86 machines it is common to boot a bzImage file which
    350 	  contains both a kernel and a setup.bin file. The latter includes
    351 	  configuration information from the dark ages which x86 boards still
    352 	  need to pick things out of.
    353 
    354 	  Consider using FIT in preference to this since it supports directly
    355 	  booting both 32- and 64-bit kernels, as well as secure boot.
    356 	  Documentation is available in doc/uImage.FIT/x86-fit-boot.txt
    357 
    358 endmenu
    359 
    360 menu "Environment commands"
    361 
    362 config CMD_ASKENV
    363 	bool "ask for env variable"
    364 	help
    365 	  Ask for environment variable
    366 
    367 config CMD_EXPORTENV
    368 	bool "env export"
    369 	default y
    370 	help
    371 	  Export environments.
    372 
    373 config CMD_IMPORTENV
    374 	bool "env import"
    375 	default y
    376 	help
    377 	  Import environments.
    378 
    379 config CMD_EDITENV
    380 	bool "editenv"
    381 	default y
    382 	help
    383 	  Edit environment variable.
    384 
    385 config CMD_GREPENV
    386 	bool "search env"
    387 	help
    388 	  Allow for searching environment variables
    389 
    390 config CMD_SAVEENV
    391 	bool "saveenv"
    392 	default y
    393 	help
    394 	  Save all environment variables into the compiled-in persistent
    395 	  storage.
    396 
    397 config CMD_ENV_EXISTS
    398 	bool "env exists"
    399 	default y
    400 	help
    401 	  Check if a variable is defined in the environment for use in
    402 	  shell scripting.
    403 
    404 config CMD_ENV_CALLBACK
    405 	bool "env callbacks - print callbacks and their associated variables"
    406 	help
    407 	  Some environment variable have callbacks defined by
    408 	  U_BOOT_ENV_CALLBACK. These are called when the variable changes.
    409 	  For example changing "baudrate" adjust the serial baud rate. This
    410 	  command lists the currently defined callbacks.
    411 
    412 config CMD_ENV_FLAGS
    413 	bool "env flags -print variables that have non-default flags"
    414 	help
    415 	  Some environment variables have special flags that control their
    416 	  behaviour. For example, serial# can only be written once and cannot
    417 	  be deleted. This command shows the variables that have special
    418 	  flags.
    419 
    420 endmenu
    421 
    422 menu "Memory commands"
    423 
    424 config CMD_BINOP
    425 	bool "binop"
    426 	help
    427 	  Compute binary operations (xor, or, and) of byte arrays of arbitrary
    428 	  size from memory and store the result in memory or the environment.
    429 
    430 config CMD_CRC32
    431 	bool "crc32"
    432 	select HASH
    433 	default y
    434 	help
    435 	  Compute CRC32.
    436 
    437 config CRC32_VERIFY
    438 	bool "crc32 -v"
    439 	depends on CMD_CRC32
    440 	help
    441 	  Add -v option to verify data against a crc32 checksum.
    442 
    443 config CMD_EEPROM
    444 	bool "eeprom - EEPROM subsystem"
    445 	help
    446 	  (deprecated, needs conversion to driver model)
    447 	  Provides commands to read and write EEPROM (Electrically Erasable
    448 	  Programmable Read Only Memory) chips that are connected over an
    449 	  I2C bus.
    450 
    451 config CMD_EEPROM_LAYOUT
    452 	bool "Enable layout-aware eeprom commands"
    453 	depends on CMD_EEPROM
    454 	help
    455 	  (deprecated, needs conversion to driver model)
    456 	  When enabled, additional eeprom sub-commands become available.
    457 
    458 	  eeprom print - prints the contents of the eeprom in a human-readable
    459 	  way (eeprom layout fields, and data formatted to be fit for human
    460 	  consumption).
    461 
    462 	  eeprom update - allows user to update eeprom fields by specifying
    463 	  the field name, and providing the new data in a human readable format
    464 	  (same format as displayed by the eeprom print command).
    465 
    466 	  Both commands can either auto detect the layout, or be told which
    467 	  layout to use.
    468 
    469 	  Feature API:
    470 	  __weak int parse_layout_version(char *str)
    471 		- override to provide your own layout name parsing
    472 	  __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
    473 			int layout_version);
    474 		- override to setup the layout metadata based on the version
    475 	  __weak int eeprom_layout_detect(unsigned char *data)
    476 		- override to provide your own algorithm for detecting layout
    477 			version
    478 	  eeprom_field.c
    479 		- contains various printing and updating functions for common
    480 			types of eeprom fields. Can be used for defining
    481 			custom layouts.
    482 
    483 config EEPROM_LAYOUT_HELP_STRING
    484 	  string "Tells user what layout names are supported"
    485 	  depends on CMD_EEPROM_LAYOUT
    486 	  default "<not defined>"
    487 	  help
    488 	    Help printed with the LAYOUT VERSIONS part of the 'eeprom'
    489 	    command's help.
    490 
    491 config LOOPW
    492 	bool "loopw"
    493 	help
    494 	  Infinite write loop on address range
    495 
    496 config CMD_MD5SUM
    497 	bool "md5sum"
    498 	default n
    499 	select MD5
    500 	help
    501 	  Compute MD5 checksum.
    502 
    503 config MD5SUM_VERIFY
    504 	bool "md5sum -v"
    505 	default n
    506 	depends on CMD_MD5SUM
    507 	help
    508 	  Add -v option to verify data against an MD5 checksum.
    509 
    510 config CMD_MEMINFO
    511 	bool "meminfo"
    512 	help
    513 	  Display memory information.
    514 
    515 config CMD_MEMORY
    516 	bool "md, mm, nm, mw, cp, cmp, base, loop"
    517 	default y
    518 	help
    519 	  Memory commands.
    520 	    md - memory display
    521 	    mm - memory modify (auto-incrementing address)
    522 	    nm - memory modify (constant address)
    523 	    mw - memory write (fill)
    524 	    cp - memory copy
    525 	    cmp - memory compare
    526 	    base - print or set address offset
    527 	    loop - initialize loop on address range
    528 
    529 config CMD_MEMTEST
    530 	bool "memtest"
    531 	help
    532 	  Simple RAM read/write test.
    533 
    534 if CMD_MEMTEST
    535 
    536 config SYS_ALT_MEMTEST
    537 	bool "Alternative test"
    538 	help
    539 	  Use a more complete alternative memory test.
    540 
    541 endif
    542 
    543 config CMD_MX_CYCLIC
    544 	bool "mdc, mwc"
    545 	help
    546 	  mdc - memory display cyclic
    547 	  mwc - memory write cyclic
    548 
    549 config CMD_SHA1SUM
    550 	bool "sha1sum"
    551 	select SHA1
    552 	help
    553 	  Compute SHA1 checksum.
    554 
    555 config SHA1SUM_VERIFY
    556 	bool "sha1sum -v"
    557 	depends on CMD_SHA1SUM
    558 	help
    559 	  Add -v option to verify data against a SHA1 checksum.
    560 
    561 config CMD_STRINGS
    562 	bool "strings - display strings in memory"
    563 	help
    564 	  This works similarly to the Unix 'strings' command except that it
    565 	  works with a memory range. String of printable characters found
    566 	  within the range are displayed. The minimum number of characters
    567 	  for a sequence to be considered a string can be provided.
    568 
    569 endmenu
    570 
    571 menu "Compression commands"
    572 
    573 config CMD_LZMADEC
    574 	bool "lzmadec"
    575 	default y if CMD_BOOTI
    576 	select LZMA
    577 	help
    578 	  Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm)
    579 	  image from memory.
    580 
    581 config CMD_UNZIP
    582 	bool "unzip"
    583 	default y if CMD_BOOTI
    584 	help
    585 	  Uncompress a zip-compressed memory region.
    586 
    587 config CMD_ZIP
    588 	bool "zip"
    589 	help
    590 	  Compress a memory region with zlib deflate method.
    591 
    592 endmenu
    593 
    594 menu "Device access commands"
    595 
    596 config CMD_ARMFLASH
    597 	#depends on FLASH_CFI_DRIVER
    598 	bool "armflash"
    599 	help
    600 	  ARM Ltd reference designs flash partition access
    601 
    602 config CMD_ADC
    603 	bool "adc - Access Analog to Digital Converters info and data"
    604 	select ADC
    605 	select DM_REGULATOR
    606 	help
    607 	  Shows ADC device info and permit printing one-shot analog converted
    608 	  data from a named Analog to Digital Converter.
    609 
    610 config CMD_ANDROID_AB_SELECT
    611 	bool "android_ab_select"
    612 	default n
    613 	depends on ANDROID_AB
    614 	help
    615 	  On Android devices with more than one boot slot (multiple copies of
    616 	  the kernel and system images) this provides a command to select which
    617 	  slot should be used to boot from and register the boot attempt. This
    618 	  is used by the new A/B update model where one slot is updated in the
    619 	  background while running from the other slot.
    620 
    621 config CMD_BOOT_ANDROID
    622 	bool "boot_android"
    623 	default n
    624 	depends on ANDROID_BOOTLOADER
    625 	help
    626 	  Performs the Android Bootloader boot flow, loading the appropriate
    627 	  Android image (normal kernel, recovery kernel or "bootloader" mode)
    628 	  and booting it. The boot mode is determined by the contents of the
    629 	  Android Bootloader Message.
    630 
    631 config CMD_CLK
    632 	bool "clk - Show clock frequencies"
    633 	help
    634 	  (deprecated)
    635 	  Shows clock frequences by calling a sock_clk_dump() hook function.
    636 	  This is depreated in favour of using the CLK uclass and accessing
    637 	  clock values from associated drivers. However currently no command
    638 	  exists for this.
    639 
    640 config CMD_DEMO
    641 	bool "demo - Demonstration commands for driver model"
    642 	depends on DM
    643 	help
    644 	  Provides a 'demo' command which can be used to play around with
    645 	  driver model. To use this properly you will need to enable one or
    646 	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
    647 	  Otherwise you will always get an empty list of devices. The demo
    648 	  devices are defined in the sandbox device tree, so the easiest
    649 	  option is to use sandbox and pass the -d point to sandbox's
    650 	  u-boot.dtb file.
    651 
    652 config CMD_DFU
    653 	bool "dfu"
    654 	select DFU
    655 	help
    656 	  Enables the command "dfu" which is used to have U-Boot create a DFU
    657 	  class device via USB. This command requires that the "dfu_alt_info"
    658 	  environment variable be set and define the alt settings to expose to
    659 	  the host.
    660 
    661 config CMD_DM
    662 	bool "dm - Access to driver model information"
    663 	depends on DM
    664 	default y
    665 	help
    666 	  Provides access to driver model data structures and information,
    667 	  such as a list of devices, list of uclasses and the state of each
    668 	  device (e.g. activated). This is not required for operation, but
    669 	  can be useful to see the state of driver model for debugging or
    670 	  interest.
    671 
    672 config CMD_FASTBOOT
    673 	bool "fastboot - Android fastboot support"
    674 	depends on FASTBOOT
    675 	help
    676 	  This enables the command "fastboot" which enables the Android
    677 	  fastboot mode for the platform. Fastboot is a protocol for
    678 	  downloading images, flashing and device control used on
    679 	  Android devices. Fastboot requires either the network stack
    680 	  enabled or support for acting as a USB device.
    681 
    682 	  See doc/README.android-fastboot for more information.
    683 
    684 config CMD_FDC
    685 	bool "fdcboot - Boot from floppy device"
    686 	help
    687 	  The 'fdtboot' command allows booting an image from a floppy disk.
    688 
    689 config CMD_FLASH
    690 	bool "flinfo, erase, protect"
    691 	default y
    692 	help
    693 	  NOR flash support.
    694 	    flinfo - print FLASH memory information
    695 	    erase - FLASH memory
    696 	    protect - enable or disable FLASH write protection
    697 
    698 config CMD_FPGA
    699 	bool "fpga"
    700 	depends on FPGA
    701 	default y
    702 	help
    703 	  FPGA support.
    704 
    705 config CMD_FPGA_LOADBP
    706 	bool "fpga loadbp - load partial bitstream (Xilinx only)"
    707 	depends on CMD_FPGA
    708 	help
    709 	  Supports loading an FPGA device from a bitstream buffer containing
    710 	  a partial bitstream.
    711 
    712 config CMD_FPGA_LOADFS
    713 	bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)"
    714 	depends on CMD_FPGA
    715 	help
    716 	  Supports loading an FPGA device from a FAT filesystem.
    717 
    718 config CMD_FPGA_LOADMK
    719 	bool "fpga loadmk - load bitstream from image"
    720 	depends on CMD_FPGA
    721 	help
    722 	  Supports loading an FPGA device from a image generated by mkimage.
    723 
    724 config CMD_FPGA_LOADP
    725 	bool "fpga loadp - load partial bitstream"
    726 	depends on CMD_FPGA
    727 	help
    728 	  Supports loading an FPGA device from a bitstream buffer containing
    729 	  a partial bitstream.
    730 
    731 config CMD_FPGA_LOAD_SECURE
    732 	bool "fpga loads - loads secure bitstreams (Xilinx only)"
    733 	depends on CMD_FPGA
    734 	help
    735 	  Enables the fpga loads command which is used to load secure
    736 	  (authenticated or encrypted or both) bitstreams on to FPGA.
    737 
    738 config CMD_FPGAD
    739 	bool "fpgad - dump FPGA registers"
    740 	help
    741 	  (legacy, needs conversion to driver model)
    742 	  Provides a way to dump FPGA registers by calling the board-specific
    743 	  fpga_get_reg() function. This functions similarly to the 'md'
    744 	  command.
    745 
    746 config CMD_FUSE
    747 	bool "fuse - support for the fuse subssystem"
    748 	help
    749 	  (deprecated - needs conversion to driver model)
    750 	  This allows reading, sensing, programming or overriding fuses
    751 	  which control the behaviour of the device. The command uses the
    752 	  fuse_...() API.
    753 
    754 config CMD_GPIO
    755 	bool "gpio"
    756 	help
    757 	  GPIO support.
    758 
    759 config CMD_GPT
    760 	bool "GPT (GUID Partition Table) command"
    761 	select PARTITION_UUIDS
    762 	select EFI_PARTITION
    763 	select HAVE_BLOCK_DEVICE
    764 	imply RANDOM_UUID
    765 	help
    766 	  Enable the 'gpt' command to ready and write GPT style partition
    767 	  tables.
    768 
    769 config RANDOM_UUID
    770 	bool "GPT Random UUID generation"
    771 	select LIB_UUID
    772 	help
    773 	  Enable the generation of partitions with random UUIDs if none
    774 	  are provided.
    775 
    776 config CMD_GPT_RENAME
    777 	bool "GPT partition renaming commands"
    778 	depends on CMD_GPT
    779 	help
    780 	  Enables the 'gpt' command to interchange names on two GPT
    781 	  partitions via the 'gpt swap' command or to rename single
    782 	  partitions via the 'rename' command.
    783 
    784 config CMD_IDE
    785 	bool "ide - Support for IDE drivers"
    786 	select IDE
    787 	help
    788 	  Provides an 'ide' command which allows accessing the IDE drive,
    789 	  reseting the IDE interface, printing the partition table and
    790 	  geting device info. It also enables the 'diskboot' command which
    791 	  permits booting from an IDE drive.
    792 
    793 config CMD_IO
    794 	bool "io - Support for performing I/O accesses"
    795 	help
    796 	  Provides an 'iod' command to display I/O space and an 'iow' command
    797 	  to write values to the I/O space. This can be useful for manually
    798 	  checking the state of devices during boot when debugging device
    799 	  drivers, etc.
    800 
    801 config CMD_IOTRACE
    802 	bool "iotrace - Support for tracing I/O activity"
    803 	help
    804 	  Provides an 'iotrace' command which supports recording I/O reads and
    805 	  writes in a trace buffer in memory . It also maintains a checksum
    806 	  of the trace records (even if space is exhausted) so that the
    807 	  sequence of I/O accesses can be verified.
    808 
    809 	  When debugging drivers it is useful to see what I/O accesses were
    810 	  done and in what order.
    811 
    812 	  Even if the individual accesses are of little interest it can be
    813 	  useful to verify that the access pattern is consistent each time
    814 	  an operation is performed. In this case a checksum can be used to
    815 	  characterise the operation of a driver. The checksum can be compared
    816 	  across different runs of the operation to verify that the driver is
    817 	  working properly.
    818 
    819 	  In particular, when performing major refactoring of the driver, where
    820 	  the access pattern should not change, the checksum provides assurance
    821 	  that the refactoring work has not broken the driver.
    822 
    823 	  This works by sneaking into the io.h heder for an architecture and
    824 	  redirecting I/O accesses through iotrace's tracing mechanism.
    825 
    826 	  For now no commands are provided to examine the trace buffer. The
    827 	  format is fairly simple, so 'md' is a reasonable substitute.
    828 
    829 	  Note: The checksum feature is only useful for I/O regions where the
    830 	  contents do not change outside of software control. Where this is not
    831 	  suitable you can fall back to manually comparing the addresses. It
    832 	  might be useful to enhance tracing to only checksum the accesses and
    833 	  not the data read/written.
    834 
    835 config CMD_I2C
    836 	bool "i2c"
    837 	help
    838 	  I2C support.
    839 
    840 config CMD_LOADB
    841 	bool "loadb"
    842 	default y
    843 	help
    844 	  Load a binary file over serial line.
    845 
    846 config CMD_LOADS
    847 	bool "loads"
    848 	default y
    849 	help
    850 	  Load an S-Record file over serial line
    851 
    852 config CMD_LOAD_ANDROID
    853        bool "load_android"
    854        default n
    855        depends on ANDROID_BOOT_IMAGE
    856        help
    857          Load an Android Boot image from storage. The Android Boot images
    858          define the size and kernel address on the header, which are used by
    859          this command.
    860 
    861 config CMD_MMC
    862 	bool "mmc"
    863 	help
    864 	  MMC memory mapped support.
    865 
    866 config CMD_MMC_RPMB
    867 	bool "Enable support for RPMB in the mmc command"
    868 	depends on CMD_MMC
    869 	help
    870 	  Enable the commands for reading, writing and programming the
    871 	  key for the Replay Protection Memory Block partition in eMMC.
    872 
    873 config CMD_MMC_SWRITE
    874 	bool "mmc swrite"
    875 	depends on CMD_MMC && MMC_WRITE
    876 	select IMAGE_SPARSE
    877 	help
    878 	  Enable support for the "mmc swrite" command to write Android sparse
    879 	  images to eMMC.
    880 
    881 config CMD_NAND
    882 	bool "nand"
    883 	default y if NAND_SUNXI
    884 	help
    885 	  NAND support.
    886 
    887 if CMD_NAND
    888 config CMD_NAND_TRIMFFS
    889 	bool "nand write.trimffs"
    890 	default y if ARCH_SUNXI
    891 	help
    892 	  Allows one to skip empty pages when flashing something on a NAND.
    893 
    894 config CMD_NAND_LOCK_UNLOCK
    895 	bool "nand lock/unlock"
    896 	help
    897 	  NAND locking support.
    898 
    899 config CMD_NAND_TORTURE
    900 	bool "nand torture"
    901 	help
    902 	  NAND torture support.
    903 
    904 endif # CMD_NAND
    905 
    906 config CMD_NVME
    907 	bool "nvme"
    908 	depends on NVME
    909 	default y if NVME
    910 	help
    911 	  NVM Express device support
    912 
    913 config CMD_MMC_SPI
    914 	bool "mmc_spi - Set up MMC SPI device"
    915 	help
    916 	  Provides a way to set up an MMC (Multimedia Card) SPI (Serial
    917 	  Peripheral Interface) device. The device provides a means of
    918 	  accessing an MMC device via SPI using a single data line, limited
    919 	  to 20MHz. It is useful since it reduces the amount of protocol code
    920 	  required.
    921 
    922 config CMD_ONENAND
    923 	bool "onenand - access to onenand device"
    924 	help
    925 	  OneNAND is a brand of NAND ('Not AND' gate) flash which provides
    926 	  various useful features. This command allows reading, writing,
    927 	  and erasing blocks. It allso provides a way to show and change
    928 	  bad blocks, and test the device.
    929 
    930 config CMD_PART
    931 	bool "part"
    932 	select PARTITION_UUIDS
    933 	select HAVE_BLOCK_DEVICE
    934 	help
    935 	  Read and display information about the partition table on
    936 	  various media.
    937 
    938 config CMD_PCI
    939 	bool "pci - Access PCI devices"
    940 	help
    941 	  Provide access to PCI (Peripheral Interconnect Bus), a type of bus
    942 	  used on some devices to allow the CPU to communicate with its
    943 	  peripherals. Sub-commands allow bus enumeration, displaying and
    944 	  changing configuration space and a few other features.
    945 
    946 config CMD_PCMCIA
    947 	bool "pinit - Set up PCMCIA device"
    948 	help
    949 	  Provides a means to initialise a PCMCIA (Personal Computer Memory
    950 	  Card International Association) device. This is an old standard from
    951 	  about 1990. These devices are typically removable memory or network
    952 	  cards using a standard 68-pin connector.
    953 
    954 config CMD_READ
    955 	bool "read - Read binary data from a partition"
    956 	help
    957 	  Provides low-level access to the data in a partition.
    958 
    959 config CMD_REMOTEPROC
    960 	bool "remoteproc"
    961 	depends on REMOTEPROC
    962 	help
    963 	  Support for Remote Processor control
    964 
    965 config CMD_SATA
    966 	bool "sata - Access SATA subsystem"
    967 	select SATA
    968 	help
    969 	  SATA (Serial Advanced Technology Attachment) is a serial bus
    970 	  standard for connecting to hard drives and other storage devices.
    971 	  This command provides information about attached devices and allows
    972 	  reading, writing and other operations.
    973 
    974 	  SATA replaces PATA (originally just ATA), which stands for Parallel AT
    975 	  Attachment, where AT refers to an IBM AT (Advanced Technology)
    976 	  computer released in 1984.
    977 
    978 config CMD_SAVES
    979 	bool "saves - Save a file over serial in S-Record format"
    980 	help
    981 	  Provides a way to save a binary file using the Motorola S-Record
    982 	  format over the serial line.
    983 
    984 config CMD_SCSI
    985 	bool "scsi - Access to SCSI devices"
    986 	default y if SCSI
    987 	help
    988 	  This provides a 'scsi' command which provides access to SCSI (Small
    989 	  Computer System Interface) devices. The command provides a way to
    990 	  scan the bus, reset the bus, read and write data and get information
    991 	  about devices.
    992 
    993 config CMD_SDRAM
    994 	bool "sdram - Print SDRAM configuration information"
    995 	help
    996 	  Provides information about attached SDRAM. This assumed that the
    997 	  SDRAM has an EEPROM with information that can be read using the
    998 	  I2C bus. This is only available on some boards.
    999 
   1000 config CMD_SF
   1001 	bool "sf"
   1002 	help
   1003 	  SPI Flash support
   1004 
   1005 config CMD_SF_TEST
   1006 	bool "sf test - Allow testing of SPI flash"
   1007 	help
   1008 	  Provides a way to test that SPI flash is working correctly. The
   1009 	  test is destructive, in that an area of SPI flash must be provided
   1010 	  for the test to use. Performance information is also provided,
   1011 	  measuring the performance of reading, writing and erasing in
   1012 	  Mbps (Million Bits Per Second). This value should approximately
   1013 	  equal the SPI bus speed for a single-bit-wide SPI bus, assuming
   1014 	  everything is working properly.
   1015 
   1016 config CMD_SPI
   1017 	bool "sspi"
   1018 	help
   1019 	  SPI utility command.
   1020 
   1021 config CMD_TSI148
   1022 	bool "tsi148 - Command to access tsi148 device"
   1023 	help
   1024 	  This provides various sub-commands to initialise and configure the
   1025 	  Turndra tsi148 device. See the command help for full details.
   1026 
   1027 config CMD_UNIVERSE
   1028 	bool "universe - Command to set up the Turndra Universe controller"
   1029 	help
   1030 	  This allows setting up the VMEbus provided by this controller.
   1031 	  See the command help for full details.
   1032 
   1033 config CMD_USB
   1034 	bool "usb"
   1035 	select HAVE_BLOCK_DEVICE
   1036 	help
   1037 	  USB support.
   1038 
   1039 config CMD_USB_SDP
   1040 	bool "sdp"
   1041 	select USB_FUNCTION_SDP
   1042 	help
   1043 	  Enables the command "sdp" which is used to have U-Boot emulating the
   1044 	  Serial Download Protocol (SDP) via USB.
   1045 config CMD_ROCKUSB
   1046 	bool "rockusb"
   1047 	depends on USB_FUNCTION_ROCKUSB
   1048 	help
   1049           Rockusb protocol is widely used by Rockchip SoC based devices. It can
   1050 	  read/write info, image to/from devices. This enable rockusb command
   1051 	  support to communication with rockusb device. for more detail about
   1052 	  this command, please read doc/README.rockusb.
   1053 
   1054 config CMD_USB_MASS_STORAGE
   1055 	bool "UMS usb mass storage"
   1056 	select USB_FUNCTION_MASS_STORAGE
   1057 	help
   1058 	  USB mass storage support
   1059 
   1060 endmenu
   1061 
   1062 
   1063 menu "Shell scripting commands"
   1064 
   1065 config CMD_ECHO
   1066 	bool "echo"
   1067 	default y
   1068 	help
   1069 	  Echo args to console
   1070 
   1071 config CMD_ITEST
   1072 	bool "itest"
   1073 	default y
   1074 	help
   1075 	  Return true/false on integer compare.
   1076 
   1077 config CMD_SOURCE
   1078 	bool "source"
   1079 	default y
   1080 	help
   1081 	  Run script from memory
   1082 
   1083 config CMD_SETEXPR
   1084 	bool "setexpr"
   1085 	default y
   1086 	help
   1087 	  Evaluate boolean and math expressions and store the result in an env
   1088 	    variable.
   1089 	  Also supports loading the value at a memory location into a variable.
   1090 	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
   1091 
   1092 endmenu
   1093 
   1094 if NET
   1095 
   1096 menuconfig CMD_NET
   1097 	bool "Network commands"
   1098 	default y
   1099 
   1100 if CMD_NET
   1101 
   1102 config CMD_BOOTP
   1103 	bool "bootp"
   1104 	default y
   1105 	help
   1106 	  bootp - boot image via network using BOOTP/TFTP protocol
   1107 
   1108 config CMD_DHCP
   1109 	bool "dhcp"
   1110 	depends on CMD_BOOTP
   1111 	help
   1112 	  Boot image via network using DHCP/TFTP protocol
   1113 
   1114 config BOOTP_BOOTPATH
   1115 	bool "Request & store 'rootpath' from BOOTP/DHCP server"
   1116 	default y
   1117 	depends on CMD_BOOTP
   1118 	help
   1119 	  Even though the config is called BOOTP_BOOTPATH, it stores the
   1120 	  path in the variable 'rootpath'.
   1121 
   1122 config BOOTP_DNS
   1123 	bool "Request & store 'dnsip' from BOOTP/DHCP server"
   1124 	default y
   1125 	depends on CMD_BOOTP
   1126 	help
   1127 	  The primary DNS server is stored as 'dnsip'. If two servers are
   1128 	  returned, you must set BOOTP_DNS2 to store that second server IP
   1129 	  also.
   1130 
   1131 config BOOTP_DNS2
   1132 	bool "Store 'dnsip2' from BOOTP/DHCP server"
   1133 	depends on BOOTP_DNS
   1134 	help
   1135 	  If a DHCP client requests the DNS server IP from a DHCP server,
   1136 	  it is possible that more than one DNS serverip is offered to the
   1137 	  client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
   1138 	  server IP will be stored in the additional environment
   1139 	  variable "dnsip2". The first DNS serverip is always
   1140 	  stored in the variable "dnsip", when BOOTP_DNS is defined.
   1141 
   1142 config BOOTP_GATEWAY
   1143 	bool "Request & store 'gatewayip' from BOOTP/DHCP server"
   1144 	default y
   1145 	depends on CMD_BOOTP
   1146 
   1147 config BOOTP_HOSTNAME
   1148 	bool "Request & store 'hostname' from BOOTP/DHCP server"
   1149 	default y
   1150 	depends on CMD_BOOTP
   1151 	help
   1152 	  The name may or may not be qualified with the local domain name.
   1153 
   1154 config BOOTP_PREFER_SERVERIP
   1155 	bool "serverip variable takes precedent over DHCP server IP."
   1156 	depends on CMD_BOOTP
   1157 	help
   1158 	  By default a BOOTP/DHCP reply will overwrite the 'serverip' variable.
   1159 
   1160 	  With this option enabled, the 'serverip' variable in the environment
   1161 	  takes precedence over DHCP server IP and will only be set by the DHCP
   1162 	  server if not already set in the environment.
   1163 
   1164 config BOOTP_SUBNETMASK
   1165 	bool "Request & store 'netmask' from BOOTP/DHCP server"
   1166 	default y
   1167 	depends on CMD_BOOTP
   1168 
   1169 config BOOTP_NTPSERVER
   1170 	bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
   1171 	depends on CMD_BOOTP
   1172 
   1173 config BOOTP_PXE
   1174 	bool "Send PXE client arch to BOOTP/DHCP server"
   1175 	default y
   1176 	depends on CMD_BOOTP && CMD_PXE
   1177 	help
   1178 	  Supported for ARM, ARM64, and x86 for now.
   1179 
   1180 config BOOTP_PXE_CLIENTARCH
   1181 	hex
   1182 	depends on BOOTP_PXE
   1183 	default 0x16 if ARM64
   1184 	default 0x15 if ARM
   1185 	default 0 if X86
   1186 
   1187 config BOOTP_VCI_STRING
   1188 	string
   1189 	depends on CMD_BOOTP
   1190 	default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R
   1191 	default "U-Boot.armv8" if ARM64
   1192 	default "U-Boot.arm" if ARM
   1193 	default "U-Boot"
   1194 
   1195 config CMD_TFTPBOOT
   1196 	bool "tftpboot"
   1197 	default y
   1198 	help
   1199 	  tftpboot - boot image via network using TFTP protocol
   1200 
   1201 config CMD_TFTPPUT
   1202 	bool "tftp put"
   1203 	depends on CMD_TFTPBOOT
   1204 	help
   1205 	  TFTP put command, for uploading files to a server
   1206 
   1207 config CMD_TFTPSRV
   1208 	bool "tftpsrv"
   1209 	depends on CMD_TFTPBOOT
   1210 	help
   1211 	  Act as a TFTP server and boot the first received file
   1212 
   1213 config NET_TFTP_VARS
   1214 	bool "Control TFTP timeout and count through environment"
   1215 	depends on CMD_TFTPBOOT
   1216 	default y
   1217 	help
   1218 	  If set, allows controlling the TFTP timeout through the
   1219 	  environment variable tftptimeout, and the TFTP maximum
   1220 	  timeout count through the variable tftptimeoutcountmax.
   1221 	  If unset, timeout and maximum are hard-defined as 1 second
   1222 	  and 10 timouts per TFTP transfer.
   1223 
   1224 config CMD_RARP
   1225 	bool "rarpboot"
   1226 	help
   1227 	  Boot image via network using RARP/TFTP protocol
   1228 
   1229 config CMD_NFS
   1230 	bool "nfs"
   1231 	default y
   1232 	help
   1233 	  Boot image via network using NFS protocol.
   1234 
   1235 config CMD_MII
   1236 	bool "mii"
   1237 	help
   1238 	  Enable MII utility commands.
   1239 
   1240 config CMD_PING
   1241 	bool "ping"
   1242 	help
   1243 	  Send ICMP ECHO_REQUEST to network host
   1244 
   1245 config CMD_CDP
   1246 	bool "cdp"
   1247 	help
   1248 	  Perform CDP network configuration
   1249 
   1250 config CMD_SNTP
   1251 	bool "sntp"
   1252 	help
   1253 	  Synchronize RTC via network
   1254 
   1255 config CMD_DNS
   1256 	bool "dns"
   1257 	help
   1258 	  Lookup the IP of a hostname
   1259 
   1260 config CMD_LINK_LOCAL
   1261 	bool "linklocal"
   1262 	select LIB_RAND
   1263 	help
   1264 	  Acquire a network IP address using the link-local protocol
   1265 
   1266 endif
   1267 
   1268 config CMD_ETHSW
   1269 	bool "ethsw"
   1270 	help
   1271 	  Allow control of L2 Ethernet switch commands. These are supported
   1272 	  by the vsc9953 Ethernet driver at present. Sub-commands allow
   1273 	  operations such as enabling / disabling a port and
   1274 	  viewing/maintaining the filtering database (FDB)
   1275 
   1276 config CMD_PXE
   1277 	bool "pxe"
   1278 	select MENU
   1279 	help
   1280 	  Boot image via network using PXE protocol
   1281 
   1282 config CMD_WOL
   1283 	bool "wol"
   1284 	help
   1285 	  Wait for wake-on-lan Magic Packet
   1286 
   1287 endif
   1288 
   1289 menu "Misc commands"
   1290 
   1291 config CMD_BMP
   1292 	bool "Enable 'bmp' command"
   1293 	depends on LCD || DM_VIDEO || VIDEO
   1294 	help
   1295 	  This provides a way to obtain information about a BMP-format iamge
   1296 	  and to display it. BMP (which presumably stands for BitMaP) is a
   1297 	  file format defined by Microsoft which supports images of various
   1298 	  depths, formats and compression methods. Headers on the file
   1299 	  determine the formats used. This command can be used by first loading
   1300 	  the image into RAM, then using this command to look at it or display
   1301 	  it.
   1302 
   1303 config CMD_BOOTCOUNT
   1304 	bool "bootcount"
   1305 	depends on BOOTCOUNT_LIMIT
   1306 	help
   1307 	  Enable the bootcount command, which allows interrogation and
   1308 	  reset of the bootcounter.
   1309 
   1310 config CMD_BSP
   1311 	bool "Enable board-specific commands"
   1312 	help
   1313 	  (deprecated: instead, please define a Kconfig option for each command)
   1314 
   1315 	  Some boards have board-specific commands which are only enabled
   1316 	  during developemnt and need to be turned off for production. This
   1317 	  option provides a way to control this. The commands that are enabled
   1318 	  vary depending on the board.
   1319 
   1320 config CMD_BKOPS_ENABLE
   1321 	bool "mmc bkops enable"
   1322 	depends on CMD_MMC
   1323 	default n
   1324 	help
   1325 	  Enable command for setting manual background operations handshake
   1326 	  on a eMMC device. The feature is optionally available on eMMC devices
   1327 	  conforming to standard >= 4.41.
   1328 
   1329 config CMD_BLOCK_CACHE
   1330 	bool "blkcache - control and stats for block cache"
   1331 	depends on BLOCK_CACHE
   1332 	default y if BLOCK_CACHE
   1333 	help
   1334 	  Enable the blkcache command, which can be used to control the
   1335 	  operation of the cache functions.
   1336 	  This is most useful when fine-tuning the operation of the cache
   1337 	  during development, but also allows the cache to be disabled when
   1338 	  it might hurt performance (e.g. when using the ums command).
   1339 
   1340 config CMD_CACHE
   1341 	bool "icache or dcache"
   1342 	help
   1343 	  Enable the "icache" and "dcache" commands
   1344 
   1345 config CMD_DISPLAY
   1346 	bool "Enable the 'display' command, for character displays"
   1347 	help
   1348 	  (this needs porting to driver model)
   1349 	  This enables the 'display' command which allows a string to be
   1350 	  displayed on a simple board-specific display. Implement
   1351 	  display_putc() to use it.
   1352 
   1353 config CMD_LED
   1354 	bool "led"
   1355 	default y if LED
   1356 	help
   1357 	  Enable the 'led' command which allows for control of LEDs supported
   1358 	  by the board. The LEDs can be listed with 'led list' and controlled
   1359 	  with led on/off/togle/blink. Any LED drivers can be controlled with
   1360 	  this command, e.g. led_gpio.
   1361 
   1362 config CMD_DATE
   1363 	bool "date"
   1364 	default y if DM_RTC
   1365 	help
   1366 	  Enable the 'date' command for getting/setting the time/date in RTC
   1367 	  devices.
   1368 
   1369 config CMD_TIME
   1370 	bool "time"
   1371 	help
   1372 	  Run commands and summarize execution time.
   1373 
   1374 config CMD_GETTIME
   1375 	bool "gettime - read elapsed time"
   1376 	help
   1377 	  Enable the 'gettime' command which reads the elapsed time since
   1378 	  U-Boot started running. This shows the time in seconds and
   1379 	  milliseconds. See also the 'bootstage' command which provides more
   1380 	  flexibility for boot timing.
   1381 
   1382 # TODO: rename to CMD_SLEEP
   1383 config CMD_MISC
   1384 	bool "sleep"
   1385 	default y
   1386 	help
   1387 	  Delay execution for some time
   1388 
   1389 config CMD_TIMER
   1390 	bool "timer"
   1391 	help
   1392 	  Access the system timer.
   1393 
   1394 config CMD_SOUND
   1395 	bool "sound"
   1396 	depends on SOUND
   1397 	help
   1398 	  This provides basic access to the U-Boot's sound support. The main
   1399 	  feature is to play a beep.
   1400 
   1401 	     sound init   - set up sound system
   1402 	     sound play   - play a sound
   1403 
   1404 config CMD_QFW
   1405 	bool "qfw"
   1406 	select QFW
   1407 	help
   1408 	  This provides access to the QEMU firmware interface.  The main
   1409 	  feature is to allow easy loading of files passed to qemu-system
   1410 	  via -kernel / -initrd
   1411 
   1412 source "cmd/mvebu/Kconfig"
   1413 
   1414 config CMD_TERMINAL
   1415 	bool "terminal - provides a way to attach a serial terminal"
   1416 	help
   1417 	  Provides a 'cu'-like serial terminal command. This can be used to
   1418 	  access other serial ports from the system console. The terminal
   1419 	  is very simple with no special processing of characters. As with
   1420 	  cu, you can press ~. (tilde followed by period) to exit.
   1421 
   1422 config CMD_UUID
   1423 	bool "uuid, guid - generation of unique IDs"
   1424 	select LIB_UUID
   1425 	help
   1426 	  This enables two commands:
   1427 
   1428 	     uuid - generate random Universally Unique Identifier
   1429 	     guid - generate Globally Unique Identifier based on random UUID
   1430 
   1431 	  The two commands are very similar except for the endianness of the
   1432 	  output.
   1433 
   1434 endmenu
   1435 
   1436 source "cmd/ti/Kconfig"
   1437 
   1438 config CMD_BOOTSTAGE
   1439 	bool "Enable the 'bootstage' command"
   1440 	depends on BOOTSTAGE
   1441 	help
   1442 	  Add a 'bootstage' command which supports printing a report
   1443 	  and un/stashing of bootstage data.
   1444 
   1445 menu "Power commands"
   1446 config CMD_PMIC
   1447 	bool "Enable Driver Model PMIC command"
   1448 	depends on DM_PMIC
   1449 	help
   1450 	  This is the pmic command, based on a driver model pmic's API.
   1451 	  Command features are unchanged:
   1452 	  - list               - list pmic devices
   1453 	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
   1454 	  - pmic dump          - dump registers
   1455 	  - pmic read address  - read byte of register at address
   1456 	  - pmic write address - write byte to register at address
   1457 	  The only one change for this command is 'dev' subcommand.
   1458 
   1459 config CMD_REGULATOR
   1460 	bool "Enable Driver Model REGULATOR command"
   1461 	depends on DM_REGULATOR
   1462 	help
   1463 	  This command is based on driver model regulator's API.
   1464 	  User interface features:
   1465 	  - list               - list regulator devices
   1466 	  - regulator dev <id> - show or [set] operating regulator device
   1467 	  - regulator info     - print constraints info
   1468 	  - regulator status   - print operating status
   1469 	  - regulator value <val] <-f> - print/[set] voltage value [uV]
   1470 	  - regulator current <val>    - print/[set] current value [uA]
   1471 	  - regulator mode <id>        - print/[set] operating mode id
   1472 	  - regulator enable           - enable the regulator output
   1473 	  - regulator disable          - disable the regulator output
   1474 
   1475 	  The '-f' (force) option can be used for set the value which exceeds
   1476 	  the limits, which are found in device-tree and are kept in regulator's
   1477 	  uclass platdata structure.
   1478 
   1479 endmenu
   1480 
   1481 menu "Security commands"
   1482 config CMD_AES
   1483 	bool "Enable the 'aes' command"
   1484 	select AES
   1485 	help
   1486 	  This provides a means to encrypt and decrypt data using the AES
   1487 	  (Advanced Encryption Standard). This algorithm uses a symetric key
   1488 	  and is widely used as a streaming cipher. Different key lengths are
   1489 	  supported by the algorithm but this command only supports 128 bits
   1490 	  at present.
   1491 
   1492 config CMD_BLOB
   1493 	bool "Enable the 'blob' command"
   1494 	help
   1495 	  This is used with the Freescale secure boot mechanism.
   1496 
   1497 	  Freescale's SEC block has built-in Blob Protocol which provides
   1498 	  a method for protecting user-defined data across system power
   1499 	  cycles. SEC block protects data in a data structure called a Blob,
   1500 	  which provides both confidentiality and integrity protection.
   1501 
   1502 	  Encapsulating data as a blob
   1503 	  Each time that the Blob Protocol is used to protect data, a
   1504 	  different randomly generated key is used to encrypt the data.
   1505 	  This random key is itself encrypted using a key which is derived
   1506 	  from SoC's non-volatile secret key and a 16 bit Key identifier.
   1507 	  The resulting encrypted key along with encrypted data is called a
   1508 	  blob. The non-volatile secure key is available for use only during
   1509 	  secure boot.
   1510 
   1511 	  During decapsulation, the reverse process is performed to get back
   1512 	  the original data.
   1513 
   1514 	  Sub-commands:
   1515             blob enc - encapsulating data as a cryptgraphic blob
   1516 	    blob dec - decapsulating cryptgraphic blob to get the data
   1517 
   1518 	  Syntax:
   1519 
   1520 	  blob enc src dst len km
   1521 
   1522 	  Encapsulate and create blob of data $len bytes long
   1523 	  at address $src and store the result at address $dst.
   1524 	  $km is the 16 byte key modifier is also required for
   1525 	  generation/use as key for cryptographic operation. Key
   1526 	  modifier should be 16 byte long.
   1527 
   1528 	  blob dec src dst len km
   1529 
   1530 	  Decapsulate the  blob of data at address $src and
   1531 	  store result of $len byte at addr $dst.
   1532 	  $km is the 16 byte key modifier is also required for
   1533 	  generation/use as key for cryptographic operation. Key
   1534 	  modifier should be 16 byte long.
   1535 
   1536 config CMD_HASH
   1537 	bool "Support 'hash' command"
   1538 	select HASH
   1539 	help
   1540 	  This provides a way to hash data in memory using various supported
   1541 	  algorithms (such as SHA1, MD5, CRC32). The computed digest can be
   1542 	  saved to memory or to an environment variable. It is also possible
   1543 	  to verify a hash against data in memory.
   1544 
   1545 config CMD_HVC
   1546 	bool "Support the 'hvc' command"
   1547 	depends on ARM_SMCCC
   1548 	help
   1549 	  Allows issuing Hypervisor Calls (HVCs). Mostly useful for
   1550 	  development and testing.
   1551 
   1552 config CMD_SMC
   1553 	bool "Support the 'smc' command"
   1554 	depends on ARM_SMCCC
   1555 	help
   1556 	  Allows issuing Secure Monitor Calls (SMCs). Mostly useful for
   1557 	  development and testing.
   1558 
   1559 config HASH_VERIFY
   1560 	bool "hash -v"
   1561 	depends on CMD_HASH
   1562 	help
   1563 	  Add -v option to verify data against a hash.
   1564 
   1565 config CMD_TPM_V1
   1566 	bool
   1567 
   1568 config CMD_TPM_V2
   1569 	bool
   1570 
   1571 config CMD_TPM
   1572 	bool "Enable the 'tpm' command"
   1573 	depends on TPM_V1 || TPM_V2
   1574 	select CMD_TPM_V1 if TPM_V1
   1575 	select CMD_TPM_V2 if TPM_V2
   1576 	help
   1577 	  This provides a means to talk to a TPM from the command line. A wide
   1578 	  range of commands if provided - see 'tpm help' for details. The
   1579 	  command requires a suitable TPM on your board and the correct driver
   1580 	  must be enabled.
   1581 
   1582 if CMD_TPM
   1583 
   1584 config CMD_TPM_TEST
   1585 	bool "Enable the 'tpm test' command"
   1586 	depends on TPM_V1
   1587 	help
   1588 	  This provides a a series of tests to confirm that the TPMv1.x is
   1589 	  working correctly. The tests cover initialisation, non-volatile RAM,
   1590 	  extend, global lock and checking that timing is within expectations.
   1591 	  The tests pass correctly on Infineon TPMs but may need to be adjusted
   1592 	  for other devices.
   1593 
   1594 endif
   1595 
   1596 endmenu
   1597 
   1598 menu "Firmware commands"
   1599 config CMD_CROS_EC
   1600 	bool "Enable crosec command"
   1601 	depends on CROS_EC
   1602 	default y
   1603 	help
   1604 	  Enable command-line access to the Chrome OS EC (Embedded
   1605 	  Controller). This provides the 'crosec' command which has
   1606 	  a number of sub-commands for performing EC tasks such as
   1607 	  updating its flash, accessing a small saved context area
   1608 	  and talking to the I2C bus behind the EC (if there is one).
   1609 endmenu
   1610 
   1611 menu "Filesystem commands"
   1612 config CMD_BTRFS
   1613 	bool "Enable the 'btrsubvol' command"
   1614 	select FS_BTRFS
   1615 	help
   1616 	  This enables the 'btrsubvol' command to list subvolumes
   1617 	  of a BTRFS filesystem. There are no special commands for
   1618 	  listing BTRFS directories or loading BTRFS files - this
   1619 	  can be done by the generic 'fs' commands (see CMD_FS_GENERIC)
   1620 	  when BTRFS is enabled (see FS_BTRFS).
   1621 
   1622 config CMD_CBFS
   1623 	bool "Enable the 'cbfs' command"
   1624 	depends on FS_CBFS
   1625 	help
   1626 	  Define this to enable support for reading from a Coreboot
   1627 	  filesystem. This is a ROM-based filesystem used for accessing files
   1628 	  on systems that use coreboot as the first boot-loader and then load
   1629 	  U-Boot to actually boot the Operating System. Available commands are
   1630 	  cbfsinit, cbfsinfo, cbfsls and cbfsload.
   1631 
   1632 config CMD_CRAMFS
   1633 	bool "Enable the 'cramfs' command"
   1634 	depends on FS_CRAMFS
   1635 	help
   1636 	  This provides commands for dealing with CRAMFS (Compressed ROM
   1637 	  filesystem). CRAMFS is useful when space is tight since files are
   1638 	  compressed. Two commands are provided:
   1639 
   1640 	     cramfsls   - lists files in a cramfs image
   1641 	     cramfsload - loads a file from a cramfs image
   1642 
   1643 config CMD_EXT2
   1644 	bool "ext2 command support"
   1645 	select FS_EXT4
   1646 	help
   1647 	  Enables EXT2 FS command
   1648 
   1649 config CMD_EXT4
   1650 	bool "ext4 command support"
   1651 	select FS_EXT4
   1652 	help
   1653 	  Enables EXT4 FS command
   1654 
   1655 config CMD_EXT4_WRITE
   1656 	depends on CMD_EXT4
   1657 	bool "ext4 write command support"
   1658 	select EXT4_WRITE
   1659 	help
   1660 	  Enables EXT4 FS write command
   1661 
   1662 config CMD_FAT
   1663 	bool "FAT command support"
   1664 	select FS_FAT
   1665 	help
   1666 	  Support for the FAT fs
   1667 
   1668 config CMD_FS_GENERIC
   1669 	bool "filesystem commands"
   1670 	help
   1671 	  Enables filesystem commands (e.g. load, ls) that work for multiple
   1672 	  fs types.
   1673 
   1674 config CMD_FS_UUID
   1675 	bool "fsuuid command"
   1676 	help
   1677 	  Enables fsuuid command for filesystem UUID.
   1678 
   1679 config CMD_JFFS2
   1680 	bool "jffs2 command"
   1681 	select FS_JFFS2
   1682 	help
   1683 	  Enables commands to support the JFFS2 (Journalling Flash File System
   1684 	  version 2) filesystem. This enables fsload, ls and fsinfo which
   1685 	  provide the ability to load files, list directories and obtain
   1686 	  filesystem information.
   1687 
   1688 config CMD_MTDPARTS
   1689 	bool "MTD partition support"
   1690 	help
   1691 	  MTD partition support
   1692 
   1693 config MTDIDS_DEFAULT
   1694 	string "Default MTD IDs"
   1695 	depends on CMD_MTDPARTS || CMD_NAND || CMD_FLASH
   1696 	help
   1697 	  Defines a default MTD IDs list for use with MTD partitions in the
   1698 	  Linux MTD command line partitions format.
   1699 
   1700 config MTDPARTS_DEFAULT
   1701 	string "Default MTD partition scheme"
   1702 	depends on CMD_MTDPARTS || CMD_NAND || CMD_FLASH
   1703 	help
   1704 	  Defines a default MTD partitioning scheme in the Linux MTD command
   1705 	  line partitions format
   1706 
   1707 config CMD_MTDPARTS_SPREAD
   1708 	bool "Padd partition size to take account of bad blocks"
   1709 	depends on CMD_MTDPARTS
   1710 	help
   1711 	  This enables the 'spread' sub-command of the mtdparts command.
   1712 	  This command will modify the existing mtdparts variable by increasing
   1713 	  the size of the partitions such that 1) each partition's net size is
   1714 	  at least as large as the size specified in the mtdparts variable and
   1715 	  2) each partition starts on a good block.
   1716 
   1717 config CMD_REISER
   1718 	bool "reiser - Access to reiserfs filesystems"
   1719 	help
   1720 	  This provides two commands which operate on a resierfs filesystem,
   1721 	  commonly used some years ago:
   1722 
   1723 	    reiserls - list files
   1724 	    reiserload - load a file
   1725 
   1726 config CMD_YAFFS2
   1727 	bool "yaffs2 - Access of YAFFS2 filesystem"
   1728 	depends on YAFFS2
   1729 	default y
   1730 	help
   1731 	  This provides commands for accessing a YAFFS2 filesystem. Yet
   1732 	  Another Flash Filesystem 2 is a filesystem designed specifically
   1733 	  for NAND flash. It incorporates bad-block management and ensures
   1734 	  that device writes are sequential regardless of filesystem
   1735 	  activity.
   1736 
   1737 config CMD_ZFS
   1738 	bool "zfs - Access of ZFS filesystem"
   1739 	help
   1740 	  This provides commands to accessing a ZFS filesystem, commonly used
   1741 	  on Solaris systems. Two sub-commands are provided:
   1742 
   1743 	    zfsls - list files in a directory
   1744 	    zfsload - load a file
   1745 
   1746 	  See doc/README.zfs for more details.
   1747 
   1748 endmenu
   1749 
   1750 menu "Debug commands"
   1751 
   1752 config CMD_BEDBUG
   1753 	bool "bedbug"
   1754 	help
   1755 	  The bedbug (emBEDded deBUGger) command provides debugging features
   1756 	  for some PowerPC processors. For details please see the
   1757 	  docuemntation in doc/README.beddbug
   1758 
   1759 config CMD_DIAG
   1760 	bool "diag - Board diagnostics"
   1761 	help
   1762 	  This command provides access to board diagnostic tests. These are
   1763 	  called Power-on Self Tests (POST). The command allows listing of
   1764 	  available tests and running either all the tests, or specific tests
   1765 	  identified by name.
   1766 
   1767 config CMD_IRQ
   1768 	bool "irq - Show information about interrupts"
   1769 	depends on !ARM && !MIPS && !SH
   1770 	help
   1771 	  This enables two commands:
   1772 
   1773 	     interrupts - enable or disable interrupts
   1774 	     irqinfo - print device-specific interrupt information
   1775 
   1776 config CMD_KGDB
   1777 	bool "kgdb - Allow debugging of U-Boot with gdb"
   1778 	help
   1779 	  This enables a 'kgdb' command which allows gdb to connect to U-Boot
   1780 	  over a serial link for debugging purposes. This allows
   1781 	  single-stepping, inspecting variables, etc. This is supported only
   1782 	  on PowerPC at present.
   1783 
   1784 config CMD_LOG
   1785 	bool "log - Generation, control and access to logging"
   1786 	select LOG
   1787 	help
   1788 	  This provides access to logging features. It allows the output of
   1789 	  log data to be controlled to a limited extent (setting up the default
   1790 	  maximum log level for emitting of records). It also provides access
   1791 	  to a command used for testing the log system.
   1792 
   1793 config CMD_TRACE
   1794 	bool "trace - Support tracing of function calls and timing"
   1795 	help
   1796 	  Enables a command to control using of function tracing within
   1797 	  U-Boot. This allows recording of call traces including timing
   1798 	  information. The command can write data to memory for exporting
   1799 	  for analsys (e.g. using bootchart). See doc/README.trace for full
   1800 	  details.
   1801 
   1802 config CMD_AVB
   1803 	bool "avb - Android Verified Boot 2.0 operations"
   1804 	depends on LIBAVB
   1805 	default n
   1806 	help
   1807 	  Enables a "avb" command to perform verification of partitions using
   1808 	  Android Verified Boot 2.0 functionality. It includes such subcommands:
   1809 	    avb init - initialize avb2 subsystem
   1810 	    avb read_rb - read rollback index
   1811 	    avb write_rb - write rollback index
   1812 	    avb is_unlocked - check device lock state
   1813 	    avb get_uuid - read and print uuid of a partition
   1814 	    avb read_part - read data from partition
   1815 	    avb read_part_hex - read data from partition and output to stdout
   1816 	    avb write_part - write data to partition
   1817 	    avb verify - run full verification chain
   1818 endmenu
   1819 
   1820 config CMD_UBI
   1821 	tristate "Enable UBI - Unsorted block images commands"
   1822 	select CRC32
   1823 	select MTD_UBI
   1824 	select CMD_MTDPARTS
   1825 	default y if NAND_SUNXI
   1826 	help
   1827 	  UBI is a software layer above MTD layer which admits use of LVM-like
   1828 	  logical volumes on top of MTD devices, hides some complexities of
   1829 	  flash chips like wear and bad blocks and provides some other useful
   1830 	  capabilities. Please, consult the MTD web site for more details
   1831 	  (www.linux-mtd.infradead.org). Activate this option if you want
   1832 	  to use U-Boot UBI commands.
   1833 
   1834 config CMD_UBIFS
   1835 	tristate "Enable UBIFS - Unsorted block images filesystem commands"
   1836 	depends on CMD_UBI
   1837 	select CRC32
   1838 	select LZO
   1839 	default y if CMD_UBI
   1840 	help
   1841 	  UBIFS is a file system for flash devices which works on top of UBI.
   1842 
   1843 endmenu
   1844