1menu "Command line interface"
   3config 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.
  14config 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").
  23          If disabled, you get the old, much simpler behaviour with a somewhat
  24          smaller memory footprint.
  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
  34config 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.
  41config 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.
  49config SYS_PROMPT
  50        string "Shell prompt"
  51        default "Zynq> " if ARCH_ZYNQ
  52        default "ZynqMP> " if ARCH_ZYNQMP
  53        default "=> "
  54        help
  55          This string is displayed in the command line to the left of the
  56          cursor.
  58config SYS_PROMPT_HUSH_PS2
  59        string "Hush shell secondary prompt"
  60        depends on HUSH_PARSER
  61        default "> "
  62        help
  63          This defines the secondary prompt string, which is
  64          printed when the command interpreter needs more input
  65          to complete a command. Usually "> ".
  67config SYS_XTRACE
  68        bool "Command execution tracer"
  69        depends on CMDLINE
  70        default y if CMDLINE
  71        help
  72          This option enables the possiblity to print all commands before
  73          executing them and after all variables are evaluated (similar
  74          to Bash's xtrace/'set -x' feature).
  75          To enable the tracer a variable "xtrace" needs to be defined in
  76          the environment.
  78config BUILD_BIN2C
  79        bool
  81comment "Commands"
  83menu "Info commands"
  85config CMD_ACPI
  86        bool "acpi"
  87        depends on ACPIGEN
  88        default y
  89        help
  90          List and dump ACPI tables. ACPI (Advanced Configuration and Power
  91          Interface) is used mostly on x86 for providing information to the
  92          Operating System about devices in the system. The tables are set up
  93          by the firmware, typically U-Boot but possibly an earlier firmware
  94          module, if U-Boot is chain-loaded from something else. ACPI tables
  95          can also include code, to perform hardware-specific tasks required
  96          by the Operating Systems. This allows some amount of separation
  97          between the firmware and OS, and is particularly useful when you
  98          want to make hardware changes without the OS needing to be adjusted.
 100config CMD_ADDRMAP
 101        bool "addrmap"
 102        depends on ADDR_MAP
 103        default y
 104        help
 105          List non-identity virtual-physical memory mappings for 32-bit CPUs.
 107config CMD_BDI
 108        bool "bdinfo"
 109        default y
 110        help
 111          Print board info
 113config CMD_CONFIG
 114        bool "config"
 115        default SANDBOX
 116        select BUILD_BIN2C
 117        help
 118          Print ".config" contents.
 120          If this option is enabled, the ".config" file contents are embedded
 121          in the U-Boot image and can be printed on the console by the "config"
 122          command.  This provides information of which options are enabled on
 123          the running U-Boot.
 125config CMD_CONSOLE
 126        bool "coninfo"
 127        default y
 128        help
 129          Print console devices and information.
 131config CMD_CPU
 132        bool "cpu"
 133        depends on CPU
 134        help
 135          Print information about available CPUs. This normally shows the
 136          number of CPUs, type (e.g. manufacturer, architecture, product or
 137          internal name) and clock frequency. Other information may be
 138          available depending on the CPU driver.
 140config CMD_LICENSE
 141        bool "license"
 142        select BUILD_BIN2C
 143        help
 144          Print GPL license text
 146config CMD_PMC
 147        bool "pmc"
 148        help
 149          Provides access to the Intel Power-Management Controller (PMC) so
 150          that its state can be examined. This does not currently support
 151          changing the state but it is still useful for debugging and seeing
 152          what is going on.
 154config CMD_REGINFO
 155        bool "reginfo"
 156        depends on PPC
 157        help
 158          Register dump
 160config CMD_TLV_EEPROM
 161        bool "tlv_eeprom"
 162        depends on I2C_EEPROM
 163        help
 164          Display and program the system EEPROM data block in ONIE Tlvinfo
 165          format. TLV stands for Type-Length-Value.
 168        bool "tlv_eeprom for SPL"
 169        depends on SPL_I2C_EEPROM
 170        select SPL_DRIVERS_MISC
 171        help
 172          Read system EEPROM data block in ONIE Tlvinfo format from SPL.
 174config CMD_SBI
 175        bool "sbi"
 176        depends on RISCV_SMODE && SBI_V02
 177        help
 178          Display information about the SBI implementation.
 182menu "Boot commands"
 184config CMD_BOOTD
 185        bool "bootd"
 186        default y
 187        help
 188          Run the command stored in the environment "bootcmd", i.e.
 189          "bootd" does the same thing as "run bootcmd".
 191config CMD_BOOTM
 192        bool "bootm"
 193        default y
 194        help
 195          Boot an application image from the memory.
 197config BOOTM_EFI
 198        bool "Support booting UEFI FIT images"
 199        depends on CMD_BOOTEFI && CMD_BOOTM && FIT
 200        default y
 201        help
 202          Support booting UEFI FIT images via the bootm command.
 204config CMD_BOOTZ
 205        bool "bootz"
 206        help
 207          Boot the Linux zImage
 209config CMD_BOOTI
 210        bool "booti"
 211        depends on ARM64 || RISCV
 212        default y
 213        help
 214          Boot an AArch64 Linux Kernel image from memory.
 216config BOOTM_LINUX
 217        bool "Support booting Linux OS images"
 218        depends on CMD_BOOTM || CMD_BOOTZ || CMD_BOOTI
 219        default y
 220        help
 221          Support booting the Linux kernel directly via a command such as bootm
 222          or booti or bootz.
 224config BOOTM_NETBSD
 225        bool "Support booting NetBSD (non-EFI) loader images"
 226        depends on CMD_BOOTM
 227        default y
 228        help
 229          Support booting NetBSD via the bootm command.
 232        bool "Support booting OPENRTOS / FreeRTOS images"
 233        depends on CMD_BOOTM
 234        help
 235          Support booting OPENRTOS / FreeRTOS via the bootm command.
 237config BOOTM_OSE
 238        bool "Support booting Enea OSE images"
 239        depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86)
 240        depends on CMD_BOOTM
 241        help
 242          Support booting Enea OSE images via the bootm command.
 244config BOOTM_PLAN9
 245        bool "Support booting Plan9 OS images"
 246        depends on CMD_BOOTM
 247        default y
 248        help
 249          Support booting Plan9 images via the bootm command.
 251config BOOTM_RTEMS
 252        bool "Support booting RTEMS OS images"
 253        depends on CMD_BOOTM
 254        default y
 255        help
 256          Support booting RTEMS images via the bootm command.
 258config BOOTM_VXWORKS
 259        bool "Support booting VxWorks OS images"
 260        depends on CMD_BOOTM
 261        default y
 262        help
 263          Support booting VxWorks images via the bootm command.
 265config CMD_BOOTEFI
 266        bool "bootefi"
 267        depends on EFI_LOADER
 268        default y
 269        help
 270          Boot an EFI image from memory.
 273        bool "Compile a standard EFI hello world binary for testing"
 274        depends on CMD_BOOTEFI && !CPU_V7M
 275        default y
 276        help
 277          This compiles a standard EFI hello world application with U-Boot so
 278          that it can be used with the test/py testing framework. This is useful
 279          for testing that EFI is working at a basic level, and for bringing
 280          up EFI support on a new architecture.
 282          No additional space will be required in the resulting U-Boot binary
 283          when this option is enabled.
 286        bool "Allow booting a standard EFI hello world for testing"
 287        depends on CMD_BOOTEFI_HELLO_COMPILE
 288        default y if CMD_BOOTEFI_SELFTEST
 289        help
 290          This adds a standard EFI hello world application to U-Boot so that
 291          it can be used with the 'bootefi hello' command. This is useful
 292          for testing that EFI is working at a basic level, and for bringing
 293          up EFI support on a new architecture.
 295source lib/efi_selftest/Kconfig
 297config CMD_BOOTMENU
 298        bool "bootmenu"
 299        select MENU
 300        help
 301          Add an ANSI terminal boot menu command.
 303config CMD_ADTIMG
 304        bool "adtimg"
 305        help
 306          Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from
 307          image into RAM, dump image structure information, etc. Those dtb/dtbo
 308          files should be merged in one dtb further, which needs to be passed to
 309          the kernel, as part of a boot process.
 311config CMD_ABOOTIMG
 312        bool "abootimg"
 313        depends on ANDROID_BOOT_IMAGE
 314        help
 315          Android Boot Image manipulation commands. Allows one to extract
 316          images contained in boot.img, like kernel, ramdisk, dtb, etc, and
 317          obtain corresponding meta-information from boot.img.
 319          See doc/android/boot-image.rst for details.
 321config CMD_ELF
 322        bool "bootelf, bootvx"
 323        default y
 324        select LIB_ELF
 325        help
 326          Boot an ELF/vxWorks image from the memory.
 328config CMD_FDT
 329        bool "Flattened Device Tree utility commands"
 330        default y
 331        depends on OF_LIBFDT
 332        help
 333          Do FDT related setup before booting into the Operating System.
 336        bool
 338config CMD_EXTENSION
 339        bool "Extension board management command"
 340        select CMD_FDT
 341        depends on SUPPORT_EXTENSION_SCAN
 342        help
 343          Enables the "extension" command, which allows to detect
 344          extension boards connected to the system, and apply
 345          corresponding Device Tree overlays.
 347config CMD_GO
 348        bool "go"
 349        default y
 350        help
 351          Start an application at a given address.
 353config CMD_RUN
 354        bool "run"
 355        default y
 356        help
 357          Run the command in the given environment variable.
 359config CMD_IMI
 360        bool "iminfo"
 361        default y
 362        help
 363          Print header information for application image.
 365config CMD_IMLS
 366        bool "imls"
 367        help
 368          List all images found in flash
 370config CMD_XIMG
 371        bool "imxtract"
 372        default y
 373        help
 374          Extract a part of a multi-image.
 376config CMD_SPL
 377        bool "spl export - Export boot information for Falcon boot"
 378        depends on SPL
 379        help
 380          Falcon mode allows booting directly from SPL into an Operating
 381          System such as Linux, thus skipping U-Boot proper. See
 382          doc/README.falcon for full information about how to use this
 383          command.
 385config CMD_SPL_NAND_OFS
 386        hex "Offset of OS args or dtb for Falcon-mode NAND boot"
 387        depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT)
 388        default 0
 389        help
 390          This provides the offset of the command line arguments for Linux
 391          when booting from NAND in Falcon mode.  See doc/README.falcon
 392          for full information about how to use this option (and also see
 393          board/gateworks/gw_ventana/README for an example).
 395config CMD_SPL_NOR_OFS
 396        hex "Offset of OS args or dtb for Falcon-mode NOR boot"
 397        depends on CMD_SPL && SPL_NOR_SUPPORT
 398        default 0
 399        help
 400          This provides the offset of the command line arguments or dtb for
 401          Linux when booting from NOR in Falcon mode.
 404        hex "Size of argument area"
 405        depends on CMD_SPL
 406        default 0x2000
 407        help
 408          This provides the size of the command-line argument area in NAND
 409          flash used by Falcon-mode boot. See the documentation until CMD_SPL
 410          for detail.
 413        bool "thor - TIZEN 'thor' download"
 414        select DFU
 415        help
 416          Implements the 'thor' download protocol. This is a way of
 417          downloading a software update over USB from an attached host.
 418          There is no documentation about this within the U-Boot source code
 419          but you should be able to find something on the interwebs.
 421config CMD_ZBOOT
 422        bool "zboot - x86 boot command"
 423        help
 424          With x86 machines it is common to boot a bzImage file which
 425          contains both a kernel and a setup.bin file. The latter includes
 426          configuration information from the dark ages which x86 boards still
 427          need to pick things out of.
 429          Consider using FIT in preference to this since it supports directly
 430          booting both 32- and 64-bit kernels, as well as secure boot.
 431          Documentation is available in doc/uImage.FIT/x86-fit-boot.txt
 435menu "Environment commands"
 437config CMD_ASKENV
 438        bool "ask for env variable"
 439        help
 440          Ask for environment variable
 442config CMD_EXPORTENV
 443        bool "env export"
 444        default y
 445        help
 446          Export environments.
 448config CMD_IMPORTENV
 449        bool "env import"
 450        default y
 451        help
 452          Import environments.
 454config CMD_EDITENV
 455        bool "editenv"
 456        default y
 457        help
 458          Edit environment variable.
 460config CMD_GREPENV
 461        bool "search env"
 462        help
 463          Allow for searching environment variables
 465config CMD_SAVEENV
 466        bool "saveenv"
 467        default y
 468        help
 469          Save all environment variables into the compiled-in persistent
 470          storage.
 472config CMD_ERASEENV
 473        bool "eraseenv"
 474        depends on CMD_SAVEENV
 475        help
 476          Erase environment variables from the compiled-in persistent
 477          storage.
 479config CMD_ENV_EXISTS
 480        bool "env exists"
 481        default y
 482        help
 483          Check if a variable is defined in the environment for use in
 484          shell scripting.
 487        bool "env callbacks - print callbacks and their associated variables"
 488        help
 489          Some environment variable have callbacks defined by
 490          U_BOOT_ENV_CALLBACK. These are called when the variable changes.
 491          For example changing "baudrate" adjust the serial baud rate. This
 492          command lists the currently defined callbacks.
 494config CMD_ENV_FLAGS
 495        bool "env flags -print variables that have non-default flags"
 496        help
 497          Some environment variables have special flags that control their
 498          behaviour. For example, serial# can only be written once and cannot
 499          be deleted. This command shows the variables that have special
 500          flags.
 502config CMD_NVEDIT_EFI
 503        bool "env [set|print] -e - set/print UEFI variables"
 504        depends on EFI_LOADER
 505        imply HEXDUMP
 506        help
 507          UEFI variables are encoded as some form of U-Boot variables.
 508          If enabled, we are allowed to set/print UEFI variables using
 509          "env" command with "-e" option without knowing details.
 511config CMD_NVEDIT_INFO
 512        bool "env info - print or evaluate environment information"
 513        help
 514          Print environment information:
 515          - env_valid : is environment valid
 516          - env_ready : is environment imported into hash table
 517          - env_use_default : is default environment used
 519          This command can be optionally used for evaluation in scripts:
 520          [-d] : evaluate whether default environment is used
 521          [-p] : evaluate whether environment can be persisted
 522          [-q] : quiet output
 523          The result of multiple evaluations will be combined with AND.
 525config CMD_NVEDIT_LOAD
 526        bool "env load"
 527        help
 528          Load all environment variables from the compiled-in persistent
 529          storage.
 532        bool "env select"
 533        help
 534          Select the compiled-in persistent storage of environment variables.
 538menu "Memory commands"
 540config CMD_BINOP
 541        bool "binop"
 542        help
 543          Compute binary operations (xor, or, and) of byte arrays of arbitrary
 544          size from memory and store the result in memory or the environment.
 546config CMD_BLOBLIST
 547        bool "bloblist"
 548        default y if BLOBLIST
 549        help
 550          Show information about the bloblist, a collection of binary blobs
 551          held in memory that persist between SPL and U-Boot. In the case of
 552          x86 devices the bloblist can be used to hold ACPI tables so that they
 553          remain available in memory.
 555config CMD_CRC32
 556        bool "crc32"
 557        default y
 558        select HASH
 559        help
 560          Compute CRC32.
 562config CRC32_VERIFY
 563        bool "crc32 -v"
 564        depends on CMD_CRC32
 565        help
 566          Add -v option to verify data against a crc32 checksum.
 568config CMD_EEPROM
 569        bool "eeprom - EEPROM subsystem"
 570        help
 571          (deprecated, needs conversion to driver model)
 572          Provides commands to read and write EEPROM (Electrically Erasable
 573          Programmable Read Only Memory) chips that are connected over an
 574          I2C bus.
 577        bool "Enable layout-aware eeprom commands"
 578        depends on CMD_EEPROM
 579        help
 580          (deprecated, needs conversion to driver model)
 581          When enabled, additional eeprom sub-commands become available.
 583          eeprom print - prints the contents of the eeprom in a human-readable
 584          way (eeprom layout fields, and data formatted to be fit for human
 585          consumption).
 587          eeprom update - allows user to update eeprom fields by specifying
 588          the field name, and providing the new data in a human readable format
 589          (same format as displayed by the eeprom print command).
 591          Both commands can either auto detect the layout, or be told which
 592          layout to use.
 594          Feature API:
 595          __weak int parse_layout_version(char *str)
 596                - override to provide your own layout name parsing
 597          __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
 598                        int layout_version);
 599                - override to setup the layout metadata based on the version
 600          __weak int eeprom_layout_detect(unsigned char *data)
 601                - override to provide your own algorithm for detecting layout
 602                        version
 603          eeprom_field.c
 604                - contains various printing and updating functions for common
 605                        types of eeprom fields. Can be used for defining
 606                        custom layouts.
 609          string "Tells user what layout names are supported"
 610          depends on CMD_EEPROM_LAYOUT
 611          default "<not defined>"
 612          help
 613            Help printed with the LAYOUT VERSIONS part of the 'eeprom'
 614            command's help.
 616config SYS_I2C_EEPROM_BUS
 617        int "I2C bus of the EEPROM device."
 618        depends on CMD_EEPROM
 619        default 0
 622        int "Length in bytes of the EEPROM memory array address"
 623        depends on CMD_EEPROM || ID_EEPROM
 624        default 1
 625        range 1 2
 626        help
 627          Note: This is NOT the chip address length!
 629config SYS_EEPROM_SIZE
 630        depends on CMD_EEPROM
 631        int "Size in bytes of the EEPROM device"
 632        default 256
 635        int "Number of bits used to address bytes in a single page"
 636        depends on CMD_EEPROM
 637        default 8
 638        help
 639          The EEPROM page size is 2^SYS_EEPROM_PAGE_WRITE_BITS.
 640          A 64 byte page, for example would require six bits.
 643        int "Number of milliseconds to delay between page writes"
 644        depends on CMD_EEPROM || CMD_I2C
 645        default 0
 647config LOOPW
 648        bool "loopw"
 649        help
 650          Infinite write loop on address range
 652config CMD_MD5SUM
 653        bool "md5sum"
 654        select MD5
 655        help
 656          Compute MD5 checksum.
 658config MD5SUM_VERIFY
 659        bool "md5sum -v"
 660        depends on CMD_MD5SUM
 661        help
 662          Add -v option to verify data against an MD5 checksum.
 664config CMD_MEMINFO
 665        bool "meminfo"
 666        help
 667          Display memory information.
 669config CMD_MEMORY
 670        bool "md, mm, nm, mw, cp, cmp, base, loop"
 671        default y
 672        help
 673          Memory commands.
 674            md - memory display
 675            mm - memory modify (auto-incrementing address)
 676            nm - memory modify (constant address)
 677            mw - memory write (fill)
 678            cp - memory copy
 679            cmp - memory compare
 680            base - print or set address offset
 681            loop - initialize loop on address range
 683config CMD_MEM_SEARCH
 684        bool "ms - Memory search"
 685        help
 686          Memory-search command
 688          This allows searching through a region of memory looking for hex
 689          data (byte, 16-bit word, 32-bit long, also 64-bit on machines that
 690          support it). It is also possible to search for a string. The
 691          command accepts a memory range and a list of values to search for.
 692          The values need to appear in memory in the same order they are given
 693          in the command. At most 10 matches can be returned at a time, but
 694          pressing return will show the next 10 matches. Environment variables
 695          are set for use with scripting (memmatches, memaddr, mempos).
 697config CMD_MX_CYCLIC
 698        bool "Enable cyclic md/mw commands"
 699        depends on CMD_MEMORY
 700        help
 701          Add the "mdc" and "mwc" memory commands. These are cyclic
 702          "md/mw" commands.
 703          Examples:
 705          => mdc.b 10 4 500
 706          This command will print 4 bytes (10,11,12,13) each 500 ms.
 708          => mwc.l 100 12345678 10
 709          This command will write 12345678 to address 100 all 10 ms.
 711config CMD_RANDOM
 712        bool "random"
 713        default y
 714        depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND)
 715        help
 716          random - fill memory with random data
 718config CMD_MEMTEST
 719        bool "memtest"
 720        help
 721          Simple RAM read/write test.
 725config SYS_ALT_MEMTEST
 726        bool "Alternative test"
 727        help
 728          Use a more complete alternative memory test.
 733        bool "Bitflip test"
 734        default y
 735        help
 736          The alternative memory test includes bitflip test since 2020.07.
 737          The bitflip test significantly increases the overall test time.
 738          Bitflip test can optionally be disabled here.
 743        hex "default start address for mtest"
 744        default 0
 745        help
 746          This is the default start address for mtest for simple read/write
 747          test. If no arguments are given to mtest, default address is used
 748          as start address.
 750config SYS_MEMTEST_END
 751        hex "default end address for mtest"
 752        default 0x1000
 753        help
 754          This is the default end address for mtest for simple read/write
 755          test. If no arguments are given to mtest, default address is used
 756          as end address.
 760config CMD_SHA1SUM
 761        bool "sha1sum"
 762        select SHA1
 763        help
 764          Compute SHA1 checksum.
 766config SHA1SUM_VERIFY
 767        bool "sha1sum -v"
 768        depends on CMD_SHA1SUM
 769        help
 770          Add -v option to verify data against a SHA1 checksum.
 772config CMD_STRINGS
 773        bool "strings - display strings in memory"
 774        help
 775          This works similarly to the Unix 'strings' command except that it
 776          works with a memory range. String of printable characters found
 777          within the range are displayed. The minimum number of characters
 778          for a sequence to be considered a string can be provided.
 782menu "Compression commands"
 784config CMD_LZMADEC
 785        bool "lzmadec"
 786        default y if CMD_BOOTI
 787        select LZMA
 788        help
 789          Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm)
 790          image from memory.
 792config CMD_UNLZ4
 793        bool "unlz4"
 794        default y if CMD_BOOTI
 795        select LZ4
 796        help
 797          Support decompressing an LZ4 image from memory region.
 799config CMD_UNZIP
 800        bool "unzip"
 801        default y if CMD_BOOTI
 802        select GZIP
 803        help
 804          Uncompress a zip-compressed memory region.
 806config CMD_ZIP
 807        bool "zip"
 808        select GZIP_COMPRESSED
 809        help
 810          Compress a memory region with zlib deflate method.
 814menu "Device access commands"
 816config CMD_ARMFLASH
 817        #depends on FLASH_CFI_DRIVER
 818        bool "armflash"
 819        help
 820          ARM Ltd reference designs flash partition access
 822config CMD_ADC
 823        bool "adc - Access Analog to Digital Converters info and data"
 824        select ADC
 825        depends on DM_REGULATOR
 826        help
 827          Shows ADC device info and permit printing one-shot analog converted
 828          data from a named Analog to Digital Converter.
 830config CMD_BCB
 831        bool "bcb"
 832        depends on MMC
 833        depends on PARTITIONS
 834        help
 835          Read/modify/write the fields of Bootloader Control Block, usually
 836          stored on the flash "misc" partition with its structure defined in:
 837          https://android.googlesource.com/platform/bootable/recovery/+/master/
 838          bootloader_message/include/bootloader_message/bootloader_message.h
 840          Some real-life use-cases include (but are not limited to):
 841          - Determine the "boot reason" (and act accordingly):
 842            https://source.android.com/devices/bootloader/boot-reason
 843          - Get/pass a list of commands from/to recovery:
 844            https://android.googlesource.com/platform/bootable/recovery
 845          - Inspect/dump the contents of the BCB fields
 847config CMD_BIND
 848        bool "bind/unbind - Bind or unbind a device to/from a driver"
 849        depends on DM
 850        help
 851          Bind or unbind a device to/from a driver from the command line.
 852          This is useful in situations where a device may be handled by several
 853          drivers. For example, this can be used to bind a UDC to the usb ether
 854          gadget driver from the command line.
 856config CMD_CLK
 857        bool "clk - Show clock frequencies"
 858        help
 859          (deprecated)
 860          Shows clock frequences by calling a sock_clk_dump() hook function.
 861          This is depreated in favour of using the CLK uclass and accessing
 862          clock values from associated drivers. However currently no command
 863          exists for this.
 865config CMD_DEMO
 866        bool "demo - Demonstration commands for driver model"
 867        depends on DM
 868        help
 869          Provides a 'demo' command which can be used to play around with
 870          driver model. To use this properly you will need to enable one or
 871          both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
 872          Otherwise you will always get an empty list of devices. The demo
 873          devices are defined in the sandbox device tree, so the easiest
 874          option is to use sandbox and pass the -d point to sandbox's
 875          u-boot.dtb file.
 877config CMD_DFU
 878        bool "dfu"
 879        select DFU
 880        help
 881          Enables the command "dfu" which is used to have U-Boot create a DFU
 882          class device via USB. This command requires that the "dfu_alt_info"
 883          environment variable be set and define the alt settings to expose to
 884          the host.
 886config CMD_DM
 887        bool "dm - Access to driver model information"
 888        depends on DM
 889        help
 890          Provides access to driver model data structures and information,
 891          such as a list of devices, list of uclasses and the state of each
 892          device (e.g. activated). This is not required for operation, but
 893          can be useful to see the state of driver model for debugging or
 894          interest.
 896config CMD_FASTBOOT
 897        bool "fastboot - Android fastboot support"
 898        depends on FASTBOOT
 899        help
 900          This enables the command "fastboot" which enables the Android
 901          fastboot mode for the platform. Fastboot is a protocol for
 902          downloading images, flashing and device control used on
 903          Android devices. Fastboot requires either the network stack
 904          enabled or support for acting as a USB device.
 906          See doc/android/fastboot.rst for more information.
 908config CMD_FLASH
 909        bool "flinfo, erase, protect"
 910        default y
 911        depends on MTD || FLASH_CFI_DRIVER || MTD_NOR_FLASH
 912        help
 913          NOR flash support.
 914            flinfo - print FLASH memory information
 915            erase - FLASH memory
 916            protect - enable or disable FLASH write protection
 918config CMD_FPGA
 919        bool "fpga"
 920        depends on FPGA
 921        default y
 922        help
 923          FPGA support.
 925config CMD_FPGA_LOADBP
 926        bool "fpga loadbp - load partial bitstream (Xilinx only)"
 927        depends on CMD_FPGA
 928        help
 929          Supports loading an FPGA device from a bitstream buffer containing
 930          a partial bitstream.
 932config CMD_FPGA_LOADFS
 933        bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)"
 934        depends on CMD_FPGA
 935        help
 936          Supports loading an FPGA device from a FAT filesystem.
 938config CMD_FPGA_LOADMK
 939        bool "fpga loadmk - load bitstream from image"
 940        depends on CMD_FPGA
 941        help
 942          Supports loading an FPGA device from a image generated by mkimage.
 944config CMD_FPGA_LOADP
 945        bool "fpga loadp - load partial bitstream"
 946        depends on CMD_FPGA
 947        help
 948          Supports loading an FPGA device from a bitstream buffer containing
 949          a partial bitstream.
 952        bool "fpga loads - loads secure bitstreams (Xilinx only)"
 953        depends on CMD_FPGA
 954        help
 955          Enables the fpga loads command which is used to load secure
 956          (authenticated or encrypted or both) bitstreams on to FPGA.
 958config CMD_FPGAD
 959        bool "fpgad - dump FPGA registers"
 960        help
 961          (legacy, needs conversion to driver model)
 962          Provides a way to dump FPGA registers by calling the board-specific
 963          fpga_get_reg() function. This functions similarly to the 'md'
 964          command.
 966config CMD_FUSE
 967        bool "fuse - support for the fuse subssystem"
 968        help
 969          (deprecated - needs conversion to driver model)
 970          This allows reading, sensing, programming or overriding fuses
 971          which control the behaviour of the device. The command uses the
 972          fuse_...() API.
 974config CMD_GPIO
 975        bool "gpio"
 976        help
 977          GPIO support.
 979config CMD_PWM
 980        bool "pwm"
 981        depends on DM_PWM
 982        help
 983          Control PWM channels, this allows invert/config/enable/disable PWM channels.
 985config CMD_GPT
 986        bool "GPT (GUID Partition Table) command"
 987        select EFI_PARTITION
 988        select HAVE_BLOCK_DEVICE
 989        select PARTITION_UUIDS
 990        imply RANDOM_UUID
 991        help
 992          Enable the 'gpt' command to ready and write GPT style partition
 993          tables.
 995config RANDOM_UUID
 996        bool "GPT Random UUID generation"
 997        select LIB_UUID
 998        help
 999          Enable the generation of partitions with random UUIDs if none
