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