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