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