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