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