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