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