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 SYS_PROMPT 27 string "Shell prompt" 28 default "=> " 29 help 30 This string is displayed in the command line to the left of the 31 cursor. 32 33menu "Autoboot options" 34 35config AUTOBOOT 36 bool "Autoboot" 37 default y 38 help 39 This enables the autoboot. See doc/README.autoboot for detail. 40 41config AUTOBOOT_KEYED 42 bool "Stop autobooting via specific input key / string" 43 default n 44 help 45 This option enables stopping (aborting) of the automatic 46 boot feature only by issuing a specific input key or 47 string. If not enabled, any input key will abort the 48 U-Boot automatic booting process and bring the device 49 to the U-Boot prompt for user input. 50 51config AUTOBOOT_PROMPT 52 string "Autoboot stop prompt" 53 depends on AUTOBOOT_KEYED 54 default "Autoboot in %d seconds\\n" 55 help 56 This string is displayed before the boot delay selected by 57 CONFIG_BOOTDELAY starts. If it is not defined there is no 58 output indicating that autoboot is in progress. 59 60 Note that this define is used as the (only) argument to a 61 printf() call, so it may contain '%' format specifications, 62 provided that it also includes, sepearated by commas exactly 63 like in a printf statement, the required arguments. It is 64 the responsibility of the user to select only such arguments 65 that are valid in the given context. 66 67config AUTOBOOT_ENCRYPTION 68 bool "Enable encryption in autoboot stopping" 69 depends on AUTOBOOT_KEYED 70 default n 71 72config AUTOBOOT_DELAY_STR 73 string "Delay autobooting via specific input key / string" 74 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 75 help 76 This option delays the automatic boot feature by issuing 77 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR 78 or the environment variable "bootdelaykey" is specified 79 and this string is received from console input before 80 autoboot starts booting, U-Boot gives a command prompt. The 81 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is 82 used, otherwise it never times out. 83 84config AUTOBOOT_STOP_STR 85 string "Stop autobooting via specific input key / string" 86 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 87 help 88 This option enables stopping (aborting) of the automatic 89 boot feature only by issuing a specific input key or 90 string. If CONFIG_AUTOBOOT_STOP_STR or the environment 91 variable "bootstopkey" is specified and this string is 92 received from console input before autoboot starts booting, 93 U-Boot gives a command prompt. The U-Boot prompt never 94 times out, even if CONFIG_BOOT_RETRY_TIME is used. 95 96config AUTOBOOT_KEYED_CTRLC 97 bool "Enable Ctrl-C autoboot interruption" 98 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 99 default n 100 help 101 This option allows for the boot sequence to be interrupted 102 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". 103 Setting this variable provides an escape sequence from the 104 limited "password" strings. 105 106config AUTOBOOT_STOP_STR_SHA256 107 string "Stop autobooting via SHA256 encrypted password" 108 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION 109 help 110 This option adds the feature to only stop the autobooting, 111 and therefore boot into the U-Boot prompt, when the input 112 string / password matches a values that is encypted via 113 a SHA256 hash and saved in the environment. 114 115endmenu 116 117source "cmd/fastboot/Kconfig" 118 119config BUILD_BIN2C 120 bool 121 122comment "Commands" 123 124menu "Info commands" 125 126config CMD_BDI 127 bool "bdinfo" 128 default y 129 help 130 Print board info 131 132config CMD_CONFIG 133 bool "config" 134 select BUILD_BIN2C 135 default SANDBOX 136 help 137 Print ".config" contents. 138 139 If this option is enabled, the ".config" file contents are embedded 140 in the U-Boot image and can be printed on the console by the "config" 141 command. This provides information of which options are enabled on 142 the running U-Boot. 143 144config CMD_CONSOLE 145 bool "coninfo" 146 default y 147 help 148 Print console devices and information. 149 150config CMD_CPU 151 bool "cpu" 152 help 153 Print information about available CPUs. This normally shows the 154 number of CPUs, type (e.g. manufacturer, architecture, product or 155 internal name) and clock frequency. Other information may be 156 available depending on the CPU driver. 157 158config CMD_LICENSE 159 bool "license" 160 select BUILD_BIN2C 161 help 162 Print GPL license text 163 164config CMD_REGINFO 165 bool "reginfo" 166 depends on PPC 167 help 168 Register dump 169 170endmenu 171 172menu "Boot commands" 173 174config CMD_BOOTD 175 bool "bootd" 176 default y 177 help 178 Run the command stored in the environment "bootcmd", i.e. 179 "bootd" does the same thing as "run bootcmd". 180 181config CMD_BOOTM 182 bool "bootm" 183 default y 184 help 185 Boot an application image from the memory. 186 187config CMD_BOOTZ 188 bool "bootz" 189 help 190 Boot the Linux zImage 191 192config CMD_BOOTI 193 bool "booti" 194 depends on ARM64 195 default y 196 help 197 Boot an AArch64 Linux Kernel image from memory. 198 199config CMD_BOOTEFI 200 bool "bootefi" 201 depends on EFI_LOADER 202 default y 203 help 204 Boot an EFI image from memory. 205 206config CMD_BOOTEFI_HELLO_COMPILE 207 bool "Compile a standard EFI hello world binary for testing" 208 depends on CMD_BOOTEFI && (ARM || X86) 209 default y 210 help 211 This compiles a standard EFI hello world application with U-Boot so 212 that it can be used with the test/py testing framework. This is useful 213 for testing that EFI is working at a basic level, and for bringing 214 up EFI support on a new architecture. 215 216 No additional space will be required in the resulting U-Boot binary 217 when this option is enabled. 218 219config CMD_BOOTEFI_HELLO 220 bool "Allow booting a standard EFI hello world for testing" 221 depends on CMD_BOOTEFI_HELLO_COMPILE 222 help 223 This adds a standard EFI hello world application to U-Boot so that 224 it can be used with the 'bootefi hello' command. This is useful 225 for testing that EFI is working at a basic level, and for bringing 226 up EFI support on a new architecture. 227 228config CMD_BOOTMENU 229 bool "bootmenu" 230 select MENU 231 help 232 Add an ANSI terminal boot menu command. 233 234config CMD_ELF 235 bool "bootelf, bootvx" 236 default y 237 help 238 Boot an ELF/vxWorks image from the memory. 239 240config CMD_FDT 241 bool "Flattened Device Tree utility commands" 242 default y 243 depends on OF_LIBFDT 244 help 245 Do FDT related setup before booting into the Operating System. 246 247config CMD_GO 248 bool "go" 249 default y 250 help 251 Start an application at a given address. 252 253config CMD_RUN 254 bool "run" 255 default y 256 help 257 Run the command in the given environment variable. 258 259config CMD_IMI 260 bool "iminfo" 261 default y 262 help 263 Print header information for application image. 264 265config CMD_IMLS 266 bool "imls" 267 default y 268 help 269 List all images found in flash 270 271config CMD_XIMG 272 bool "imxtract" 273 default y 274 help 275 Extract a part of a multi-image. 276 277config CMD_POWEROFF 278 bool "poweroff" 279 help 280 Poweroff/Shutdown the system 281 282config CMD_SPL 283 bool "spl export - Export boot information for Falcon boot" 284 depends on SPL 285 help 286 Falcon mode allows booting directly from SPL into an Operating 287 System such as Linux, thus skipping U-Boot proper. See 288 doc/README.falcon for full information about how to use this 289 command. 290 291config CMD_SPL_NAND_OFS 292 hex "Offset of OS command line args for Falcon-mode NAND boot" 293 depends on CMD_SPL 294 default 0 295 help 296 This provides the offset of the command line arguments for Linux 297 when booting from NAND in Falcon mode. See doc/README.falcon 298 for full information about how to use this option (and also see 299 board/gateworks/gw_ventana/README for an example). 300 301config CMD_SPL_WRITE_SIZE 302 hex "Size of argument area" 303 depends on CMD_SPL 304 default 0x2000 305 help 306 This provides the size of the command-line argument area in NAND 307 flash used by Falcon-mode boot. See the documentation until CMD_SPL 308 for detail. 309 310config CMD_THOR_DOWNLOAD 311 bool "thor - TIZEN 'thor' download" 312 help 313 Implements the 'thor' download protocol. This is a way of 314 downloading a software update over USB from an attached host. 315 There is no documentation about this within the U-Boot source code 316 but you should be able to find something on the interwebs. 317 318config CMD_ZBOOT 319 bool "zboot - x86 boot command" 320 help 321 With x86 machines it is common to boot a bzImage file which 322 contains both a kernel and a setup.bin file. The latter includes 323 configuration information from the dark ages which x86 boards still 324 need to pick things out of. 325 326 Consider using FIT in preference to this since it supports directly 327 booting both 32- and 64-bit kernels, as well as secure boot. 328 Documentation is available in doc/uImage.FIT/x86-fit-boot.txt 329 330endmenu 331 332menu "Environment commands" 333 334config CMD_ASKENV 335 bool "ask for env variable" 336 help 337 Ask for environment variable 338 339config CMD_EXPORTENV 340 bool "env export" 341 default y 342 help 343 Export environments. 344 345config CMD_IMPORTENV 346 bool "env import" 347 default y 348 help 349 Import environments. 350 351config CMD_EDITENV 352 bool "editenv" 353 default y 354 help 355 Edit environment variable. 356 357config CMD_GREPENV 358 bool "search env" 359 help 360 Allow for searching environment variables 361 362config CMD_SAVEENV 363 bool "saveenv" 364 default y 365 help 366 Save all environment variables into the compiled-in persistent 367 storage. 368 369config CMD_ENV_EXISTS 370 bool "env exists" 371 default y 372 help 373 Check if a variable is defined in the environment for use in 374 shell scripting. 375 376config CMD_ENV_CALLBACK 377 bool "env callbacks - print callbacks and their associated variables" 378 help 379 Some environment variable have callbacks defined by 380 U_BOOT_ENV_CALLBACK. These are called when the variable changes. 381 For example changing "baudrate" adjust the serial baud rate. This 382 command lists the currently defined callbacks. 383 384config CMD_ENV_FLAGS 385 bool "env flags -print variables that have non-default flags" 386 help 387 Some environment variables have special flags that control their 388 behaviour. For example, serial# can only be written once and cannot 389 be deleted. This command shows the variables that have special 390 flags. 391 392endmenu 393 394menu "Memory commands" 395 396config CMD_CRC32 397 bool "crc32" 398 select HASH 399 default y 400 help 401 Compute CRC32. 402 403config CRC32_VERIFY 404 bool "crc32 -v" 405 depends on CMD_CRC32 406 help 407 Add -v option to verify data against a crc32 checksum. 408 409config CMD_EEPROM 410 bool "eeprom - EEPROM subsystem" 411 help 412 (deprecated, needs conversion to driver model) 413 Provides commands to read and write EEPROM (Electrically Erasable 414 Programmable Read Only Memory) chips that are connected over an 415 I2C bus. 416 417config CMD_EEPROM_LAYOUT 418 bool "Enable layout-aware eeprom commands" 419 depends on CMD_EEPROM 420 help 421 (deprecated, needs conversion to driver model) 422 When enabled, additional eeprom sub-commands become available. 423 424 eeprom print - prints the contents of the eeprom in a human-readable 425 way (eeprom layout fields, and data formatted to be fit for human 426 consumption). 427 428 eeprom update - allows user to update eeprom fields by specifying 429 the field name, and providing the new data in a human readable format 430 (same format as displayed by the eeprom print command). 431 432 Both commands can either auto detect the layout, or be told which 433 layout to use. 434 435 Feature API: 436 __weak int parse_layout_version(char *str) 437 - override to provide your own layout name parsing 438 __weak void __eeprom_layout_assign(struct eeprom_layout *layout, 439 int layout_version); 440 - override to setup the layout metadata based on the version 441 __weak int eeprom_layout_detect(unsigned char *data) 442 - override to provide your own algorithm for detecting layout 443 version 444 eeprom_field.c 445 - contains various printing and updating functions for common 446 types of eeprom fields. Can be used for defining 447 custom layouts. 448 449config EEPROM_LAYOUT_HELP_STRING 450 string "Tells user what layout names are supported" 451 depends on CMD_EEPROM_LAYOUT 452 default "<not defined>" 453 help 454 Help printed with the LAYOUT VERSIONS part of the 'eeprom' 455 command's help. 456 457config LOOPW 458 bool "loopw" 459 help 460 Infinite write loop on address range 461 462config CMD_MD5SUM 463 bool "md5sum" 464 default n 465 select MD5 466 help 467 Compute MD5 checksum. 468 469config MD5SUM_VERIFY 470 bool "md5sum -v" 471 default n 472 depends on CMD_MD5SUM 473 help 474 Add -v option to verify data against an MD5 checksum. 475 476config CMD_MEMINFO 477 bool "meminfo" 478 help 479 Display memory information. 480 481config CMD_MEMORY 482 bool "md, mm, nm, mw, cp, cmp, base, loop" 483 default y 484 help 485 Memory commands. 486 md - memory display 487 mm - memory modify (auto-incrementing address) 488 nm - memory modify (constant address) 489 mw - memory write (fill) 490 cp - memory copy 491 cmp - memory compare 492 base - print or set address offset 493 loop - initialize loop on address range 494 495config CMD_MEMTEST 496 bool "memtest" 497 help 498 Simple RAM read/write test. 499 500config CMD_MX_CYCLIC 501 bool "mdc, mwc" 502 help 503 mdc - memory display cyclic 504 mwc - memory write cyclic 505 506config CMD_SHA1SUM 507 bool "sha1sum" 508 select SHA1 509 help 510 Compute SHA1 checksum. 511 512config SHA1SUM_VERIFY 513 bool "sha1sum -v" 514 depends on CMD_SHA1SUM 515 help 516 Add -v option to verify data against a SHA1 checksum. 517 518config CMD_STRINGS 519 bool "strings - display strings in memory" 520 help 521 This works similarly to the Unix 'strings' command except that it 522 works with a memory range. String of printable characters found 523 within the range are displayed. The minimum number of characters 524 for a sequence to be considered a string can be provided. 525 526endmenu 527 528menu "Compression commands" 529 530config CMD_LZMADEC 531 bool "lzmadec" 532 default y if CMD_BOOTI 533 select LZMA 534 help 535 Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm) 536 image from memory. 537 538config CMD_UNZIP 539 bool "unzip" 540 default y if CMD_BOOTI 541 help 542 Uncompress a zip-compressed memory region. 543 544config CMD_ZIP 545 bool "zip" 546 help 547 Compress a memory region with zlib deflate method. 548 549endmenu 550 551menu "Device access commands" 552 553config CMD_ARMFLASH 554 #depends on FLASH_CFI_DRIVER 555 bool "armflash" 556 help 557 ARM Ltd reference designs flash partition access 558 559config CMD_CLK 560 bool "clk - Show clock frequencies" 561 help 562 (deprecated) 563 Shows clock frequences by calling a sock_clk_dump() hook function. 564 This is depreated in favour of using the CLK uclass and accessing 565 clock values from associated drivers. However currently no command 566 exists for this. 567 568config CMD_DEMO 569 bool "demo - Demonstration commands for driver model" 570 depends on DM 571 help 572 Provides a 'demo' command which can be used to play around with 573 driver model. To use this properly you will need to enable one or 574 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE). 575 Otherwise you will always get an empty list of devices. The demo 576 devices are defined in the sandbox device tree, so the easiest 577 option is to use sandbox and pass the -d point to sandbox's 578 u-boot.dtb file. 579 580config CMD_DFU 581 bool "dfu" 582 select USB_FUNCTION_DFU 583 help 584 Enables the command "dfu" which is used to have U-Boot create a DFU 585 class device via USB. This command requires that the "dfu_alt_info" 586 environment variable be set and define the alt settings to expose to 587 the host. 588 589config CMD_DM 590 bool "dm - Access to driver model information" 591 depends on DM 592 default y 593 help 594 Provides access to driver model data structures and information, 595 such as a list of devices, list of uclasses and the state of each 596 device (e.g. activated). This is not required for operation, but 597 can be useful to see the state of driver model for debugging or 598 interest. 599 600config CMD_FDC 601 bool "fdcboot - Boot from floppy device" 602 help 603 The 'fdtboot' command allows booting an image from a floppy disk. 604 605config CMD_FLASH 606 bool "flinfo, erase, protect" 607 default y 608 help 609 NOR flash support. 610 flinfo - print FLASH memory information 611 erase - FLASH memory 612 protect - enable or disable FLASH write protection 613 614config CMD_FPGA 615 bool "fpga" 616 default y 617 help 618 FPGA support. 619 620config CMD_FPGA_LOADBP 621 bool "fpga loadbp - load partial bitstream (Xilinx only)" 622 depends on CMD_FPGA 623 help 624 Supports loading an FPGA device from a bitstream buffer containing 625 a partial bitstream. 626 627config CMD_FPGA_LOADFS 628 bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)" 629 depends on CMD_FPGA 630 help 631 Supports loading an FPGA device from a FAT filesystem. 632 633config CMD_FPGA_LOADMK 634 bool "fpga loadmk - load bitstream from image" 635 depends on CMD_FPGA 636 help 637 Supports loading an FPGA device from a image generated by mkimage. 638 639config CMD_FPGA_LOADP 640 bool "fpga loadp - load partial bitstream" 641 depends on CMD_FPGA 642 help 643 Supports loading an FPGA device from a bitstream buffer containing 644 a partial bitstream. 645 646config CMD_FPGAD 647 bool "fpgad - dump FPGA registers" 648 help 649 (legacy, needs conversion to driver model) 650 Provides a way to dump FPGA registers by calling the board-specific 651 fpga_get_reg() function. This functions similarly to the 'md' 652 command. 653 654config CMD_FUSE 655 bool "fuse - support for the fuse subssystem" 656 help 657 (deprecated - needs conversion to driver model) 658 This allows reading, sensing, programming or overriding fuses 659 which control the behaviour of the device. The command uses the 660 fuse_...() API. 661 662config CMD_GPIO 663 bool "gpio" 664 help 665 GPIO support. 666 667config CMD_GPT 668 bool "GPT (GUID Partition Table) command" 669 select PARTITION_UUIDS 670 select EFI_PARTITION 671 imply RANDOM_UUID 672 help 673 Enable the 'gpt' command to ready and write GPT style partition 674 tables. 675 676config RANDOM_UUID 677 bool "GPT Random UUID generation" 678 help 679 Enable the generation of partitions with random UUIDs if none 680 are provided. 681 682config CMD_GPT_RENAME 683 bool "GPT partition renaming commands" 684 depends on CMD_GPT 685 help 686 Enables the 'gpt' command to interchange names on two GPT 687 partitions via the 'gpt swap' command or to rename single 688 partitions via the 'rename' command. 689 690config CMD_IDE 691 bool "ide - Support for IDE drivers" 692 select IDE 693 help 694 Provides an 'ide' command which allows accessing the IDE drive, 695 reseting the IDE interface, printing the partition table and 696 geting device info. It also enables the 'diskboot' command which 697 permits booting from an IDE drive. 698 699config CMD_IO 700 bool "io - Support for performing I/O accesses" 701 help 702 Provides an 'iod' command to display I/O space and an 'iow' command 703 to write values to the I/O space. This can be useful for manually 704 checking the state of devices during boot when debugging device 705 drivers, etc. 706 707config CMD_IOTRACE 708 bool "iotrace - Support for tracing I/O activity" 709 help 710 Provides an 'iotrace' command which supports recording I/O reads and 711 writes in a trace buffer in memory . It also maintains a checksum 712 of the trace records (even if space is exhausted) so that the 713 sequence of I/O accesses can be verified. 714 715 When debugging drivers it is useful to see what I/O accesses were 716 done and in what order. 717 718 Even if the individual accesses are of little interest it can be 719 useful to verify that the access pattern is consistent each time 720 an operation is performed. In this case a checksum can be used to 721 characterise the operation of a driver. The checksum can be compared 722 across different runs of the operation to verify that the driver is 723 working properly. 724 725 In particular, when performing major refactoring of the driver, where 726 the access pattern should not change, the checksum provides assurance 727 that the refactoring work has not broken the driver. 728 729 This works by sneaking into the io.h heder for an architecture and 730 redirecting I/O accesses through iotrace's tracing mechanism. 731 732 For now no commands are provided to examine the trace buffer. The 733 format is fairly simple, so 'md' is a reasonable substitute. 734 735 Note: The checksum feature is only useful for I/O regions where the 736 contents do not change outside of software control. Where this is not 737 suitable you can fall back to manually comparing the addresses. It 738 might be useful to enhance tracing to only checksum the accesses and 739 not the data read/written. 740 741config CMD_I2C 742 bool "i2c" 743 help 744 I2C support. 745 746config CMD_LOADB 747 bool "loadb" 748 default y 749 help 750 Load a binary file over serial line. 751 752config CMD_LOADS 753 bool "loads" 754 default y 755 help 756 Load an S-Record file over serial line 757 758config CMD_LOAD_ANDROID 759 bool "load_android" 760 default n 761 depends on ANDROID_BOOT_IMAGE 762 help 763 Load an Android Boot image from storage. The Android Boot images 764 define the size and kernel address on the header, which are used by 765 this command. 766 767config CMD_BOOT_ANDROID 768 bool "boot_android" 769 default n 770 depends on ANDROID_BOOTLOADER 771 help 772 Performs the Android Bootloader boot flow, loading the appropriate 773 Android image (normal kernel, recovery kernel or "bootloader" mode) 774 and booting it. The boot mode is determined by the contents of the 775 Android Bootloader Message. 776 777config CMD_ANDROID_AB_SELECT 778 bool "android_ab_select" 779 default n 780 depends on ANDROID_AB 781 help 782 On Android devices with more than one boot slot (multiple copies of 783 the kernel and system images) this provides a command to select which 784 slot should be used to boot from and register the boot attempt. This 785 is used by the new A/B update model where one slot is updated in the 786 background while running from the other slot. 787 788config CMD_BOOT_ROCKCHIP 789 bool "boot_rockchip" 790 default n 791 depends on RKIMG_BOOTLOADER 792 help 793 Performs the Rockchip Bootloader boot flow, loading the appropriate 794 Rockchip image (normal kernel, boot, resource and revocery) 795 and booting it. The boot mode is determined by the contents of the 796 Rockchip bootloader helper. 797 798config CMD_MMC 799 bool "mmc" 800 help 801 MMC memory mapped support. 802 803config CMD_NAND 804 bool "nand" 805 default y if NAND_SUNXI 806 help 807 NAND support. 808 809if CMD_NAND 810config CMD_NAND_TRIMFFS 811 bool "nand write.trimffs" 812 default y if ARCH_SUNXI 813 help 814 Allows one to skip empty pages when flashing something on a NAND. 815 816config CMD_NAND_LOCK_UNLOCK 817 bool "nand lock/unlock" 818 help 819 NAND locking support. 820 821config CMD_NAND_TORTURE 822 bool "nand torture" 823 help 824 NAND torture support. 825 826endif # CMD_NAND 827 828config CMD_NVME 829 bool "nvme" 830 depends on NVME 831 default y if NVME 832 help 833 NVM Express device support 834 835config CMD_MMC_SPI 836 bool "mmc_spi - Set up MMC SPI device" 837 help 838 Provides a way to set up an MMC (Multimedia Card) SPI (Serial 839 Peripheral Interface) device. The device provides a means of 840 accessing an MMC device via SPI using a single data line, limited 841 to 20MHz. It is useful since it reduces the amount of protocol code 842 required. 843 844config CMD_ONENAND 845 bool "onenand - access to onenand device" 846 help 847 OneNAND is a brand of NAND ('Not AND' gate) flash which provides 848 various useful features. This command allows reading, writing, 849 and erasing blocks. It allso provides a way to show and change 850 bad blocks, and test the device. 851 852config CMD_PART 853 bool "part" 854 select PARTITION_UUIDS 855 help 856 Read and display information about the partition table on 857 various media. 858 859config CMD_PCI 860 bool "pci - Access PCI devices" 861 help 862 Provide access to PCI (Peripheral Interconnect Bus), a type of bus 863 used on some devices to allow the CPU to communicate with its 864 peripherals. Sub-commands allow bus enumeration, displaying and 865 changing configuration space and a few other features. 866 867config CMD_PCMCIA 868 bool "pinit - Set up PCMCIA device" 869 help 870 Provides a means to initialise a PCMCIA (Personal Computer Memory 871 Card International Association) device. This is an old standard from 872 about 1990. These devices are typically removable memory or network 873 cards using a standard 68-pin connector. 874 875config CMD_READ 876 bool "read - Read binary data from a partition" 877 help 878 Provides low-level access to the data in a partition. 879 880config CMD_REMOTEPROC 881 bool "remoteproc" 882 depends on REMOTEPROC 883 help 884 Support for Remote Processor control 885 886config CMD_ROCKUSB 887 bool "rockusb - Command to upgrade Rockchip device" 888 depends on USB_GADGET 889 help 890 Rockusb command provides a way to upgrade firmware for 891 Rockchip SoC based devices, its design make use of USB 892 Bulk-Only Transport based on UMS framework. 893 894config CMD_RKNAND 895 bool "rknand" 896 depends on RKNAND 897 default y if RKNAND 898 help 899 Rockchip NAND FLASH device support 900 901config CMD_RKSFC 902 bool "rksfc" 903 depends on (RKSFC_NOR || RKSFC_NAND) 904 default y if (RKSFC_NOR || RKSFC_NAND) 905 help 906 Rockchip SFC device support 907 908config CMD_SATA 909 bool "sata - Access SATA subsystem" 910 select SATA 911 help 912 SATA (Serial Advanced Technology Attachment) is a serial bus 913 standard for connecting to hard drives and other storage devices. 914 This command provides information about attached devices and allows 915 reading, writing and other operations. 916 917 SATA replaces PATA (originally just ATA), which stands for Parallel AT 918 Attachment, where AT refers to an IBM AT (Advanced Technology) 919 computer released in 1984. 920 921config CMD_SAVES 922 bool "saves - Save a file over serial in S-Record format" 923 help 924 Provides a way to save a binary file using the Motorola S-Record 925 format over the serial line. 926 927config CMD_SDRAM 928 bool "sdram - Print SDRAM configuration information" 929 help 930 Provides information about attached SDRAM. This assumed that the 931 SDRAM has an EEPROM with information that can be read using the 932 I2C bus. This is only available on some boards. 933 934config CMD_SF 935 bool "sf" 936 help 937 SPI Flash support 938 939config CMD_SF_TEST 940 bool "sf test - Allow testing of SPI flash" 941 help 942 Provides a way to test that SPI flash is working correctly. The 943 test is destructive, in that an area of SPI flash must be provided 944 for the test to use. Performance information is also provided, 945 measuring the performance of reading, writing and erasing in 946 Mbps (Million Bits Per Second). This value should approximately 947 equal the SPI bus speed for a single-bit-wide SPI bus, assuming 948 everything is working properly. 949 950config CMD_SPI 951 bool "sspi" 952 help 953 SPI utility command. 954 955config CMD_TSI148 956 bool "tsi148 - Command to access tsi148 device" 957 help 958 This provides various sub-commands to initialise and configure the 959 Turndra tsi148 device. See the command help for full details. 960 961config CMD_UNIVERSE 962 bool "universe - Command to set up the Turndra Universe controller" 963 help 964 This allows setting up the VMEbus provided by this controller. 965 See the command help for full details. 966 967config CMD_USB 968 bool "usb" 969 help 970 USB support. 971 972config CMD_USB_SDP 973 bool "sdp" 974 select USB_FUNCTION_SDP 975 help 976 Enables the command "sdp" which is used to have U-Boot emulating the 977 Serial Download Protocol (SDP) via USB. 978 979config CMD_USB_MASS_STORAGE 980 bool "UMS usb mass storage" 981 help 982 USB mass storage support 983 984endmenu 985 986 987menu "Shell scripting commands" 988 989config CMD_ECHO 990 bool "echo" 991 default y 992 help 993 Echo args to console 994 995config CMD_ITEST 996 bool "itest" 997 default y 998 help 999 Return true/false on integer compare. 1000 1001config CMD_SOURCE 1002 bool "source" 1003 default y 1004 help 1005 Run script from memory 1006 1007config CMD_SETEXPR 1008 bool "setexpr" 1009 default y 1010 help 1011 Evaluate boolean and math expressions and store the result in an env 1012 variable. 1013 Also supports loading the value at a memory location into a variable. 1014 If CONFIG_REGEX is enabled, setexpr also supports a gsub function. 1015 1016endmenu 1017 1018menu "Network commands" 1019 1020config CMD_NET 1021 bool "bootp, tftpboot" 1022 select NET 1023 default y 1024 help 1025 Network commands. 1026 bootp - boot image via network using BOOTP/TFTP protocol 1027 tftpboot - boot image via network using TFTP protocol 1028 1029config CMD_TFTPPUT 1030 bool "tftp put" 1031 help 1032 TFTP put command, for uploading files to a server 1033 1034config CMD_TFTPSRV 1035 bool "tftpsrv" 1036 help 1037 Act as a TFTP server and boot the first received file 1038 1039config CMD_RARP 1040 bool "rarpboot" 1041 help 1042 Boot image via network using RARP/TFTP protocol 1043 1044config CMD_DHCP 1045 bool "dhcp" 1046 help 1047 Boot image via network using DHCP/TFTP protocol 1048 1049config CMD_PXE 1050 bool "pxe" 1051 select MENU 1052 help 1053 Boot image via network using PXE protocol 1054 1055config CMD_NFS 1056 bool "nfs" 1057 default y 1058 help 1059 Boot image via network using NFS protocol. 1060 1061config CMD_MII 1062 bool "mii" 1063 help 1064 Enable MII utility commands. 1065 1066config CMD_PING 1067 bool "ping" 1068 help 1069 Send ICMP ECHO_REQUEST to network host 1070 1071config CMD_CDP 1072 bool "cdp" 1073 help 1074 Perform CDP network configuration 1075 1076config CMD_SNTP 1077 bool "sntp" 1078 help 1079 Synchronize RTC via network 1080 1081config CMD_DNS 1082 bool "dns" 1083 help 1084 Lookup the IP of a hostname 1085 1086config CMD_LINK_LOCAL 1087 bool "linklocal" 1088 help 1089 Acquire a network IP address using the link-local protocol 1090 1091config CMD_ETHSW 1092 bool "ethsw" 1093 help 1094 Allow control of L2 Ethernet switch commands. These are supported 1095 by the vsc9953 Ethernet driver at present. Sub-commands allow 1096 operations such as enabling / disabling a port and 1097 viewing/maintaining the filtering database (FDB) 1098 1099endmenu 1100 1101menu "Misc commands" 1102 1103config CMD_BMP 1104 bool "Enable 'bmp' command" 1105 depends on LCD || DM_VIDEO || VIDEO 1106 help 1107 This provides a way to obtain information about a BMP-format iamge 1108 and to display it. BMP (which presumably stands for BitMaP) is a 1109 file format defined by Microsoft which supports images of various 1110 depths, formats and compression methods. Headers on the file 1111 determine the formats used. This command can be used by first loading 1112 the image into RAM, then using this command to look at it or display 1113 it. 1114 1115config CMD_BSP 1116 bool "Enable board-specific commands" 1117 help 1118 (deprecated: instead, please define a Kconfig option for each command) 1119 1120 Some boards have board-specific commands which are only enabled 1121 during developemnt and need to be turned off for production. This 1122 option provides a way to control this. The commands that are enabled 1123 vary depending on the board. 1124 1125config CMD_BKOPS_ENABLE 1126 bool "mmc bkops enable" 1127 depends on CMD_MMC 1128 default n 1129 help 1130 Enable command for setting manual background operations handshake 1131 on a eMMC device. The feature is optionally available on eMMC devices 1132 conforming to standard >= 4.41. 1133 1134config CMD_BLOCK_CACHE 1135 bool "blkcache - control and stats for block cache" 1136 depends on BLOCK_CACHE 1137 default y if BLOCK_CACHE 1138 help 1139 Enable the blkcache command, which can be used to control the 1140 operation of the cache functions. 1141 This is most useful when fine-tuning the operation of the cache 1142 during development, but also allows the cache to be disabled when 1143 it might hurt performance (e.g. when using the ums command). 1144 1145config CMD_CACHE 1146 bool "icache or dcache" 1147 help 1148 Enable the "icache" and "dcache" commands 1149 1150config CMD_DISPLAY 1151 bool "Enable the 'display' command, for character displays" 1152 help 1153 (this needs porting to driver model) 1154 This enables the 'display' command which allows a string to be 1155 displayed on a simple board-specific display. Implement 1156 display_putc() to use it. 1157 1158config CMD_LED 1159 bool "led" 1160 default y if LED 1161 help 1162 Enable the 'led' command which allows for control of LEDs supported 1163 by the board. The LEDs can be listed with 'led list' and controlled 1164 with led on/off/togle/blink. Any LED drivers can be controlled with 1165 this command, e.g. led_gpio. 1166 1167config CMD_DATE 1168 bool "date" 1169 default y if DM_RTC 1170 help 1171 Enable the 'date' command for getting/setting the time/date in RTC 1172 devices. 1173 1174config CMD_TIME 1175 bool "time" 1176 help 1177 Run commands and summarize execution time. 1178 1179config CMD_GETTIME 1180 bool "gettime - read elapsed time" 1181 help 1182 Enable the 'gettime' command which reads the elapsed time since 1183 U-Boot started running. This shows the time in seconds and 1184 milliseconds. See also the 'bootstage' command which provides more 1185 flexibility for boot timing. 1186 1187# TODO: rename to CMD_SLEEP 1188config CMD_MISC 1189 bool "sleep" 1190 default y 1191 help 1192 Delay execution for some time 1193 1194config CMD_TIMER 1195 bool "timer" 1196 help 1197 Access the system timer. 1198 1199config CMD_SOUND 1200 bool "sound" 1201 depends on SOUND 1202 help 1203 This provides basic access to the U-Boot's sound support. The main 1204 feature is to play a beep. 1205 1206 sound init - set up sound system 1207 sound play - play a sound 1208 1209config CMD_QFW 1210 bool "qfw" 1211 select QFW 1212 help 1213 This provides access to the QEMU firmware interface. The main 1214 feature is to allow easy loading of files passed to qemu-system 1215 via -kernel / -initrd 1216 1217source "cmd/mvebu/Kconfig" 1218 1219config CMD_TERMINAL 1220 bool "terminal - provides a way to attach a serial terminal" 1221 help 1222 Provides a 'cu'-like serial terminal command. This can be used to 1223 access other serial ports from the system console. The terminal 1224 is very simple with no special processing of characters. As with 1225 cu, you can press ~. (tilde followed by period) to exit. 1226 1227config CMD_UUID 1228 bool "uuid, guid - generation of unique IDs" 1229 help 1230 This enables two commands: 1231 1232 uuid - generate random Universally Unique Identifier 1233 guid - generate Globally Unique Identifier based on random UUID 1234 1235 The two commands are very similar except for the endianness of the 1236 output. 1237 1238endmenu 1239 1240config CMD_BOOTSTAGE 1241 bool "Enable the 'bootstage' command" 1242 depends on BOOTSTAGE 1243 help 1244 Add a 'bootstage' command which supports printing a report 1245 and un/stashing of bootstage data. 1246 1247menu "Power commands" 1248config CMD_PMIC 1249 bool "Enable Driver Model PMIC command" 1250 depends on DM_PMIC 1251 help 1252 This is the pmic command, based on a driver model pmic's API. 1253 Command features are unchanged: 1254 - list - list pmic devices 1255 - pmic dev <id> - show or [set] operating pmic device (NEW) 1256 - pmic dump - dump registers 1257 - pmic read address - read byte of register at address 1258 - pmic write address - write byte to register at address 1259 The only one change for this command is 'dev' subcommand. 1260 1261config CMD_REGULATOR 1262 bool "Enable Driver Model REGULATOR command" 1263 depends on DM_REGULATOR 1264 help 1265 This command is based on driver model regulator's API. 1266 User interface features: 1267 - list - list regulator devices 1268 - regulator dev <id> - show or [set] operating regulator device 1269 - regulator info - print constraints info 1270 - regulator status - print operating status 1271 - regulator value <val] <-f> - print/[set] voltage value [uV] 1272 - regulator current <val> - print/[set] current value [uA] 1273 - regulator mode <id> - print/[set] operating mode id 1274 - regulator enable - enable the regulator output 1275 - regulator disable - disable the regulator output 1276 1277 The '-f' (force) option can be used for set the value which exceeds 1278 the limits, which are found in device-tree and are kept in regulator's 1279 uclass platdata structure. 1280 1281config CMD_CHARGE_DISPLAY 1282 bool "Enable Driver Model Charge Display command" 1283 help 1284 Support U-Boot charge display. 1285 1286endmenu 1287 1288menu "Security commands" 1289config CMD_AES 1290 bool "Enable the 'aes' command" 1291 select AES 1292 help 1293 This provides a means to encrypt and decrypt data using the AES 1294 (Advanced Encryption Standard). This algorithm uses a symetric key 1295 and is widely used as a streaming cipher. Different key lengths are 1296 supported by the algorithm but this command only supports 128 bits 1297 at present. 1298 1299config CMD_BLOB 1300 bool "Enable the 'blob' command" 1301 help 1302 This is used with the Freescale secure boot mechanism. 1303 1304 Freescale's SEC block has built-in Blob Protocol which provides 1305 a method for protecting user-defined data across system power 1306 cycles. SEC block protects data in a data structure called a Blob, 1307 which provides both confidentiality and integrity protection. 1308 1309 Encapsulating data as a blob 1310 Each time that the Blob Protocol is used to protect data, a 1311 different randomly generated key is used to encrypt the data. 1312 This random key is itself encrypted using a key which is derived 1313 from SoC's non-volatile secret key and a 16 bit Key identifier. 1314 The resulting encrypted key along with encrypted data is called a 1315 blob. The non-volatile secure key is available for use only during 1316 secure boot. 1317 1318 During decapsulation, the reverse process is performed to get back 1319 the original data. 1320 1321 Sub-commands: 1322 blob enc - encapsulating data as a cryptgraphic blob 1323 blob dec - decapsulating cryptgraphic blob to get the data 1324 1325 Syntax: 1326 1327 blob enc src dst len km 1328 1329 Encapsulate and create blob of data $len bytes long 1330 at address $src and store the result at address $dst. 1331 $km is the 16 byte key modifier is also required for 1332 generation/use as key for cryptographic operation. Key 1333 modifier should be 16 byte long. 1334 1335 blob dec src dst len km 1336 1337 Decapsulate the blob of data at address $src and 1338 store result of $len byte at addr $dst. 1339 $km is the 16 byte key modifier is also required for 1340 generation/use as key for cryptographic operation. Key 1341 modifier should be 16 byte long. 1342 1343config CMD_HASH 1344 bool "Support 'hash' command" 1345 select HASH 1346 help 1347 This provides a way to hash data in memory using various supported 1348 algorithms (such as SHA1, MD5, CRC32). The computed digest can be 1349 saved to memory or to an environment variable. It is also possible 1350 to verify a hash against data in memory. 1351 1352config HASH_VERIFY 1353 bool "hash -v" 1354 depends on CMD_HASH 1355 help 1356 Add -v option to verify data against a hash. 1357 1358config CMD_TPM 1359 bool "Enable the 'tpm' command" 1360 depends on TPM 1361 help 1362 This provides a means to talk to a TPM from the command line. A wide 1363 range of commands if provided - see 'tpm help' for details. The 1364 command requires a suitable TPM on your board and the correct driver 1365 must be enabled. 1366 1367config CMD_TPM_TEST 1368 bool "Enable the 'tpm test' command" 1369 depends on CMD_TPM 1370 help 1371 This provides a a series of tests to confirm that the TPM is working 1372 correctly. The tests cover initialisation, non-volatile RAM, extend, 1373 global lock and checking that timing is within expectations. The 1374 tests pass correctly on Infineon TPMs but may need to be adjusted 1375 for other devices. 1376 1377endmenu 1378 1379menu "Firmware commands" 1380config CMD_CROS_EC 1381 bool "Enable crosec command" 1382 depends on CROS_EC 1383 default y 1384 help 1385 Enable command-line access to the Chrome OS EC (Embedded 1386 Controller). This provides the 'crosec' command which has 1387 a number of sub-commands for performing EC tasks such as 1388 updating its flash, accessing a small saved context area 1389 and talking to the I2C bus behind the EC (if there is one). 1390endmenu 1391 1392menu "Filesystem commands" 1393config CMD_CBFS 1394 bool "Enable the 'cbfs' command" 1395 depends on FS_CBFS 1396 help 1397 Define this to enable support for reading from a Coreboot 1398 filesystem. This is a ROM-based filesystem used for accessing files 1399 on systems that use coreboot as the first boot-loader and then load 1400 U-Boot to actually boot the Operating System. Available commands are 1401 cbfsinit, cbfsinfo, cbfsls and cbfsload. 1402 1403config CMD_CRAMFS 1404 bool "Enable the 'cramfs' command" 1405 depends on FS_CRAMFS 1406 help 1407 This provides commands for dealing with CRAMFS (Compressed ROM 1408 filesystem). CRAMFS is useful when space is tight since files are 1409 compressed. Two commands are provided: 1410 1411 cramfsls - lists files in a cramfs image 1412 cramfsload - loads a file from a cramfs image 1413 1414config CMD_EXT2 1415 bool "ext2 command support" 1416 help 1417 Enables EXT2 FS command 1418 1419config CMD_EXT4 1420 bool "ext4 command support" 1421 help 1422 Enables EXT4 FS command 1423 1424config CMD_EXT4_WRITE 1425 depends on CMD_EXT4 1426 bool "ext4 write command support" 1427 help 1428 Enables EXT4 FS write command 1429 1430config CMD_FAT 1431 bool "FAT command support" 1432 select FS_FAT 1433 help 1434 Support for the FAT fs 1435 1436config CMD_FS_GENERIC 1437 bool "filesystem commands" 1438 help 1439 Enables filesystem commands (e.g. load, ls) that work for multiple 1440 fs types. 1441 1442config CMD_FS_UUID 1443 bool "fsuuid command" 1444 help 1445 Enables fsuuid command for filesystem UUID. 1446 1447config CMD_JFFS2 1448 bool "jffs2 command" 1449 select FS_JFFS2 1450 help 1451 Enables commands to support the JFFS2 (Journalling Flash File System 1452 version 2) filesystem. This enables fsload, ls and fsinfo which 1453 provide the ability to load files, list directories and obtain 1454 filesystem information. 1455 1456config CMD_MTDPARTS 1457 bool "MTD partition support" 1458 help 1459 MTD partition support 1460 1461config MTDIDS_DEFAULT 1462 string "Default MTD IDs" 1463 depends on CMD_MTDPARTS 1464 help 1465 Defines a default MTD ID 1466 1467config MTDPARTS_DEFAULT 1468 string "Default MTD partition scheme" 1469 depends on CMD_MTDPARTS 1470 help 1471 Defines a default MTD partitioning scheme in the Linux MTD command 1472 line partitions format 1473 1474config CMD_MTDPARTS_SPREAD 1475 bool "Padd partition size to take account of bad blocks" 1476 depends on CMD_MTDPARTS 1477 help 1478 This enables the 'spread' sub-command of the mtdparts command. 1479 This command will modify the existing mtdparts variable by increasing 1480 the size of the partitions such that 1) each partition's net size is 1481 at least as large as the size specified in the mtdparts variable and 1482 2) each partition starts on a good block. 1483 1484config CMD_REISER 1485 bool "reiser - Access to reiserfs filesystems" 1486 help 1487 This provides two commands which operate on a resierfs filesystem, 1488 commonly used some years ago: 1489 1490 reiserls - list files 1491 reiserload - load a file 1492 1493config CMD_SCSI 1494 bool "scsi - Access to SCSI devices" 1495 default y if SCSI 1496 help 1497 This provides a 'scsi' command which provides access to SCSI (Small 1498 Computer System Interface) devices. The command provides a way to 1499 scan the bus, reset the bus, read and write data and get information 1500 about devices. 1501 1502config CMD_YAFFS2 1503 bool "yaffs2 - Access of YAFFS2 filesystem" 1504 depends on YAFFS2 1505 default y 1506 help 1507 This provides commands for accessing a YAFFS2 filesystem. Yet 1508 Another Flash Filesystem 2 is a filesystem designed specifically 1509 for NAND flash. It incorporates bad-block management and ensures 1510 that device writes are sequential regardless of filesystem 1511 activity. 1512 1513config CMD_ZFS 1514 bool "zfs - Access of ZFS filesystem" 1515 help 1516 This provides commands to accessing a ZFS filesystem, commonly used 1517 on Solaris systems. Two sub-commands are provided: 1518 1519 zfsls - list files in a directory 1520 zfsload - load a file 1521 1522 See doc/README.zfs for more details. 1523 1524endmenu 1525 1526menu "Debug commands" 1527 1528config CMD_BEDBUG 1529 bool "bedbug" 1530 help 1531 The bedbug (emBEDded deBUGger) command provides debugging features 1532 for some PowerPC processors. For details please see the 1533 docuemntation in doc/README.beddbug 1534 1535config CMD_DIAG 1536 bool "diag - Board diagnostics" 1537 help 1538 This command provides access to board diagnostic tests. These are 1539 called Power-on Self Tests (POST). The command allows listing of 1540 available tests and running either all the tests, or specific tests 1541 identified by name. 1542 1543config CMD_IRQ 1544 bool "irq - Show information about interrupts" 1545 depends on !ARM && !MIPS && !SH 1546 help 1547 This enables two commands: 1548 1549 interrupts - enable or disable interrupts 1550 irqinfo - print device-specific interrupt information 1551 1552config CMD_KGDB 1553 bool "kgdb - Allow debugging of U-Boot with gdb" 1554 help 1555 This enables a 'kgdb' command which allows gdb to connect to U-Boot 1556 over a serial link for debugging purposes. This allows 1557 single-stepping, inspecting variables, etc. This is supported only 1558 on PowerPC at present. 1559 1560config CMD_LOG 1561 bool "log - Generation, control and access to logging" 1562 help 1563 This provides access to logging features. It allows the output of 1564 log data to be controlled to a limited extent (setting up the default 1565 maximum log level for emitting of records). It also provides access 1566 to a command used for testing the log system. 1567 1568config CMD_TRACE 1569 bool "trace - Support tracing of function calls and timing" 1570 help 1571 Enables a command to control using of function tracing within 1572 U-Boot. This allows recording of call traces including timing 1573 information. The command can write data to memory for exporting 1574 for analsys (e.g. using bootchart). See doc/README.trace for full 1575 details. 1576 1577endmenu 1578 1579config CMD_UBI 1580 tristate "Enable UBI - Unsorted block images commands" 1581 select CRC32 1582 select MTD_UBI 1583 select CMD_MTDPARTS 1584 default y if NAND_SUNXI 1585 help 1586 UBI is a software layer above MTD layer which admits use of LVM-like 1587 logical volumes on top of MTD devices, hides some complexities of 1588 flash chips like wear and bad blocks and provides some other useful 1589 capabilities. Please, consult the MTD web site for more details 1590 (www.linux-mtd.infradead.org). Activate this option if you want 1591 to use U-Boot UBI commands. 1592 1593config CMD_UBIFS 1594 tristate "Enable UBIFS - Unsorted block images filesystem commands" 1595 depends on CMD_UBI 1596 select CRC32 1597 select LZO 1598 default y if CMD_UBI 1599 help 1600 UBIFS is a file system for flash devices which works on top of UBI. 1601 1602endmenu 1603