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