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