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