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