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