1000          are provided.
1002config CMD_GPT_RENAME
1003        bool "GPT partition renaming commands"
1004        depends on CMD_GPT
1005        help
1006          Enables the 'gpt' command to interchange names on two GPT
1007          partitions via the 'gpt swap' command or to rename single
1008          partitions via the 'rename' command.
1010config CMD_IDE
1011        bool "ide - Support for IDE drivers"
1012        select IDE
1013        help
1014          Provides an 'ide' command which allows accessing the IDE drive,
1015          reseting the IDE interface, printing the partition table and
1016          geting device info. It also enables the 'diskboot' command which
1017          permits booting from an IDE drive.
1019config CMD_IO
1020        bool "io - Support for performing I/O accesses"
1021        help
1022          Provides an 'iod' command to display I/O space and an 'iow' command
1023          to write values to the I/O space. This can be useful for manually
1024          checking the state of devices during boot when debugging device
1025          drivers, etc.
1027config CMD_IOTRACE
1028        bool "iotrace - Support for tracing I/O activity"
1029        help
1030          Provides an 'iotrace' command which supports recording I/O reads and
1031          writes in a trace buffer in memory . It also maintains a checksum
1032          of the trace records (even if space is exhausted) so that the
1033          sequence of I/O accesses can be verified.
1035          When debugging drivers it is useful to see what I/O accesses were
1036          done and in what order.
1038          Even if the individual accesses are of little interest it can be
1039          useful to verify that the access pattern is consistent each time
1040          an operation is performed. In this case a checksum can be used to
1041          characterise the operation of a driver. The checksum can be compared
1042          across different runs of the operation to verify that the driver is
1043          working properly.
1045          In particular, when performing major refactoring of the driver, where
1046          the access pattern should not change, the checksum provides assurance
1047          that the refactoring work has not broken the driver.
1049          This works by sneaking into the io.h heder for an architecture and
1050          redirecting I/O accesses through iotrace's tracing mechanism.
1052          For now no commands are provided to examine the trace buffer. The
1053          format is fairly simple, so 'md' is a reasonable substitute.
1055          Note: The checksum feature is only useful for I/O regions where the
1056          contents do not change outside of software control. Where this is not
1057          suitable you can fall back to manually comparing the addresses. It
1058          might be useful to enhance tracing to only checksum the accesses and
1059          not the data read/written.
1061config CMD_I2C
1062        bool "i2c"
1063        help
1064          I2C support.
1066config CMD_W1
1067        depends on W1
1068        default y if W1
1069        bool "w1 - Support for Dallas 1-Wire protocol"
1070        help
1071          Dallas 1-wire protocol support
1073config CMD_LOADB
1074        bool "loadb"
1075        default y
1076        help
1077          Load a binary file over serial line.
1079config CMD_LOADS
1080        bool "loads"
1081        default y
1082        help
1083          Load an S-Record file over serial line
1085config CMD_LSBLK
1086        depends on BLK
1087        bool "lsblk - list block drivers and devices"
1088        help
1089          Print list of available block device drivers, and for each, the list
1090          of known block devices.
1092config CMD_MBR
1093        bool "MBR (Master Boot Record) command"
1094        select DOS_PARTITION
1095        select HAVE_BLOCK_DEVICE
1096        help
1097          Enable the 'mbr' command to ready and write MBR (Master Boot Record)
1098          style partition tables.
1100config CMD_MISC
1101        bool "misc"
1102        depends on MISC
1103        help
1104          Enable the command "misc" for accessing miscellaneous devices with
1105          a MISC uclass driver. The command provides listing all MISC devices
1106          as well as read and write functionalities via their drivers.
1108config CMD_MMC
1109        bool "mmc"
1110        depends on MMC
1111        help
1112          MMC memory mapped support.
1114if CMD_MMC
1117        bool "mmc bkops enable"
1118        depends on CMD_MMC
1119        help
1120          Enable command for setting manual background operations handshake
1121          on a eMMC device. The feature is optionally available on eMMC devices
1122          conforming to standard >= 4.41.
1124config CMD_MMC_RPMB
1125        bool "Enable support for RPMB in the mmc command"
1126        depends on SUPPORT_EMMC_RPMB
1127        help
1128          Enable the commands for reading, writing and programming the
1129          key for the Replay Protection Memory Block partition in eMMC.
1131config CMD_MMC_SWRITE
1132        bool "mmc swrite"
1133        depends on MMC_WRITE
1134        select IMAGE_SPARSE
1135        help
1136          Enable support for the "mmc swrite" command to write Android sparse
1137          images to eMMC.
1141config CMD_CLONE
1142        bool "clone"
1143        depends on BLK
1144        help
1145          Enable storage cloning over block devices, useful for
1146          initial flashing by external block device without network
1147          or usb support.
1149config CMD_OPTEE_RPMB
1150        bool "Enable read/write support on RPMB via OPTEE"
1151        depends on SUPPORT_EMMC_RPMB && OPTEE
1152        help
1153          Enable the commands for reading, writing persistent named values
1154          in the Replay Protection Memory Block partition in eMMC by
1155          using Persistent Objects in OPTEE
1157config CMD_MTD
1158        bool "mtd"
1159        depends on MTD
1160        select MTD_PARTITIONS
1161        help
1162          MTD commands support.
1164config CMD_MUX
1165        bool "mux"
1166        depends on MULTIPLEXER
1167        help
1168         List, select, and deselect mux controllers on the fly.
1170config CMD_NAND
1171        bool "nand"
1172        default y if NAND_SUNXI
1173        depends on MTD_RAW_NAND
1174        help
1175          NAND support.
1177if CMD_NAND
1179        bool "nand write.trimffs"
1180        default y if ARCH_SUNXI
1181        help
1182          Allows one to skip empty pages when flashing something on a NAND.
1185        bool "nand lock/unlock"
1186        help
1187          NAND locking support.
1190        bool "nand torture"
1191        help
1192          NAND torture support.
1194endif # CMD_NAND
1196config CMD_NVME
1197        bool "nvme"
1198        depends on NVME
1199        default y if NVME
1200        help
1201          NVM Express device support
1203config CMD_ONENAND
1204        bool "onenand - access to onenand device"
1205        depends on MTD
1206        help
1207          OneNAND is a brand of NAND ('Not AND' gate) flash which provides
1208          various useful features. This command allows reading, writing,
1209          and erasing blocks. It allso provides a way to show and change
1210          bad blocks, and test the device.
1212config CMD_OSD
1213        bool "osd"
1214        help
1215          Enable the 'osd' command which allows to query information from and
1216          write text data to a on-screen display (OSD) device; a virtual device
1217          associated with a display capable of displaying a text overlay on the
1218          display it's associated with..
1220config CMD_PART
1221        bool "part"
1222        select HAVE_BLOCK_DEVICE
1223        select PARTITION_UUIDS
1224        help
1225          Read and display information about the partition table on
1226          various media.
1228config CMD_PCI
1229        bool "pci - Access PCI devices"
1230        help
1231          Provide access to PCI (Peripheral Interconnect Bus), a type of bus
1232          used on some devices to allow the CPU to communicate with its
1233          peripherals. Sub-commands allow bus enumeration, displaying and
1234          changing configuration space and a few other features.
1236config CMD_PINMUX
1237        bool "pinmux - show pins muxing"
1238        depends on PINCTRL
1239        default y if PINCTRL
1240        help
1241          Parse all available pin-controllers and show pins muxing. This
1242          is useful for debug purpoer to check the pin muxing and to know if
1243          a pin is configured as a GPIO or as an alternate function.
1245config CMD_POWEROFF
1246        bool "poweroff"
1247        help
1248          Poweroff/Shutdown the system
1250config CMD_READ
1251        bool "read - Read binary data from a partition"
1252        help
1253          Provides low-level access to the data in a partition.
1256        bool "remoteproc"
1257        depends on REMOTEPROC
1258        help
1259          Support for Remote Processor control
1261config CMD_SATA
1262        bool "sata - Access SATA subsystem"
1263        select SATA
1264        help
1265          SATA (Serial Advanced Technology Attachment) is a serial bus
1266          standard for connecting to hard drives and other storage devices.
1267          This command provides information about attached devices and allows
1268          reading, writing and other operations.
1270          SATA replaces PATA (originally just ATA), which stands for Parallel AT
1271          Attachment, where AT refers to an IBM AT (Advanced Technology)
1272          computer released in 1984.
1274config CMD_SAVES
1275        bool "saves - Save a file over serial in S-Record format"
1276        help
1277          Provides a way to save a binary file using the Motorola S-Record
1278          format over the serial line.
1280config CMD_SCSI
1281        bool "scsi - Access to SCSI devices"
1282        default y if SCSI
1283        help
1284          This provides a 'scsi' command which provides access to SCSI (Small
1285          Computer System Interface) devices. The command provides a way to
1286          scan the bus, reset the bus, read and write data and get information
1287          about devices.
1289config CMD_SDRAM
1290        bool "sdram - Print SDRAM configuration information"
1291        help
1292          Provides information about attached SDRAM. This assumed that the
1293          SDRAM has an EEPROM with information that can be read using the
1294          I2C bus. This is only available on some boards.
1296config CMD_SF
1297        bool "sf"
1298        depends on DM_SPI_FLASH || SPI_FLASH
1299        default y if DM_SPI_FLASH
1300        help
1301          SPI Flash support
1303config CMD_SF_TEST
1304        bool "sf test - Allow testing of SPI flash"
1305        depends on CMD_SF
1306        help
1307          Provides a way to test that SPI flash is working correctly. The
1308          test is destructive, in that an area of SPI flash must be provided
1309          for the test to use. Performance information is also provided,
1310          measuring the performance of reading, writing and erasing in
1311          Mbps (Million Bits Per Second). This value should approximately
1312          equal the SPI bus speed for a single-bit-wide SPI bus, assuming
1313          everything is working properly.
1315config CMD_SPI
1316        bool "sspi - Command to access spi device"
1317        depends on SPI
1318        help
1319          SPI utility command.
1321config DEFAULT_SPI_BUS
1322        int "default spi bus used by sspi command"
1323        depends on CMD_SPI
1324        default 0
1327        hex "default spi mode used by sspi command (see include/spi.h)"
1328        depends on CMD_SPI
1329        default 0
1331config CMD_TSI148
1332        bool "tsi148 - Command to access tsi148 device"
1333        help
1334          This provides various sub-commands to initialise and configure the
1335          Turndra tsi148 device. See the command help for full details.
1337config CMD_UFS
1338        bool "Enable UFS - Universal Flash Subsystem commands"
1339        depends on UFS
1340        help
1341          "This provides commands to initialise and configure universal flash
1342           subsystem devices"
1344config CMD_UNIVERSE
1345        bool "universe - Command to set up the Turndra Universe controller"
1346        help
1347          This allows setting up the VMEbus provided by this controller.
1348          See the command help for full details.
1350config CMD_USB
1351        bool "usb"
1352        depends on USB_HOST
1353        select HAVE_BLOCK_DEVICE
1354        help
1355          USB support.
1357config CMD_USB_SDP
1358        bool "sdp"
1359        select USB_FUNCTION_SDP
1360        help
1361          Enables the command "sdp" which is used to have U-Boot emulating the
1362          Serial Download Protocol (SDP) via USB.
1364config CMD_ROCKUSB
1365        bool "rockusb"
1366        depends on USB_FUNCTION_ROCKUSB
1367        help
1368          Rockusb protocol is widely used by Rockchip SoC based devices. It can
1369          read/write info, image to/from devices. This enable rockusb command
1370          support to communication with rockusb device. for more detail about
1371          this command, please read doc/README.rockusb.
1374        bool "UMS usb mass storage"
1375        depends on USB_GADGET_DOWNLOAD
1376        select USB_FUNCTION_MASS_STORAGE
1377        depends on BLK && USB_GADGET
1378        help
1379          Enables the command "ums" and the USB mass storage support to the
1380          export a block device: U-Boot, the USB device, acts as a simple
1381          external hard drive plugged on the host USB port.
1383config CMD_PVBLOCK
1384        bool "Xen para-virtualized block device"
1385        depends on XEN
1386        select PVBLOCK
1387        help
1388          Xen para-virtualized block device support
1390config CMD_VIRTIO
1391        bool "virtio"
1392        depends on VIRTIO
1393        depends on HAVE_BLOCK_DEVICE
1394        default y if VIRTIO
1395        help
1396          VirtIO block device support
1398config CMD_WDT
1399        bool "wdt"
1400        depends on WDT
1401        help
1402          This provides commands to control the watchdog timer devices.
1404config CMD_AXI
1405        bool "axi"
1406        depends on AXI
1407        help
1408          Enable the command "axi" for accessing AXI (Advanced eXtensible
1409          Interface) busses, a on-chip interconnect specification for managing
1410          functional blocks in SoC designs, which is also often used in designs
1411          involving FPGAs (e.g.  communication with IP cores in Xilinx FPGAs).
1415menu "Shell scripting commands"
1417config CMD_ECHO
1418        bool "echo"
1419        default y
1420        help
1421          Echo args to console
1423config CMD_ITEST
1424        bool "itest"
1425        default y
1426        help
1427          Return true/false on integer compare.
1429config CMD_SOURCE
1430        bool "source"
1431        default y
1432        help
1433          Run script from memory
1435config CMD_SETEXPR
1436        bool "setexpr"
1437        default y
1438        help
1439          Evaluate boolean and math expressions and store the result in an env
1440            variable.
1441          Also supports loading the value at a memory location into a variable.
1442          If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
1444config CMD_SETEXPR_FMT
1445        bool "setexpr_fmt"
1446        depends on CMD_SETEXPR
1447        help
1448          Evaluate format string expression and store result in an environment
1449            variable.
1453menu "Android support commands"
1455config CMD_AB_SELECT
1456        bool "ab_select"
1457        depends on ANDROID_AB
1458        help
1459          On Android devices with more than one boot slot (multiple copies of
1460          the kernel and system images) this provides a command to select which
1461          slot should be used to boot from and register the boot attempt. This
1462          is used by the new A/B update model where one slot is updated in the
1463          background while running from the other slot.
1467if NET
1469menuconfig CMD_NET
1470        bool "Network commands"
1471        default y
1472        imply NETDEVICES
1474if CMD_NET
1476config CMD_BOOTP
1477        bool "bootp"
1478        default y
1479        help
1480          bootp - boot image via network using BOOTP/TFTP protocol
1482config CMD_DHCP
1483        bool "dhcp"
1484        depends on CMD_BOOTP
1485        help
1486          Boot image via network using DHCP/TFTP protocol
1489        bool "Request & store 'rootpath' from BOOTP/DHCP server"
1490        default y
1491        depends on CMD_BOOTP
1492        help
1493          Even though the config is called BOOTP_BOOTPATH, it stores the
1494          path in the variable 'rootpath'.
1496config BOOTP_DNS
1497        bool "Request & store 'dnsip' from BOOTP/DHCP server"
1498        default y
1499        depends on CMD_BOOTP
1500        help
1501          The primary DNS server is stored as 'dnsip'. If two servers are
1502          returned, you must set BOOTP_DNS2 to store that second server IP
1503          also.
1505config BOOTP_DNS2
1506        bool "Store 'dnsip2' from BOOTP/DHCP server"
1507        depends on BOOTP_DNS
1508        help
1509          If a DHCP client requests the DNS server IP from a DHCP server,
1510          it is possible that more than one DNS serverip is offered to the
1511          client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
1512          server IP will be stored in the additional environment
1513          variable "dnsip2". The first DNS serverip is always
1514          stored in the variable "dnsip", when BOOTP_DNS is defined.
1516config BOOTP_GATEWAY
1517        bool "Request & store 'gatewayip' from BOOTP/DHCP server"
1518        default y
1519        depends on CMD_BOOTP
1522        bool "Request & store 'hostname' from BOOTP/DHCP server"
1523        default y
1524        depends on CMD_BOOTP
1525        help
1526          The name may or may not be qualified with the local domain name.
1529        bool "serverip variable takes precedent over DHCP server IP."
1530        depends on CMD_BOOTP
1531        help
1532          By default a BOOTP/DHCP reply will overwrite the 'serverip' variable.
1534          With this option enabled, the 'serverip' variable in the environment
1535          takes precedence over DHCP server IP and will only be set by the DHCP
1536          server if not already set in the environment.
1539        bool "Request & store 'netmask' from BOOTP/DHCP server"
1540        default y
1541        depends on CMD_BOOTP
1544        bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
1545        depends on CMD_BOOTP
1547config CMD_PCAP
1548        bool "pcap capture"
1549        help
1550          Selecting this will allow capturing all Ethernet packets and store
1551          them in physical memory in a PCAP formated file,
1552          later to be analyzed by PCAP reader application (IE. WireShark).
1554config BOOTP_PXE
1555        bool "Send PXE client arch to BOOTP/DHCP server"
1556        default y
1557        depends on CMD_BOOTP && CMD_PXE
1558        help
1559          Supported for ARM, ARM64, and x86 for now.
1562        hex
1563        depends on BOOTP_PXE
1564        default 0x16 if ARM64
1565        default 0x15 if ARM
1566        default 0 if X86
1569        string
1570        depends on CMD_BOOTP
1571        default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R
1572        default "U-Boot.armv8" if ARM64
1573        default "U-Boot.arm" if ARM
1574        default "U-Boot"
1576config CMD_TFTPBOOT
1577        bool "tftpboot"
1578        default y
1579        help
1580          tftpboot - boot image via network using TFTP protocol
1582config CMD_TFTPPUT
1583        bool "tftp put"
1584        depends on CMD_TFTPBOOT
1585        help
1586          TFTP put command, for uploading files to a server
1588config CMD_TFTPSRV
1589        bool "tftpsrv"
1590        depends on CMD_TFTPBOOT
1591        help
1592          Act as a TFTP server and boot the first received file
1594config NET_TFTP_VARS
1595        bool "Control TFTP timeout and count through environment"
1596        depends on CMD_TFTPBOOT
1597        default y
1598        help
1599          If set, allows controlling the TFTP timeout through the
1600          environment variable tftptimeout, and the TFTP maximum
1601          timeout count through the variable tftptimeoutcountmax.
1602          If unset, timeout and maximum are hard-defined as 1 second
1603          and 10 timouts per TFTP transfer.
1605config CMD_RARP
1606        bool "rarpboot"
1607        help
1608          Boot image via network using RARP/TFTP protocol
1610config CMD_NFS
1611        bool "nfs"
1612        default y
1613        help
1614          Boot image via network using NFS protocol.
1616config CMD_MII
1617        bool "mii"
1618        imply CMD_MDIO
1619        help
1620          If set, allows 802.3(clause 22) MII Management functions interface access
1621          The management interface specified in Clause 22 provides
1622          a simple, two signal, serial interface to connect a
1623          Station Management entity and a managed PHY for providing access
1624          to management parameters and services.
1625          The interface is referred to as the MII management interface.
1627config CMD_MDIO
1628        bool "mdio"
1629        depends on PHYLIB
1630        help
1631          If set, allows Enable 802.3(clause 45) MDIO interface registers access
1632          The MDIO interface is orthogonal to the MII interface and extends
1633          it by adding access to more registers through indirect addressing.
1635config CMD_PING
1636        bool "ping"
1637        help
1638          Send ICMP ECHO_REQUEST to network host
1640config CMD_CDP
1641        bool "cdp"
1642        help
1643          Perform CDP network configuration
1645config CMD_SNTP
1646        bool "sntp"
1647        select PROT_UDP
1648        help
1649          Synchronize RTC via network
1651config CMD_DNS
1652        bool "dns"
1653        help
1654          Lookup the IP of a hostname
1656config CMD_LINK_LOCAL
1657        bool "linklocal"
1658        select LIB_RAND
1659        help
1660          Acquire a network IP address using the link-local protocol
1664config CMD_ETHSW
1665        bool "ethsw"
1666        help
1667          Allow control of L2 Ethernet switch commands. These are supported
1668          by the vsc9953 Ethernet driver at present. Sub-commands allow
1669          operations such as enabling / disabling a port and
1670          viewing/maintaining the filtering database (FDB)
1672config CMD_PXE
1673        bool "pxe"
1674        select MENU
1675        help
1676          Boot image via network using PXE protocol
1678config CMD_WOL
1679        bool "wol"
1680        help
1681          Wait for wake-on-lan Magic Packet
1685menu "Misc commands"
1687config CMD_BMP
1688        bool "Enable 'bmp' command"
1689        depends on LCD || DM_VIDEO || VIDEO
1690        help
1691          This provides a way to obtain information about a BMP-format image
1692          and to display it. BMP (which presumably stands for BitMaP) is a
1693          file format defined by Microsoft which supports images of various
1694          depths, formats and compression methods. Headers on the file
1695          determine the formats used. This command can be used by first loading
1696          the image into RAM, then using this command to look at it or display
1697          it.
1699config CMD_BOOTCOUNT
1700        bool "bootcount"
1701        depends on BOOTCOUNT_LIMIT
1702        help
1703          Enable the bootcount command, which allows interrogation and
1704          reset of the bootcounter.
1706config CMD_BSP
1707        bool "Enable board-specific commands"
1708        help
1709          (deprecated: instead, please define a Kconfig option for each command)
1711          Some boards have board-specific commands which are only enabled
1712          during developemnt and need to be turned off for production. This
1713          option provides a way to control this. The commands that are enabled
1714          vary depending on the board.
1716config CMD_BLOCK_CACHE
1717        bool "blkcache - control and stats for block cache"
1718        depends on BLOCK_CACHE
1719        default y if BLOCK_CACHE
1720        help
1721          Enable the blkcache command, which can be used to control the
1722          operation of the cache functions.
1723          This is most useful when fine-tuning the operation of the cache
1724          during development, but also allows the cache to be disabled when
1725          it might hurt performance (e.g. when using the ums command).
1727config CMD_BUTTON
1728        bool "button"
1729        depends on BUTTON
1730        default y if BUTTON
1731        help
1732          Enable the 'button' command which allows to get the status of
1733          buttons supported by the board. The buttonss can be listed with
1734          'button list' and state can be known with 'button <label>'.
1735          Any button drivers can be controlled with this command, e.g.
1736          button_gpio.
1738config CMD_CACHE
1739        bool "icache or dcache"
1740        help
1741          Enable the "icache" and "dcache" commands
1743config CMD_CONITRACE
1744        bool "conitrace - trace console input codes"
1745        help
1746          Enable the 'conitrace' command which displays the codes received
1747          from the console input as hexadecimal numbers.
1749config CMD_CLS
1750        bool "Enable clear screen command 'cls'"
1751        depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO
1752        default y if LCD
1753        help
1754          Enable the 'cls' command which clears the screen contents
1755          on video frame buffer.
1757config CMD_EFIDEBUG
1758        bool "efidebug - display/configure UEFI environment"
1759        depends on EFI_LOADER
1760        select EFI_DEVICE_PATH_TO_TEXT
1761        help
1762          Enable the 'efidebug' command which provides a subset of UEFI
1763          shell utility with simplified functionality. It will be useful
1764          particularly for managing boot parameters as  well as examining
1765          various EFI status for debugging.
1767config CMD_EXCEPTION
1768        bool "exception - raise exception"
1769        depends on ARM || RISCV || SANDBOX || X86
1770        help
1771          Enable the 'exception' command which allows to raise an exception.
1773config CMD_LED
1774        bool "led"
1775        depends on LED
1776        default y if LED
1777        help
1778          Enable the 'led' command which allows for control of LEDs supported
1779          by the board. The LEDs can be listed with 'led list' and controlled
1780          with led on/off/togle/blink. Any LED drivers can be controlled with
1781          this command, e.g. led_gpio.
1783config CMD_DATE
1784        bool "date"
1785        default y if DM_RTC
1786        select LIB_DATE
1787        help
1788          Enable the 'date' command for getting/setting the time/date in RTC
1789          devices.
1791config CMD_RTC
1792        bool "rtc"
1793        depends on DM_RTC
1794        help
1795          Enable the 'rtc' command for low-level access to RTC devices.
1797config CMD_TIME
1798        bool "time"
1799        help
1800          Run commands and summarize execution time.
1802config CMD_GETTIME
1803        bool "gettime - read elapsed time"
1804        help
1805          Enable the 'gettime' command which reads the elapsed time since
1806          U-Boot started running. This shows the time in seconds and
1807          milliseconds. See also the 'bootstage' command which provides more
1808          flexibility for boot timing.
1810config CMD_RNG
1811        bool "rng command"
1812        depends on DM_RNG
1813        select HEXDUMP
1814        help
1815          Print bytes from the hardware random number generator.
1817config CMD_KASLRSEED
1818        bool "kaslrseed"
1819        depends on DM_RNG
1820        help
1821          Set the kaslr-seed in the chosen node with entropy provided by a
1822          hardware random number generator.
1824config CMD_SLEEP
1825        bool "sleep"
1826        default y
1827        help
1828          Delay execution for some time
1830config MP
1831        bool "support for multiprocessor"
1832        help
1833          This provides an option to brinup
1834          different processors in multiprocessor
1835          cases.
1837config CMD_TIMER
1838        bool "timer"
1839        help
1840          Access the system timer.
1842config CMD_SOUND
1843        bool "sound"
1844        depends on SOUND
1845        help
1846          This provides basic access to the U-Boot's sound support. The main
1847          feature is to play a beep.
1849             sound init   - set up sound system
1850             sound play   - play a sound
1852config CMD_SYSBOOT
1853        bool "sysboot"
1854        select MENU
1855        help
1856          Boot image via local extlinux.conf file
1858config CMD_QFW
1859        bool "qfw"
1860        select QFW
1861        help
1862          This provides access to the QEMU firmware interface.  The main
1863          feature is to allow easy loading of files passed to qemu-system
1864          via -kernel / -initrd
1866config CMD_PSTORE
1867        bool "pstore"
1868        help
1869          This provides access to Linux PStore with Rammoops backend. The main
1870          feature is to allow to display or save PStore records.
1872          See doc/pstore.rst for more information.
1877        hex "Memory Address"
1878        depends on CMD_PSTORE
1879        help
1880          Base addr used for PStore ramoops memory, should be identical to
1881          ramoops.mem_address parameter used by kernel
1884        hex "Memory size"
1885        depends on CMD_PSTORE
1886        default "0x10000"
1887        help
1888          Size of PStore ramoops memory, should be identical to ramoops.mem_size
1889          parameter used by kernel, a power of 2 and larger than the sum of the
1890          record sizes
1893        hex "Dump record size"
1894        depends on CMD_PSTORE
1895        default "0x1000"
1896        help
1897          Size of each dump done on oops/panic, should be identical to
1898          ramoops.record_size parameter used by kernel and a power of 2
1899          Must be non-zero
1902        hex "Kernel console log size"
1903        depends on CMD_PSTORE
1904        default "0x1000"
1905        help
1906          Size of kernel console log, should be identical to
1907          ramoops.console_size parameter used by kernel and a power of 2
1908          Must be non-zero
1911        hex "FTrace log size"
1912        depends on CMD_PSTORE
1913        default "0x1000"
1914        help
1915          Size of ftrace log, should be identical to ramoops.ftrace_size
1916          parameter used by kernel and a power of 2
1919        hex "User space message log size"
1920        depends on CMD_PSTORE
1921        default "0x1000"
1922        help
1923          Size of user space message log, should be identical to
1924          ramoops.pmsg_size parameter used by kernel and a power of 2
1927        int "ECC size"
1928        depends on CMD_PSTORE
1929        default "0"
1930        help
1931        if non-zero, the option enables ECC support and specifies ECC buffer
1932        size in bytes (1 is a special value, means 16 bytes ECC), should be
1933        identical to ramoops.ramoops_ecc parameter used by kernel
1937source "cmd/mvebu/Kconfig"
1939config CMD_TERMINAL
1940        bool "terminal - provides a way to attach a serial terminal"
1941        help
1942          Provides a 'cu'-like serial terminal command. This can be used to
1943          access other serial ports from the system console. The terminal
1944          is very simple with no special processing of characters. As with
1945          cu, you can press ~. (tilde followed by period) to exit.
1947config CMD_UUID
1948        bool "uuid, guid - generation of unique IDs"
1949        select LIB_UUID
1950        help
1951          This enables two commands:
1953             uuid - generate random Universally Unique Identifier
1954             guid - generate Globally Unique Identifier based on random UUID
1956          The two commands are very similar except for the endianness of the
1957          output.
1961source "cmd/ti/Kconfig"
1963config CMD_BOOTSTAGE
1964        bool "Enable the 'bootstage' command"
1965        depends on BOOTSTAGE
1966        help
1967          Add a 'bootstage' command which supports printing a report
1968          and un/stashing of bootstage data.
1970menu "Power commands"
1971config CMD_PMIC
1972        bool "Enable Driver Model PMIC command"
1973        depends on DM_PMIC
1974        help
1975          This is the pmic command, based on a driver model pmic's API.
1976          Command features are unchanged:
1977          - list               - list pmic devices
1978          - pmic dev <id>      - show or [set] operating pmic device (NEW)
1979          - pmic dump          - dump registers
1980          - pmic read address  - read byte of register at address
1981          - pmic write address - write byte to register at address
1982          The only one change for this command is 'dev' subcommand.
1984config CMD_REGULATOR
1985        bool "Enable Driver Model REGULATOR command"
1986        depends on DM_REGULATOR
1987        help
1988          This command is based on driver model regulator's API.
1989          User interface features:
1990          - list               - list regulator devices
1991          - regulator dev <id> - show or [set] operating regulator device
1992          - regulator info     - print constraints info
1993          - regulator status   - print operating status
1994          - regulator value <val] <-f> - print/[set] voltage value [uV]
1995          - regulator current <val>    - print/[set] current value [uA]
1996          - regulator mode <id>        - print/[set] operating mode id
1997          - regulator enable           - enable the regulator output
1998          - regulator disable          - disable the regulator output
2000          The '-f' (force) option can be used for set the value which exceeds
2001          the limits, which are found in device-tree and are kept in regulator's
2002          uclass plat structure.
2006menu "Security commands"
2007config CMD_AES
2008        bool "Enable the 'aes' command"
2009        select AES
2010        help
2011          This provides a means to encrypt and decrypt data using the AES
2012          (Advanced Encryption Standard). This algorithm uses a symetric key
2013          and is widely used as a streaming cipher. Different key lengths are
2014          supported by the algorithm but this command only supports 128 bits
2015          at present.
2017config CMD_BLOB
2018        bool "Enable the 'blob' command"
2019        depends on !MX6ULL && !MX6SLL && !MX6SL
2020        select IMX_HAB if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP || ARCH_IMX8M
2021        help
2022          This is used with the Freescale secure boot mechanism.
2024          Freescale's SEC block has built-in Blob Protocol which provides
2025          a method for protecting user-defined data across system power
2026          cycles. SEC block protects data in a data structure called a Blob,
2027          which provides both confidentiality and integrity protection.
2029          Encapsulating data as a blob
2030          Each time that the Blob Protocol is used to protect data, a
2031          different randomly generated key is used to encrypt the data.
2032          This random key is itself encrypted using a key which is derived
2033          from SoC's non-volatile secret key and a 16 bit Key identifier.
2034          The resulting encrypted key along with encrypted data is called a
2035          blob. The non-volatile secure key is available for use only during
2036          secure boot.
2038          During decapsulation, the reverse process is performed to get back
2039          the original data.
2041          Sub-commands:
2042            blob enc - encapsulating data as a cryptgraphic blob
2043            blob dec - decapsulating cryptgraphic blob to get the data
2045          Syntax:
2047          blob enc src dst len km
2049          Encapsulate and create blob of data $len bytes long
2050          at address $src and store the result at address $dst.
2051          $km is the 16 byte key modifier is also required for
2052          generation/use as key for cryptographic operation. Key
2053          modifier should be 16 byte long.
2055          blob dec src dst len km
2057          Decapsulate the  blob of data at address $src and
2058          store result of $len byte at addr $dst.
2059          $km is the 16 byte key modifier is also required for
2060          generation/use as key for cryptographic operation. Key
2061          modifier should be 16 byte long.
2063config CMD_HASH
2064        bool "Support 'hash' command"
2065        select HASH
2066        help
2067          This provides a way to hash data in memory using various supported
2068          algorithms (such as SHA1, MD5, CRC32). The computed digest can be
2069          saved to memory or to an environment variable. It is also possible
2070          to verify a hash against data in memory.
2072config CMD_HVC
2073        bool "Support the 'hvc' command"
2074        depends on ARM_SMCCC
2075        help
2076          Allows issuing Hypervisor Calls (HVCs). Mostly useful for
2077          development and testing.
2079config CMD_SMC
2080        bool "Support the 'smc' command"
2081        depends on ARM_SMCCC
2082        help
2083          Allows issuing Secure Monitor Calls (SMCs). Mostly useful for
2084          development and testing.
2086config HASH_VERIFY
2087        bool "hash -v"
2088        depends on CMD_HASH
2089        help
2090          Add -v option to verify data against a hash.
2092config CMD_SCP03
2093        bool "scp03 - SCP03 enable and rotate/provision operations"
2094        depends on SCP03
2095        help
2096          This command provides access to a Trusted Application
2097          running in a TEE to request Secure Channel Protocol 03
2098          (SCP03) enablement and/or rotation of its SCP03 keys.
2100config CMD_TPM_V1
2101        bool
2103config CMD_TPM_V2
2104        bool
2106config CMD_TPM
2107        bool "Enable the 'tpm' command"
2108        depends on TPM_V1 || TPM_V2
2109        select CMD_TPM_V1 if TPM_V1
2110        select CMD_TPM_V2 if TPM_V2
2111        help
2112          This provides a means to talk to a TPM from the command line. A wide
2113          range of commands if provided - see 'tpm help' for details. The
2114          command requires a suitable TPM on your board and the correct driver
2115          must be enabled.
2117if CMD_TPM
2119config CMD_TPM_TEST
2120        bool "Enable the 'tpm test' command"
2121        depends on TPM_V1
2122        help
2123          This provides a a series of tests to confirm that the TPMv1.x is
2124          working correctly. The tests cover initialisation, non-volatile RAM,
2125          extend, global lock and checking that timing is within expectations.
2126          The tests pass correctly on Infineon TPMs but may need to be adjusted
2127          for other devices.
2133menu "Firmware commands"
2134config CMD_CROS_EC
2135        bool "Enable crosec command"
2136        depends on CROS_EC
2137        default y
2138        help
2139          Enable command-line access to the Chrome OS EC (Embedded
2140          Controller). This provides the 'crosec' command which has
2141          a number of sub-commands for performing EC tasks such as
2142          updating its flash, accessing a small saved context area
2143          and talking to the I2C bus behind the EC (if there is one).
2146menu "Filesystem commands"
2147config CMD_BTRFS
2148        bool "Enable the 'btrsubvol' command"
2149        select FS_BTRFS
2150        help
2151          This enables the 'btrsubvol' command to list subvolumes
2152          of a BTRFS filesystem. There are no special commands for
2153          listing BTRFS directories or loading BTRFS files - this
2154          can be done by the generic 'fs' commands (see CMD_FS_GENERIC)
2155          when BTRFS is enabled (see FS_BTRFS).
2157config CMD_CBFS
2158        bool "Enable the 'cbfs' command"
2159        depends on FS_CBFS
2160        help
2161          Define this to enable support for reading from a Coreboot
2162          filesystem. This is a ROM-based filesystem used for accessing files
2163          on systems that use coreboot as the first boot-loader and then load
2164          U-Boot to actually boot the Operating System. Available commands are
2165          cbfsinit, cbfsinfo, cbfsls and cbfsload.
2167config CMD_CRAMFS
2168        bool "Enable the 'cramfs' command"
2169        depends on FS_CRAMFS
2170        help
2171          This provides commands for dealing with CRAMFS (Compressed ROM
2172          filesystem). CRAMFS is useful when space is tight since files are
2173          compressed. Two commands are provided:
2175             cramfsls   - lists files in a cramfs image
2176             cramfsload - loads a file from a cramfs image
2178config CMD_EXT2
2179        bool "ext2 command support"
2180        select FS_EXT4
2181        help
2182          Enables EXT2 FS command
2184config CMD_EXT4
2185        bool "ext4 command support"
2186        select FS_EXT4
2187        help
2188          Enables EXT4 FS command
2190config CMD_EXT4_WRITE
2191        depends on CMD_EXT4
2192        bool "ext4 write command support"
2193        select EXT4_WRITE
2194        help
2195          Enables EXT4 FS write command
2197config CMD_FAT
2198        bool "FAT command support"
2199        select FS_FAT
2200        help
2201          Support for the FAT fs
2203config CMD_SQUASHFS
2204        bool "SquashFS command support"
2205        select FS_SQUASHFS
2206        help
2207          Enables SquashFS filesystem commands (e.g. load, ls).
2209config CMD_FS_GENERIC
2210        bool "filesystem commands"
2211        help
2212          Enables filesystem commands (e.g. load, ls) that work for multiple
2213          fs types.
2215config CMD_FS_UUID
2216        bool "fsuuid command"
2217        help
2218          Enables fsuuid command for filesystem UUID.
2220config CMD_JFFS2
2221        bool "jffs2 command"
2222        select FS_JFFS2
2223        help
2224          Enables commands to support the JFFS2 (Journalling Flash File System
2225          version 2) filesystem. This enables fsload, ls and fsinfo which
2226          provide the ability to load files, list directories and obtain
2227          filesystem information.
2229config CMD_MTDPARTS
2230        bool "MTD partition support"
2231        depends on MTD
2232        help
2233          MTD partitioning tool support.
2234          It is strongly encouraged to avoid using this command
2235          anymore along with 'sf', 'nand', 'onenand'. One can still
2236          declare the partitions in the mtdparts environment variable
2237          but better use the MTD stack and the 'mtd' command instead.
2240        bool "Padd partition size to take account of bad blocks"
2241        depends on CMD_MTDPARTS
2242        help
2243          This enables the 'spread' sub-command of the mtdparts command.
2244          This command will modify the existing mtdparts variable by increasing
2245          the size of the partitions such that 1) each partition's net size is
2246          at least as large as the size specified in the mtdparts variable and
2247          2) each partition starts on a good block.
2250        bool "Show net size (w/o bad blocks) of partitions"
2251        depends on CMD_MTDPARTS
2252        help
2253          Adds two columns to the printed partition table showing the
2254          effective usable size of a partition, if bad blocks are taken
2255          into account.
2258        string "Default MTD IDs"
2259        depends on MTD || SPI_FLASH
2260        help
2261          Defines a default MTD IDs list for use with MTD partitions in the
2262          Linux MTD command line partitions format.
2265        string "Default MTD partition scheme"
2266        depends on MTD || SPI_FLASH
2267        help
2268          Defines a default MTD partitioning scheme in the Linux MTD command
2269          line partitions format
2271config CMD_REISER
2272        bool "reiser - Access to reiserfs filesystems"
2273        help
2274          This provides two commands which operate on a resierfs filesystem,
2275          commonly used some years ago:
2277            reiserls - list files
2278            reiserload - load a file
2280config CMD_YAFFS2
2281        bool "yaffs2 - Access of YAFFS2 filesystem"
2282        depends on YAFFS2
2283        default y
2284        help
2285          This provides commands for accessing a YAFFS2 filesystem. Yet
2286          Another Flash Filesystem 2 is a filesystem designed specifically
2287          for NAND flash. It incorporates bad-block management and ensures
2288          that device writes are sequential regardless of filesystem
2289          activity.
2291config CMD_ZFS
2292        bool "zfs - Access of ZFS filesystem"
2293        help
2294          This provides commands to accessing a ZFS filesystem, commonly used
2295          on Solaris systems. Two sub-commands are provided:
2297            zfsls - list files in a directory
2298            zfsload - load a file
2300          See doc/README.zfs for more details.
2304menu "Debug commands"
2306config CMD_BEDBUG
2307        bool "bedbug"
2308        help
2309          The bedbug (emBEDded deBUGger) command provides debugging features
2310          for some PowerPC processors. For details please see the
2311          documentation in doc/README.bedbug.
2313config CMD_CBSYSINFO
2314        bool "cbsysinfo"
2315        depends on X86
2316        default y if SYS_COREBOOT
2317        help
2318          This provides information about the coreboot sysinfo table stored in
2319          memory by coreboot before jumping to U-Boot. It can be useful for
2320          debugging the beaaviour of coreboot or U-Boot.
2322config CMD_DIAG
2323        bool "diag - Board diagnostics"
2324        help
2325          This command provides access to board diagnostic tests. These are
2326          called Power-on Self Tests (POST). The command allows listing of
2327          available tests and running either all the tests, or specific tests
2328          identified by name.
2330config CMD_IRQ
2331        bool "irq - Show information about interrupts"
2332        depends on !ARM && !MIPS && !RISCV && !SH
2333        help
2334          This enables two commands:
2336             interrupts - enable or disable interrupts
2337             irqinfo - print device-specific interrupt information
2339config CMD_KGDB
2340        bool "kgdb - Allow debugging of U-Boot with gdb"
2341        depends on PPC
2342        help
2343          This enables a 'kgdb' command which allows gdb to connect to U-Boot
2344          over a serial link for debugging purposes. This allows
2345          single-stepping, inspecting variables, etc. This is supported only
2346          on PowerPC at present.
2348config CMD_LOG
2349        bool "log - Generation, control and access to logging"
2350        select LOG
2351        select GETOPT
2352        help
2353          This provides access to logging features. It allows the output of
2354          log data to be controlled to a limited extent (setting up the default
2355          maximum log level for emitting of records). It also provides access
2356          to a command used for testing the log system.
2358config CMD_TRACE
2359        bool "trace - Support tracing of function calls and timing"
2360        help
2361          Enables a command to control using of function tracing within
2362          U-Boot. This allows recording of call traces including timing
2363          information. The command can write data to memory for exporting
2364          for analysis (e.g. using bootchart). See doc/README.trace for full
2365          details.
2367config CMD_AVB
2368        bool "avb - Android Verified Boot 2.0 operations"
2369        depends on AVB_VERIFY
2370        help
2371          Enables a "avb" command to perform verification of partitions using
2372          Android Verified Boot 2.0 functionality. It includes such subcommands:
2373            avb init - initialize avb2 subsystem
2374            avb read_rb - read rollback index
2375            avb write_rb - write rollback index
2376            avb is_unlocked - check device lock state
2377            avb get_uuid - read and print uuid of a partition
2378            avb read_part - read data from partition
2379            avb read_part_hex - read data from partition and output to stdout
2380            avb write_part - write data to partition
2381            avb verify - run full verification chain
2384        bool "Test command for stack protector"
2385        depends on STACKPROTECTOR
2386        help
2387          Enable stackprot_test command
2388          The stackprot_test command will force a stack overrun to test
2389          the stack smashing detection mechanisms.
2393config CMD_UBI
2394        tristate "Enable UBI - Unsorted block images commands"
2395        select MTD_UBI
2396        help
2397          UBI is a software layer above MTD layer which admits use of LVM-like
2398          logical volumes on top of MTD devices, hides some complexities of
2399          flash chips like wear and bad blocks and provides some other useful
2400          capabilities. Please, consult the MTD web site for more details
2401          (www.linux-mtd.infradead.org). Activate this option if you want
2402          to use U-Boot UBI commands.
2403          It is also strongly encouraged to also enable CONFIG_MTD to get full
2404          partition support.
2406config CMD_UBI_RENAME
2407       bool "Enable rename"
2408       depends on CMD_UBI
2409       help
2410         Enable a "ubi" command to rename ubi volume:
2411           ubi rename <oldname> <newname>
2413config CMD_UBIFS
2414        tristate "Enable UBIFS - Unsorted block images filesystem commands"
2415        depends on CMD_UBI
2416        default y if CMD_UBI
2417        select LZO
2418        help
2419          UBIFS is a file system for flash devices which works on top of UBI.
2422        bool "set speed mode using mmc command"
2423        depends on CMD_MMC
2424        default n
2425        help
2426          Enable setting speed mode using mmc rescan and mmc dev commands.
2427          The speed mode is provided as the last argument in these commands
2428          and is indicated using the index from enum bus_mode in
2429          include/mmc.h. A speed mode can be set only if it has already
2430          been enabled in the device tree.