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