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