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 depends on SHA256 && SHA384 && SHA512 613 bool "ASPEED otp program" 614 select HASH 615 select RSA 616 default y 617 618config CMD_RNG 619 depends on ASPEED_AST2600 620 bool "ASPEED random number generator" 621 default n 622 623config CMD_ARMFLASH 624 #depends on FLASH_CFI_DRIVER 625 bool "armflash" 626 help 627 ARM Ltd reference designs flash partition access 628 629config CMD_ADC 630 bool "adc - Access Analog to Digital Converters info and data" 631 select ADC 632 select DM_REGULATOR 633 help 634 Shows ADC device info and permit printing one-shot analog converted 635 data from a named Analog to Digital Converter. 636 637config CMD_BIND 638 bool "bind/unbind - Bind or unbind a device to/from a driver" 639 depends on DM 640 help 641 Bind or unbind a device to/from a driver from the command line. 642 This is useful in situations where a device may be handled by several 643 drivers. For example, this can be used to bind a UDC to the usb ether 644 gadget driver from the command line. 645 646config CMD_CLK 647 bool "clk - Show clock frequencies" 648 help 649 (deprecated) 650 Shows clock frequences by calling a sock_clk_dump() hook function. 651 This is depreated in favour of using the CLK uclass and accessing 652 clock values from associated drivers. However currently no command 653 exists for this. 654 655config CMD_DEMO 656 bool "demo - Demonstration commands for driver model" 657 depends on DM 658 help 659 Provides a 'demo' command which can be used to play around with 660 driver model. To use this properly you will need to enable one or 661 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE). 662 Otherwise you will always get an empty list of devices. The demo 663 devices are defined in the sandbox device tree, so the easiest 664 option is to use sandbox and pass the -d point to sandbox's 665 u-boot.dtb file. 666 667config CMD_DFU 668 bool "dfu" 669 select DFU 670 help 671 Enables the command "dfu" which is used to have U-Boot create a DFU 672 class device via USB. This command requires that the "dfu_alt_info" 673 environment variable be set and define the alt settings to expose to 674 the host. 675 676config CMD_DM 677 bool "dm - Access to driver model information" 678 depends on DM 679 help 680 Provides access to driver model data structures and information, 681 such as a list of devices, list of uclasses and the state of each 682 device (e.g. activated). This is not required for operation, but 683 can be useful to see the state of driver model for debugging or 684 interest. 685 686config CMD_FASTBOOT 687 bool "fastboot - Android fastboot support" 688 depends on FASTBOOT 689 help 690 This enables the command "fastboot" which enables the Android 691 fastboot mode for the platform. Fastboot is a protocol for 692 downloading images, flashing and device control used on 693 Android devices. Fastboot requires either the network stack 694 enabled or support for acting as a USB device. 695 696 See doc/README.android-fastboot for more information. 697 698config CMD_FDC 699 bool "fdcboot - Boot from floppy device" 700 help 701 The 'fdtboot' command allows booting an image from a floppy disk. 702 703config CMD_FSI 704 bool "fsi - use FSI master" 705 depends on ASPEED_FSI 706 help 707 The 'fsi' command allows use of the FSI master present in ASPEED SoCs 708 709config CMD_FLASH 710 bool "flinfo, erase, protect" 711 default y 712 help 713 NOR flash support. 714 flinfo - print FLASH memory information 715 erase - FLASH memory 716 protect - enable or disable FLASH write protection 717 718config CMD_FPGA 719 bool "fpga" 720 depends on FPGA 721 default y 722 help 723 FPGA support. 724 725config CMD_FPGA_LOADBP 726 bool "fpga loadbp - load partial bitstream (Xilinx only)" 727 depends on CMD_FPGA 728 help 729 Supports loading an FPGA device from a bitstream buffer containing 730 a partial bitstream. 731 732config CMD_FPGA_LOADFS 733 bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)" 734 depends on CMD_FPGA 735 help 736 Supports loading an FPGA device from a FAT filesystem. 737 738config CMD_FPGA_LOADMK 739 bool "fpga loadmk - load bitstream from image" 740 depends on CMD_FPGA 741 help 742 Supports loading an FPGA device from a image generated by mkimage. 743 744config CMD_FPGA_LOADP 745 bool "fpga loadp - load partial bitstream" 746 depends on CMD_FPGA 747 help 748 Supports loading an FPGA device from a bitstream buffer containing 749 a partial bitstream. 750 751config CMD_FPGA_LOAD_SECURE 752 bool "fpga loads - loads secure bitstreams (Xilinx only)" 753 depends on CMD_FPGA 754 help 755 Enables the fpga loads command which is used to load secure 756 (authenticated or encrypted or both) bitstreams on to FPGA. 757 758config CMD_FPGAD 759 bool "fpgad - dump FPGA registers" 760 help 761 (legacy, needs conversion to driver model) 762 Provides a way to dump FPGA registers by calling the board-specific 763 fpga_get_reg() function. This functions similarly to the 'md' 764 command. 765 766config CMD_FUSE 767 bool "fuse - support for the fuse subssystem" 768 help 769 (deprecated - needs conversion to driver model) 770 This allows reading, sensing, programming or overriding fuses 771 which control the behaviour of the device. The command uses the 772 fuse_...() API. 773 774config CMD_GPIO 775 bool "gpio" 776 help 777 GPIO support. 778 779config CMD_GPT 780 bool "GPT (GUID Partition Table) command" 781 select EFI_PARTITION 782 select HAVE_BLOCK_DEVICE 783 select PARTITION_UUIDS 784 imply RANDOM_UUID 785 help 786 Enable the 'gpt' command to ready and write GPT style partition 787 tables. 788 789config RANDOM_UUID 790 bool "GPT Random UUID generation" 791 select LIB_UUID 792 help 793 Enable the generation of partitions with random UUIDs if none 794 are provided. 795 796config CMD_GPT_RENAME 797 bool "GPT partition renaming commands" 798 depends on CMD_GPT 799 help 800 Enables the 'gpt' command to interchange names on two GPT 801 partitions via the 'gpt swap' command or to rename single 802 partitions via the 'rename' command. 803 804config CMD_IDE 805 bool "ide - Support for IDE drivers" 806 select IDE 807 help 808 Provides an 'ide' command which allows accessing the IDE drive, 809 reseting the IDE interface, printing the partition table and 810 geting device info. It also enables the 'diskboot' command which 811 permits booting from an IDE drive. 812 813config CMD_IO 814 bool "io - Support for performing I/O accesses" 815 help 816 Provides an 'iod' command to display I/O space and an 'iow' command 817 to write values to the I/O space. This can be useful for manually 818 checking the state of devices during boot when debugging device 819 drivers, etc. 820 821config CMD_IOTRACE 822 bool "iotrace - Support for tracing I/O activity" 823 help 824 Provides an 'iotrace' command which supports recording I/O reads and 825 writes in a trace buffer in memory . It also maintains a checksum 826 of the trace records (even if space is exhausted) so that the 827 sequence of I/O accesses can be verified. 828 829 When debugging drivers it is useful to see what I/O accesses were 830 done and in what order. 831 832 Even if the individual accesses are of little interest it can be 833 useful to verify that the access pattern is consistent each time 834 an operation is performed. In this case a checksum can be used to 835 characterise the operation of a driver. The checksum can be compared 836 across different runs of the operation to verify that the driver is 837 working properly. 838 839 In particular, when performing major refactoring of the driver, where 840 the access pattern should not change, the checksum provides assurance 841 that the refactoring work has not broken the driver. 842 843 This works by sneaking into the io.h heder for an architecture and 844 redirecting I/O accesses through iotrace's tracing mechanism. 845 846 For now no commands are provided to examine the trace buffer. The 847 format is fairly simple, so 'md' is a reasonable substitute. 848 849 Note: The checksum feature is only useful for I/O regions where the 850 contents do not change outside of software control. Where this is not 851 suitable you can fall back to manually comparing the addresses. It 852 might be useful to enhance tracing to only checksum the accesses and 853 not the data read/written. 854 855config CMD_I2C 856 bool "i2c" 857 help 858 I2C support. 859 860config CMD_W1 861 depends on W1 862 default y if W1 863 bool "w1 - Support for Dallas 1-Wire protocol" 864 help 865 Dallas 1-wire protocol support 866 867config CMD_LOADB 868 bool "loadb" 869 default y 870 help 871 Load a binary file over serial line. 872 873config CMD_LOADS 874 bool "loads" 875 default y 876 help 877 Load an S-Record file over serial line 878 879config CMD_MMC 880 bool "mmc" 881 help 882 MMC memory mapped support. 883 884config CMD_MMC_RPMB 885 bool "Enable support for RPMB in the mmc command" 886 depends on CMD_MMC 887 help 888 Enable the commands for reading, writing and programming the 889 key for the Replay Protection Memory Block partition in eMMC. 890 891config CMD_MMC_SWRITE 892 bool "mmc swrite" 893 depends on CMD_MMC && MMC_WRITE 894 select IMAGE_SPARSE 895 help 896 Enable support for the "mmc swrite" command to write Android sparse 897 images to eMMC. 898 899config CMD_MTD 900 bool "mtd" 901 select MTD_PARTITIONS 902 help 903 MTD commands support. 904 905config CMD_NAND 906 bool "nand" 907 default y if NAND_SUNXI 908 help 909 NAND support. 910 911if CMD_NAND 912config CMD_NAND_TRIMFFS 913 bool "nand write.trimffs" 914 default y if ARCH_SUNXI 915 help 916 Allows one to skip empty pages when flashing something on a NAND. 917 918config CMD_NAND_LOCK_UNLOCK 919 bool "nand lock/unlock" 920 help 921 NAND locking support. 922 923config CMD_NAND_TORTURE 924 bool "nand torture" 925 help 926 NAND torture support. 927 928endif # CMD_NAND 929 930config CMD_NVME 931 bool "nvme" 932 depends on NVME 933 default y if NVME 934 help 935 NVM Express device support 936 937config CMD_MMC_SPI 938 bool "mmc_spi - Set up MMC SPI device" 939 help 940 Provides a way to set up an MMC (Multimedia Card) SPI (Serial 941 Peripheral Interface) device. The device provides a means of 942 accessing an MMC device via SPI using a single data line, limited 943 to 20MHz. It is useful since it reduces the amount of protocol code 944 required. 945 946config CMD_ONENAND 947 bool "onenand - access to onenand device" 948 help 949 OneNAND is a brand of NAND ('Not AND' gate) flash which provides 950 various useful features. This command allows reading, writing, 951 and erasing blocks. It allso provides a way to show and change 952 bad blocks, and test the device. 953 954config CMD_OSD 955 bool "osd" 956 help 957 Enable the 'osd' command which allows to query information from and 958 write text data to a on-screen display (OSD) device; a virtual device 959 associated with a display capable of displaying a text overlay on the 960 display it's associated with.. 961 962config CMD_PART 963 bool "part" 964 select HAVE_BLOCK_DEVICE 965 select PARTITION_UUIDS 966 help 967 Read and display information about the partition table on 968 various media. 969 970config CMD_PCI 971 bool "pci - Access PCI devices" 972 help 973 Provide access to PCI (Peripheral Interconnect Bus), a type of bus 974 used on some devices to allow the CPU to communicate with its 975 peripherals. Sub-commands allow bus enumeration, displaying and 976 changing configuration space and a few other features. 977 978config CMD_PCMCIA 979 bool "pinit - Set up PCMCIA device" 980 help 981 Provides a means to initialise a PCMCIA (Personal Computer Memory 982 Card International Association) device. This is an old standard from 983 about 1990. These devices are typically removable memory or network 984 cards using a standard 68-pin connector. 985 986config CMD_PINMUX 987 bool "pinmux - show pins muxing" 988 default y if PINCTRL 989 help 990 Parse all available pin-controllers and show pins muxing. This 991 is useful for debug purpoer to check the pin muxing and to know if 992 a pin is configured as a GPIO or as an alternate function. 993 994config CMD_POWEROFF 995 bool "poweroff" 996 help 997 Poweroff/Shutdown the system 998 999config CMD_READ 1000 bool "read - Read binary data from a partition" 1001 help 1002 Provides low-level access to the data in a partition. 1003 1004config CMD_REMOTEPROC 1005 bool "remoteproc" 1006 depends on REMOTEPROC 1007 help 1008 Support for Remote Processor control 1009 1010config CMD_SATA 1011 bool "sata - Access SATA subsystem" 1012 select SATA 1013 help 1014 SATA (Serial Advanced Technology Attachment) is a serial bus 1015 standard for connecting to hard drives and other storage devices. 1016 This command provides information about attached devices and allows 1017 reading, writing and other operations. 1018 1019 SATA replaces PATA (originally just ATA), which stands for Parallel AT 1020 Attachment, where AT refers to an IBM AT (Advanced Technology) 1021 computer released in 1984. 1022 1023config CMD_SAVES 1024 bool "saves - Save a file over serial in S-Record format" 1025 help 1026 Provides a way to save a binary file using the Motorola S-Record 1027 format over the serial line. 1028 1029config CMD_SCSI 1030 bool "scsi - Access to SCSI devices" 1031 default y if SCSI 1032 help 1033 This provides a 'scsi' command which provides access to SCSI (Small 1034 Computer System Interface) devices. The command provides a way to 1035 scan the bus, reset the bus, read and write data and get information 1036 about devices. 1037 1038config CMD_SDRAM 1039 bool "sdram - Print SDRAM configuration information" 1040 help 1041 Provides information about attached SDRAM. This assumed that the 1042 SDRAM has an EEPROM with information that can be read using the 1043 I2C bus. This is only available on some boards. 1044 1045config CMD_SF 1046 bool "sf" 1047 help 1048 SPI Flash support 1049 1050config CMD_SF_TEST 1051 bool "sf test - Allow testing of SPI flash" 1052 help 1053 Provides a way to test that SPI flash is working correctly. The 1054 test is destructive, in that an area of SPI flash must be provided 1055 for the test to use. Performance information is also provided, 1056 measuring the performance of reading, writing and erasing in 1057 Mbps (Million Bits Per Second). This value should approximately 1058 equal the SPI bus speed for a single-bit-wide SPI bus, assuming 1059 everything is working properly. 1060 1061config CMD_SPI 1062 bool "sspi - Command to access spi device" 1063 help 1064 SPI utility command. 1065 1066config DEFAULT_SPI_BUS 1067 int "default spi bus used by sspi command" 1068 depends on CMD_SPI 1069 default 0 1070 1071config DEFAULT_SPI_MODE 1072 hex "default spi mode used by sspi command (see include/spi.h)" 1073 depends on CMD_SPI 1074 default 0 1075 1076config CMD_TSI148 1077 bool "tsi148 - Command to access tsi148 device" 1078 help 1079 This provides various sub-commands to initialise and configure the 1080 Turndra tsi148 device. See the command help for full details. 1081 1082config CMD_UNIVERSE 1083 bool "universe - Command to set up the Turndra Universe controller" 1084 help 1085 This allows setting up the VMEbus provided by this controller. 1086 See the command help for full details. 1087 1088config CMD_USB 1089 bool "usb" 1090 select HAVE_BLOCK_DEVICE 1091 help 1092 USB support. 1093 1094config CMD_USB_SDP 1095 bool "sdp" 1096 select USB_FUNCTION_SDP 1097 help 1098 Enables the command "sdp" which is used to have U-Boot emulating the 1099 Serial Download Protocol (SDP) via USB. 1100 1101config CMD_ROCKUSB 1102 bool "rockusb" 1103 depends on USB_FUNCTION_ROCKUSB 1104 help 1105 Rockusb protocol is widely used by Rockchip SoC based devices. It can 1106 read/write info, image to/from devices. This enable rockusb command 1107 support to communication with rockusb device. for more detail about 1108 this command, please read doc/README.rockusb. 1109 1110config CMD_USB_MASS_STORAGE 1111 bool "UMS usb mass storage" 1112 select USB_FUNCTION_MASS_STORAGE 1113 help 1114 USB mass storage support 1115 1116config CMD_VIRTIO 1117 bool "virtio" 1118 depends on VIRTIO 1119 default y if VIRTIO 1120 help 1121 VirtIO block device support 1122 1123config CMD_AXI 1124 bool "axi" 1125 depends on AXI 1126 help 1127 Enable the command "axi" for accessing AXI (Advanced eXtensible 1128 Interface) busses, a on-chip interconnect specification for managing 1129 functional blocks in SoC designs, which is also often used in designs 1130 involving FPGAs (e.g. communication with IP cores in Xilinx FPGAs). 1131endmenu 1132 1133 1134menu "Shell scripting commands" 1135 1136config CMD_ECHO 1137 bool "echo" 1138 default y 1139 help 1140 Echo args to console 1141 1142config CMD_ITEST 1143 bool "itest" 1144 default y 1145 help 1146 Return true/false on integer compare. 1147 1148config CMD_SOURCE 1149 bool "source" 1150 default y 1151 help 1152 Run script from memory 1153 1154config CMD_SETEXPR 1155 bool "setexpr" 1156 default y 1157 help 1158 Evaluate boolean and math expressions and store the result in an env 1159 variable. 1160 Also supports loading the value at a memory location into a variable. 1161 If CONFIG_REGEX is enabled, setexpr also supports a gsub function. 1162 1163endmenu 1164 1165if NET 1166 1167menuconfig CMD_NET 1168 bool "Network commands" 1169 default y 1170 imply NETDEVICES 1171 1172if CMD_NET 1173 1174config CMD_BOOTP 1175 bool "bootp" 1176 default y 1177 help 1178 bootp - boot image via network using BOOTP/TFTP protocol 1179 1180config CMD_DHCP 1181 bool "dhcp" 1182 depends on CMD_BOOTP 1183 help 1184 Boot image via network using DHCP/TFTP protocol 1185 1186config BOOTP_BOOTPATH 1187 bool "Request & store 'rootpath' from BOOTP/DHCP server" 1188 default y 1189 depends on CMD_BOOTP 1190 help 1191 Even though the config is called BOOTP_BOOTPATH, it stores the 1192 path in the variable 'rootpath'. 1193 1194config BOOTP_DNS 1195 bool "Request & store 'dnsip' from BOOTP/DHCP server" 1196 default y 1197 depends on CMD_BOOTP 1198 help 1199 The primary DNS server is stored as 'dnsip'. If two servers are 1200 returned, you must set BOOTP_DNS2 to store that second server IP 1201 also. 1202 1203config BOOTP_DNS2 1204 bool "Store 'dnsip2' from BOOTP/DHCP server" 1205 depends on BOOTP_DNS 1206 help 1207 If a DHCP client requests the DNS server IP from a DHCP server, 1208 it is possible that more than one DNS serverip is offered to the 1209 client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS 1210 server IP will be stored in the additional environment 1211 variable "dnsip2". The first DNS serverip is always 1212 stored in the variable "dnsip", when BOOTP_DNS is defined. 1213 1214config BOOTP_GATEWAY 1215 bool "Request & store 'gatewayip' from BOOTP/DHCP server" 1216 default y 1217 depends on CMD_BOOTP 1218 1219config BOOTP_HOSTNAME 1220 bool "Request & store 'hostname' from BOOTP/DHCP server" 1221 default y 1222 depends on CMD_BOOTP 1223 help 1224 The name may or may not be qualified with the local domain name. 1225 1226config BOOTP_PREFER_SERVERIP 1227 bool "serverip variable takes precedent over DHCP server IP." 1228 depends on CMD_BOOTP 1229 help 1230 By default a BOOTP/DHCP reply will overwrite the 'serverip' variable. 1231 1232 With this option enabled, the 'serverip' variable in the environment 1233 takes precedence over DHCP server IP and will only be set by the DHCP 1234 server if not already set in the environment. 1235 1236config BOOTP_SUBNETMASK 1237 bool "Request & store 'netmask' from BOOTP/DHCP server" 1238 default y 1239 depends on CMD_BOOTP 1240 1241config BOOTP_NTPSERVER 1242 bool "Request & store 'ntpserverip' from BOOTP/DHCP server" 1243 depends on CMD_BOOTP 1244 1245config BOOTP_PXE 1246 bool "Send PXE client arch to BOOTP/DHCP server" 1247 default y 1248 depends on CMD_BOOTP && CMD_PXE 1249 help 1250 Supported for ARM, ARM64, and x86 for now. 1251 1252config BOOTP_PXE_CLIENTARCH 1253 hex 1254 depends on BOOTP_PXE 1255 default 0x16 if ARM64 1256 default 0x15 if ARM 1257 default 0 if X86 1258 1259config BOOTP_VCI_STRING 1260 string 1261 depends on CMD_BOOTP 1262 default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R 1263 default "U-Boot.armv8" if ARM64 1264 default "U-Boot.arm" if ARM 1265 default "U-Boot" 1266 1267config CMD_TFTPBOOT 1268 bool "tftpboot" 1269 default y 1270 help 1271 tftpboot - boot image via network using TFTP protocol 1272 1273config CMD_TFTPPUT 1274 bool "tftp put" 1275 depends on CMD_TFTPBOOT 1276 help 1277 TFTP put command, for uploading files to a server 1278 1279config CMD_TFTPSRV 1280 bool "tftpsrv" 1281 depends on CMD_TFTPBOOT 1282 help 1283 Act as a TFTP server and boot the first received file 1284 1285config NET_TFTP_VARS 1286 bool "Control TFTP timeout and count through environment" 1287 depends on CMD_TFTPBOOT 1288 default y 1289 help 1290 If set, allows controlling the TFTP timeout through the 1291 environment variable tftptimeout, and the TFTP maximum 1292 timeout count through the variable tftptimeoutcountmax. 1293 If unset, timeout and maximum are hard-defined as 1 second 1294 and 10 timouts per TFTP transfer. 1295 1296config CMD_RARP 1297 bool "rarpboot" 1298 help 1299 Boot image via network using RARP/TFTP protocol 1300 1301config CMD_NFS 1302 bool "nfs" 1303 default y 1304 help 1305 Boot image via network using NFS protocol. 1306 1307config CMD_MII 1308 bool "mii" 1309 help 1310 Enable MII utility commands. 1311 1312config CMD_PING 1313 bool "ping" 1314 help 1315 Send ICMP ECHO_REQUEST to network host 1316 1317config CMD_CDP 1318 bool "cdp" 1319 help 1320 Perform CDP network configuration 1321 1322config CMD_SNTP 1323 bool "sntp" 1324 help 1325 Synchronize RTC via network 1326 1327config CMD_DNS 1328 bool "dns" 1329 help 1330 Lookup the IP of a hostname 1331 1332config CMD_LINK_LOCAL 1333 bool "linklocal" 1334 select LIB_RAND 1335 help 1336 Acquire a network IP address using the link-local protocol 1337 1338config CMD_NCSI 1339 bool "ncsi" 1340 depends on PHY_NCSI 1341 help 1342 Manually configure the attached NIC via NC-SI. 1343 Normally this happens automatically before other network 1344 operations. 1345 1346endif 1347 1348config CMD_ETHSW 1349 bool "ethsw" 1350 help 1351 Allow control of L2 Ethernet switch commands. These are supported 1352 by the vsc9953 Ethernet driver at present. Sub-commands allow 1353 operations such as enabling / disabling a port and 1354 viewing/maintaining the filtering database (FDB) 1355 1356config CMD_PXE 1357 bool "pxe" 1358 select MENU 1359 help 1360 Boot image via network using PXE protocol 1361 1362config CMD_WOL 1363 bool "wol" 1364 help 1365 Wait for wake-on-lan Magic Packet 1366 1367endif 1368 1369menu "Misc commands" 1370 1371config CMD_BMP 1372 bool "Enable 'bmp' command" 1373 depends on LCD || DM_VIDEO || VIDEO 1374 help 1375 This provides a way to obtain information about a BMP-format iamge 1376 and to display it. BMP (which presumably stands for BitMaP) is a 1377 file format defined by Microsoft which supports images of various 1378 depths, formats and compression methods. Headers on the file 1379 determine the formats used. This command can be used by first loading 1380 the image into RAM, then using this command to look at it or display 1381 it. 1382 1383config CMD_BOOTCOUNT 1384 bool "bootcount" 1385 depends on BOOTCOUNT_LIMIT 1386 help 1387 Enable the bootcount command, which allows interrogation and 1388 reset of the bootcounter. 1389 1390config CMD_BSP 1391 bool "Enable board-specific commands" 1392 help 1393 (deprecated: instead, please define a Kconfig option for each command) 1394 1395 Some boards have board-specific commands which are only enabled 1396 during developemnt and need to be turned off for production. This 1397 option provides a way to control this. The commands that are enabled 1398 vary depending on the board. 1399 1400config CMD_BKOPS_ENABLE 1401 bool "mmc bkops enable" 1402 depends on CMD_MMC 1403 default n 1404 help 1405 Enable command for setting manual background operations handshake 1406 on a eMMC device. The feature is optionally available on eMMC devices 1407 conforming to standard >= 4.41. 1408 1409config CMD_BLOCK_CACHE 1410 bool "blkcache - control and stats for block cache" 1411 depends on BLOCK_CACHE 1412 default y if BLOCK_CACHE 1413 help 1414 Enable the blkcache command, which can be used to control the 1415 operation of the cache functions. 1416 This is most useful when fine-tuning the operation of the cache 1417 during development, but also allows the cache to be disabled when 1418 it might hurt performance (e.g. when using the ums command). 1419 1420config CMD_CACHE 1421 bool "icache or dcache" 1422 help 1423 Enable the "icache" and "dcache" commands 1424 1425config CMD_CONITRACE 1426 bool "conitrace - trace console input codes" 1427 help 1428 Enable the 'conitrace' command which displays the codes received 1429 from the console input as hexadecimal numbers. 1430 1431config CMD_CLS 1432 bool "Enable clear screen command 'cls'" 1433 depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO 1434 default y if LCD 1435 help 1436 Enable the 'cls' command which clears the screen contents 1437 on video frame buffer. 1438 1439config CMD_DISPLAY 1440 bool "Enable the 'display' command, for character displays" 1441 help 1442 (this needs porting to driver model) 1443 This enables the 'display' command which allows a string to be 1444 displayed on a simple board-specific display. Implement 1445 display_putc() to use it. 1446 1447config CMD_EFIDEBUG 1448 bool "efidebug - display/configure UEFI environment" 1449 depends on EFI_LOADER 1450 default n 1451 help 1452 Enable the 'efidebug' command which provides a subset of UEFI 1453 shell utility with simplified functionality. It will be useful 1454 particularly for managing boot parameters as well as examining 1455 various EFI status for debugging. 1456 1457config CMD_LED 1458 bool "led" 1459 depends on LED 1460 default y if LED 1461 help 1462 Enable the 'led' command which allows for control of LEDs supported 1463 by the board. The LEDs can be listed with 'led list' and controlled 1464 with led on/off/togle/blink. Any LED drivers can be controlled with 1465 this command, e.g. led_gpio. 1466 1467config CMD_DATE 1468 bool "date" 1469 default y if DM_RTC 1470 help 1471 Enable the 'date' command for getting/setting the time/date in RTC 1472 devices. 1473 1474config CMD_TIME 1475 bool "time" 1476 help 1477 Run commands and summarize execution time. 1478 1479config CMD_GETTIME 1480 bool "gettime - read elapsed time" 1481 help 1482 Enable the 'gettime' command which reads the elapsed time since 1483 U-Boot started running. This shows the time in seconds and 1484 milliseconds. See also the 'bootstage' command which provides more 1485 flexibility for boot timing. 1486 1487# TODO: rename to CMD_SLEEP 1488config CMD_MISC 1489 bool "sleep" 1490 default y 1491 help 1492 Delay execution for some time 1493 1494config MP 1495 bool "support for multiprocessor" 1496 help 1497 This provides an option to brinup 1498 different processors in multiprocessor 1499 cases. 1500 1501config CMD_TIMER 1502 bool "timer" 1503 help 1504 Access the system timer. 1505 1506config CMD_SOUND 1507 bool "sound" 1508 depends on SOUND 1509 help 1510 This provides basic access to the U-Boot's sound support. The main 1511 feature is to play a beep. 1512 1513 sound init - set up sound system 1514 sound play - play a sound 1515 1516config CMD_QFW 1517 bool "qfw" 1518 select QFW 1519 help 1520 This provides access to the QEMU firmware interface. The main 1521 feature is to allow easy loading of files passed to qemu-system 1522 via -kernel / -initrd 1523 1524source "cmd/mvebu/Kconfig" 1525 1526config CMD_TERMINAL 1527 bool "terminal - provides a way to attach a serial terminal" 1528 help 1529 Provides a 'cu'-like serial terminal command. This can be used to 1530 access other serial ports from the system console. The terminal 1531 is very simple with no special processing of characters. As with 1532 cu, you can press ~. (tilde followed by period) to exit. 1533 1534config CMD_UUID 1535 bool "uuid, guid - generation of unique IDs" 1536 select LIB_UUID 1537 help 1538 This enables two commands: 1539 1540 uuid - generate random Universally Unique Identifier 1541 guid - generate Globally Unique Identifier based on random UUID 1542 1543 The two commands are very similar except for the endianness of the 1544 output. 1545 1546endmenu 1547 1548source "cmd/ti/Kconfig" 1549 1550config CMD_BOOTSTAGE 1551 bool "Enable the 'bootstage' command" 1552 depends on BOOTSTAGE 1553 help 1554 Add a 'bootstage' command which supports printing a report 1555 and un/stashing of bootstage data. 1556 1557menu "Power commands" 1558config CMD_PMIC 1559 bool "Enable Driver Model PMIC command" 1560 depends on DM_PMIC 1561 help 1562 This is the pmic command, based on a driver model pmic's API. 1563 Command features are unchanged: 1564 - list - list pmic devices 1565 - pmic dev <id> - show or [set] operating pmic device (NEW) 1566 - pmic dump - dump registers 1567 - pmic read address - read byte of register at address 1568 - pmic write address - write byte to register at address 1569 The only one change for this command is 'dev' subcommand. 1570 1571config CMD_REGULATOR 1572 bool "Enable Driver Model REGULATOR command" 1573 depends on DM_REGULATOR 1574 help 1575 This command is based on driver model regulator's API. 1576 User interface features: 1577 - list - list regulator devices 1578 - regulator dev <id> - show or [set] operating regulator device 1579 - regulator info - print constraints info 1580 - regulator status - print operating status 1581 - regulator value <val] <-f> - print/[set] voltage value [uV] 1582 - regulator current <val> - print/[set] current value [uA] 1583 - regulator mode <id> - print/[set] operating mode id 1584 - regulator enable - enable the regulator output 1585 - regulator disable - disable the regulator output 1586 1587 The '-f' (force) option can be used for set the value which exceeds 1588 the limits, which are found in device-tree and are kept in regulator's 1589 uclass platdata structure. 1590 1591endmenu 1592 1593menu "Security commands" 1594config CMD_AES 1595 bool "Enable the 'aes' command" 1596 select AES 1597 help 1598 This provides a means to encrypt and decrypt data using the AES 1599 (Advanced Encryption Standard). This algorithm uses a symetric key 1600 and is widely used as a streaming cipher. Different key lengths are 1601 supported by the algorithm but this command only supports 128 bits 1602 at present. 1603 1604config CMD_BLOB 1605 bool "Enable the 'blob' command" 1606 help 1607 This is used with the Freescale secure boot mechanism. 1608 1609 Freescale's SEC block has built-in Blob Protocol which provides 1610 a method for protecting user-defined data across system power 1611 cycles. SEC block protects data in a data structure called a Blob, 1612 which provides both confidentiality and integrity protection. 1613 1614 Encapsulating data as a blob 1615 Each time that the Blob Protocol is used to protect data, a 1616 different randomly generated key is used to encrypt the data. 1617 This random key is itself encrypted using a key which is derived 1618 from SoC's non-volatile secret key and a 16 bit Key identifier. 1619 The resulting encrypted key along with encrypted data is called a 1620 blob. The non-volatile secure key is available for use only during 1621 secure boot. 1622 1623 During decapsulation, the reverse process is performed to get back 1624 the original data. 1625 1626 Sub-commands: 1627 blob enc - encapsulating data as a cryptgraphic blob 1628 blob dec - decapsulating cryptgraphic blob to get the data 1629 1630 Syntax: 1631 1632 blob enc src dst len km 1633 1634 Encapsulate and create blob of data $len bytes long 1635 at address $src and store the result at address $dst. 1636 $km is the 16 byte key modifier is also required for 1637 generation/use as key for cryptographic operation. Key 1638 modifier should be 16 byte long. 1639 1640 blob dec src dst len km 1641 1642 Decapsulate the blob of data at address $src and 1643 store result of $len byte at addr $dst. 1644 $km is the 16 byte key modifier is also required for 1645 generation/use as key for cryptographic operation. Key 1646 modifier should be 16 byte long. 1647 1648config CMD_HASH 1649 bool "Support 'hash' command" 1650 select HASH 1651 help 1652 This provides a way to hash data in memory using various supported 1653 algorithms (such as SHA1, MD5, CRC32). The computed digest can be 1654 saved to memory or to an environment variable. It is also possible 1655 to verify a hash against data in memory. 1656 1657config CMD_HVC 1658 bool "Support the 'hvc' command" 1659 depends on ARM_SMCCC 1660 help 1661 Allows issuing Hypervisor Calls (HVCs). Mostly useful for 1662 development and testing. 1663 1664config CMD_SMC 1665 bool "Support the 'smc' command" 1666 depends on ARM_SMCCC 1667 help 1668 Allows issuing Secure Monitor Calls (SMCs). Mostly useful for 1669 development and testing. 1670 1671config HASH_VERIFY 1672 bool "hash -v" 1673 depends on CMD_HASH 1674 help 1675 Add -v option to verify data against a hash. 1676 1677config CMD_TPM_V1 1678 bool 1679 1680config CMD_TPM_V2 1681 bool 1682 select CMD_LOG 1683 1684config CMD_TPM 1685 bool "Enable the 'tpm' command" 1686 depends on TPM_V1 || TPM_V2 1687 select CMD_TPM_V1 if TPM_V1 1688 select CMD_TPM_V2 if TPM_V2 1689 help 1690 This provides a means to talk to a TPM from the command line. A wide 1691 range of commands if provided - see 'tpm help' for details. The 1692 command requires a suitable TPM on your board and the correct driver 1693 must be enabled. 1694 1695if CMD_TPM 1696 1697config CMD_TPM_TEST 1698 bool "Enable the 'tpm test' command" 1699 depends on TPM_V1 1700 help 1701 This provides a a series of tests to confirm that the TPMv1.x is 1702 working correctly. The tests cover initialisation, non-volatile RAM, 1703 extend, global lock and checking that timing is within expectations. 1704 The tests pass correctly on Infineon TPMs but may need to be adjusted 1705 for other devices. 1706 1707endif 1708 1709endmenu 1710 1711menu "Firmware commands" 1712config CMD_CROS_EC 1713 bool "Enable crosec command" 1714 depends on CROS_EC 1715 default y 1716 help 1717 Enable command-line access to the Chrome OS EC (Embedded 1718 Controller). This provides the 'crosec' command which has 1719 a number of sub-commands for performing EC tasks such as 1720 updating its flash, accessing a small saved context area 1721 and talking to the I2C bus behind the EC (if there is one). 1722endmenu 1723 1724menu "Filesystem commands" 1725config CMD_BTRFS 1726 bool "Enable the 'btrsubvol' command" 1727 select FS_BTRFS 1728 help 1729 This enables the 'btrsubvol' command to list subvolumes 1730 of a BTRFS filesystem. There are no special commands for 1731 listing BTRFS directories or loading BTRFS files - this 1732 can be done by the generic 'fs' commands (see CMD_FS_GENERIC) 1733 when BTRFS is enabled (see FS_BTRFS). 1734 1735config CMD_CBFS 1736 bool "Enable the 'cbfs' command" 1737 depends on FS_CBFS 1738 help 1739 Define this to enable support for reading from a Coreboot 1740 filesystem. This is a ROM-based filesystem used for accessing files 1741 on systems that use coreboot as the first boot-loader and then load 1742 U-Boot to actually boot the Operating System. Available commands are 1743 cbfsinit, cbfsinfo, cbfsls and cbfsload. 1744 1745config CMD_CRAMFS 1746 bool "Enable the 'cramfs' command" 1747 depends on FS_CRAMFS 1748 help 1749 This provides commands for dealing with CRAMFS (Compressed ROM 1750 filesystem). CRAMFS is useful when space is tight since files are 1751 compressed. Two commands are provided: 1752 1753 cramfsls - lists files in a cramfs image 1754 cramfsload - loads a file from a cramfs image 1755 1756config CMD_EXT2 1757 bool "ext2 command support" 1758 select FS_EXT4 1759 help 1760 Enables EXT2 FS command 1761 1762config CMD_EXT4 1763 bool "ext4 command support" 1764 select FS_EXT4 1765 help 1766 Enables EXT4 FS command 1767 1768config CMD_EXT4_WRITE 1769 depends on CMD_EXT4 1770 bool "ext4 write command support" 1771 select EXT4_WRITE 1772 help 1773 Enables EXT4 FS write command 1774 1775config CMD_FAT 1776 bool "FAT command support" 1777 select FS_FAT 1778 help 1779 Support for the FAT fs 1780 1781config CMD_FS_GENERIC 1782 bool "filesystem commands" 1783 help 1784 Enables filesystem commands (e.g. load, ls) that work for multiple 1785 fs types. 1786 1787config CMD_FS_UUID 1788 bool "fsuuid command" 1789 help 1790 Enables fsuuid command for filesystem UUID. 1791 1792config CMD_JFFS2 1793 bool "jffs2 command" 1794 select FS_JFFS2 1795 help 1796 Enables commands to support the JFFS2 (Journalling Flash File System 1797 version 2) filesystem. This enables fsload, ls and fsinfo which 1798 provide the ability to load files, list directories and obtain 1799 filesystem information. 1800 1801config CMD_MTDPARTS 1802 bool "MTD partition support" 1803 select MTD_DEVICE if (CMD_NAND || NAND) 1804 help 1805 MTD partitioning tool support. 1806 It is strongly encouraged to avoid using this command 1807 anymore along with 'sf', 'nand', 'onenand'. One can still 1808 declare the partitions in the mtdparts environment variable 1809 but better use the MTD stack and the 'mtd' command instead. 1810 1811config MTDIDS_DEFAULT 1812 string "Default MTD IDs" 1813 depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH 1814 help 1815 Defines a default MTD IDs list for use with MTD partitions in the 1816 Linux MTD command line partitions format. 1817 1818config MTDPARTS_DEFAULT 1819 string "Default MTD partition scheme" 1820 depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH 1821 help 1822 Defines a default MTD partitioning scheme in the Linux MTD command 1823 line partitions format 1824 1825config CMD_MTDPARTS_SPREAD 1826 bool "Padd partition size to take account of bad blocks" 1827 depends on CMD_MTDPARTS 1828 help 1829 This enables the 'spread' sub-command of the mtdparts command. 1830 This command will modify the existing mtdparts variable by increasing 1831 the size of the partitions such that 1) each partition's net size is 1832 at least as large as the size specified in the mtdparts variable and 1833 2) each partition starts on a good block. 1834 1835config CMD_REISER 1836 bool "reiser - Access to reiserfs filesystems" 1837 help 1838 This provides two commands which operate on a resierfs filesystem, 1839 commonly used some years ago: 1840 1841 reiserls - list files 1842 reiserload - load a file 1843 1844config CMD_YAFFS2 1845 bool "yaffs2 - Access of YAFFS2 filesystem" 1846 depends on YAFFS2 1847 default y 1848 help 1849 This provides commands for accessing a YAFFS2 filesystem. Yet 1850 Another Flash Filesystem 2 is a filesystem designed specifically 1851 for NAND flash. It incorporates bad-block management and ensures 1852 that device writes are sequential regardless of filesystem 1853 activity. 1854 1855config CMD_ZFS 1856 bool "zfs - Access of ZFS filesystem" 1857 help 1858 This provides commands to accessing a ZFS filesystem, commonly used 1859 on Solaris systems. Two sub-commands are provided: 1860 1861 zfsls - list files in a directory 1862 zfsload - load a file 1863 1864 See doc/README.zfs for more details. 1865 1866endmenu 1867 1868menu "Debug commands" 1869 1870config CMD_BEDBUG 1871 bool "bedbug" 1872 help 1873 The bedbug (emBEDded deBUGger) command provides debugging features 1874 for some PowerPC processors. For details please see the 1875 docuemntation in doc/README.beddbug 1876 1877config CMD_DIAG 1878 bool "diag - Board diagnostics" 1879 help 1880 This command provides access to board diagnostic tests. These are 1881 called Power-on Self Tests (POST). The command allows listing of 1882 available tests and running either all the tests, or specific tests 1883 identified by name. 1884 1885config CMD_IRQ 1886 bool "irq - Show information about interrupts" 1887 depends on !ARM && !MIPS && !SH 1888 help 1889 This enables two commands: 1890 1891 interrupts - enable or disable interrupts 1892 irqinfo - print device-specific interrupt information 1893 1894config CMD_KGDB 1895 bool "kgdb - Allow debugging of U-Boot with gdb" 1896 depends on PPC 1897 help 1898 This enables a 'kgdb' command which allows gdb to connect to U-Boot 1899 over a serial link for debugging purposes. This allows 1900 single-stepping, inspecting variables, etc. This is supported only 1901 on PowerPC at present. 1902 1903config CMD_LOG 1904 bool "log - Generation, control and access to logging" 1905 select LOG 1906 help 1907 This provides access to logging features. It allows the output of 1908 log data to be controlled to a limited extent (setting up the default 1909 maximum log level for emitting of records). It also provides access 1910 to a command used for testing the log system. 1911 1912config CMD_TRACE 1913 bool "trace - Support tracing of function calls and timing" 1914 help 1915 Enables a command to control using of function tracing within 1916 U-Boot. This allows recording of call traces including timing 1917 information. The command can write data to memory for exporting 1918 for analsys (e.g. using bootchart). See doc/README.trace for full 1919 details. 1920 1921config CMD_AVB 1922 bool "avb - Android Verified Boot 2.0 operations" 1923 depends on AVB_VERIFY 1924 default n 1925 help 1926 Enables a "avb" command to perform verification of partitions using 1927 Android Verified Boot 2.0 functionality. It includes such subcommands: 1928 avb init - initialize avb2 subsystem 1929 avb read_rb - read rollback index 1930 avb write_rb - write rollback index 1931 avb is_unlocked - check device lock state 1932 avb get_uuid - read and print uuid of a partition 1933 avb read_part - read data from partition 1934 avb read_part_hex - read data from partition and output to stdout 1935 avb write_part - write data to partition 1936 avb verify - run full verification chain 1937endmenu 1938 1939config CMD_UBI 1940 tristate "Enable UBI - Unsorted block images commands" 1941 select CRC32 1942 select MTD_UBI 1943 help 1944 UBI is a software layer above MTD layer which admits use of LVM-like 1945 logical volumes on top of MTD devices, hides some complexities of 1946 flash chips like wear and bad blocks and provides some other useful 1947 capabilities. Please, consult the MTD web site for more details 1948 (www.linux-mtd.infradead.org). Activate this option if you want 1949 to use U-Boot UBI commands. 1950 It is also strongly encouraged to also enable CONFIG_MTD to get full 1951 partition support. 1952 1953config CMD_UBIFS 1954 tristate "Enable UBIFS - Unsorted block images filesystem commands" 1955 depends on CMD_UBI 1956 default y if CMD_UBI 1957 select CRC32 1958 select LZO 1959 help 1960 UBIFS is a file system for flash devices which works on top of UBI. 1961 1962source "cmd/aspeed/Kconfig" 1963 1964endmenu 1965