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