]> git.ipfire.org Git - thirdparty/u-boot.git/blame - cmd/Kconfig
bootstd: Add a bootdev command
[thirdparty/u-boot.git] / cmd / Kconfig
CommitLineData
72a8cf8d
SG
1menu "Command line interface"
2
302a6487
SG
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
72a8cf8d
SG
14config HUSH_PARSER
15 bool "Use hush shell"
302a6487 16 depends on CMDLINE
72a8cf8d
SG
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
d021e942
AF
26config CMDLINE_EDITING
27 bool "Enable command line editing"
28 depends on CMDLINE
29 default y
30 help
31 Enable editing and History functions for interactive command line
32 input operations
33
dafcd96d
TR
34config CMDLINE_PS_SUPPORT
35 bool "Enable support for changing the command prompt string at run-time"
36 depends on HUSH_PARSER
37 help
38 Only static string in the prompt is supported so far. The string is
39 obtained from environment variables PS1 and PS2.
40
d021e942
AF
41config AUTO_COMPLETE
42 bool "Enable auto complete using TAB"
43 depends on CMDLINE
44 default y
45 help
46 Enable auto completion of commands using TAB.
47
48config SYS_LONGHELP
49 bool "Enable long help messages"
50 depends on CMDLINE
51 default y if CMDLINE
52 help
53 Defined when you want long help messages included
54 Do not set this option when short of memory.
55
72a8cf8d
SG
56config SYS_PROMPT
57 string "Shell prompt"
a91feaee 58 default "Zynq> " if ARCH_ZYNQ
3c3886d7 59 default "ZynqMP> " if ARCH_ZYNQMP
72a8cf8d
SG
60 default "=> "
61 help
62 This string is displayed in the command line to the left of the
63 cursor.
64
48aee0af
PD
65config SYS_PROMPT_HUSH_PS2
66 string "Hush shell secondary prompt"
67 depends on HUSH_PARSER
68 default "> "
69 help
70 This defines the secondary prompt string, which is
71 printed when the command interpreter needs more input
72 to complete a command. Usually "> ".
73
7ae31fcc 74config SYS_XTRACE
b935d190 75 bool "Command execution tracer"
7ae31fcc
CM
76 depends on CMDLINE
77 default y if CMDLINE
78 help
79 This option enables the possiblity to print all commands before
80 executing them and after all variables are evaluated (similar
81 to Bash's xtrace/'set -x' feature).
82 To enable the tracer a variable "xtrace" needs to be defined in
83 the environment.
84
610eec7f
SP
85config BUILD_BIN2C
86 bool
87
72a8cf8d
SG
88comment "Commands"
89
90menu "Info commands"
91
0b885bcf
SG
92config CMD_ACPI
93 bool "acpi"
12218c1f
HS
94 depends on ACPIGEN
95 default y
0b885bcf
SG
96 help
97 List and dump ACPI tables. ACPI (Advanced Configuration and Power
98 Interface) is used mostly on x86 for providing information to the
99 Operating System about devices in the system. The tables are set up
100 by the firmware, typically U-Boot but possibly an earlier firmware
101 module, if U-Boot is chain-loaded from something else. ACPI tables
102 can also include code, to perform hardware-specific tasks required
103 by the Operating Systems. This allows some amount of separation
104 between the firmware and OS, and is particularly useful when you
105 want to make hardware changes without the OS needing to be adjusted.
106
56d0635f
BM
107config CMD_ADDRMAP
108 bool "addrmap"
109 depends on ADDR_MAP
110 default y
111 help
112 List non-identity virtual-physical memory mappings for 32-bit CPUs.
113
72a8cf8d
SG
114config CMD_BDI
115 bool "bdinfo"
116 default y
117 help
118 Print board info
119
61304dbe
MY
120config CMD_CONFIG
121 bool "config"
61304dbe 122 default SANDBOX
5ed063d1 123 select BUILD_BIN2C
61304dbe
MY
124 help
125 Print ".config" contents.
126
127 If this option is enabled, the ".config" file contents are embedded
128 in the U-Boot image and can be printed on the console by the "config"
129 command. This provides information of which options are enabled on
130 the running U-Boot.
131
72a8cf8d
SG
132config CMD_CONSOLE
133 bool "coninfo"
134 default y
135 help
136 Print console devices and information.
137
138config CMD_CPU
139 bool "cpu"
622178d9 140 depends on CPU
72a8cf8d
SG
141 help
142 Print information about available CPUs. This normally shows the
143 number of CPUs, type (e.g. manufacturer, architecture, product or
144 internal name) and clock frequency. Other information may be
145 available depending on the CPU driver.
146
147config CMD_LICENSE
148 bool "license"
d726f225 149 select BUILD_BIN2C
72a8cf8d
SG
150 help
151 Print GPL license text
152
3b65ee34
SG
153config CMD_PMC
154 bool "pmc"
155 help
156 Provides access to the Intel Power-Management Controller (PMC) so
157 that its state can be examined. This does not currently support
158 changing the state but it is still useful for debugging and seeing
159 what is going on.
160
fa379223
CL
161config CMD_REGINFO
162 bool "reginfo"
163 depends on PPC
164 help
165 Register dump
166
1c79f2ff
BS
167config CMD_TLV_EEPROM
168 bool "tlv_eeprom"
169 depends on I2C_EEPROM
170 help
171 Display and program the system EEPROM data block in ONIE Tlvinfo
172 format. TLV stands for Type-Length-Value.
173
174config SPL_CMD_TLV_EEPROM
175 bool "tlv_eeprom for SPL"
176 depends on SPL_I2C_EEPROM
9ca00684 177 select SPL_DRIVERS_MISC
1c79f2ff
BS
178 help
179 Read system EEPROM data block in ONIE Tlvinfo format from SPL.
180
c92b50a4
HS
181config CMD_SBI
182 bool "sbi"
183 depends on RISCV_SMODE && SBI_V02
184 help
185 Display information about the SBI implementation.
186
72a8cf8d
SG
187endmenu
188
189menu "Boot commands"
190
191config CMD_BOOTD
192 bool "bootd"
193 default y
194 help
195 Run the command stored in the environment "bootcmd", i.e.
196 "bootd" does the same thing as "run bootcmd".
197
198config CMD_BOOTM
199 bool "bootm"
200 default y
201 help
202 Boot an application image from the memory.
203
9d46e63d
PR
204config CMD_BOOTM_PRE_LOAD
205 bool "enable pre-load on bootm"
206 depends on CMD_BOOTM
207 depends on IMAGE_PRE_LOAD
208 default n
209 help
210 Enable support of stage pre-load for the bootm command.
211 This stage allow to check or modify the image provided
212 to the bootm command.
213
5d053cca
SG
214config CMD_BOOTDEV
215 bool "bootdev"
216 depends on BOOTSTD
217 default y if BOOTSTD_FULL
218 help
219 Support listing available bootdevs (boot devices) which can provide an
220 OS to boot, as well as showing information about a particular one.
221
222 This command is not necessary for bootstd to work.
223
ecc7fdaa
CC
224config BOOTM_EFI
225 bool "Support booting UEFI FIT images"
226 depends on CMD_BOOTEFI && CMD_BOOTM && FIT
227 default y
228 help
229 Support booting UEFI FIT images via the bootm command.
230
ab8243e4
DN
231config CMD_BOOTZ
232 bool "bootz"
233 help
234 Boot the Linux zImage
235
26959271
MY
236config CMD_BOOTI
237 bool "booti"
3cedc974 238 depends on ARM64 || RISCV
26959271
MY
239 default y
240 help
241 Boot an AArch64 Linux Kernel image from memory.
242
4b0bcfa7
TR
243config BOOTM_LINUX
244 bool "Support booting Linux OS images"
245 depends on CMD_BOOTM || CMD_BOOTZ || CMD_BOOTI
246 default y
247 help
248 Support booting the Linux kernel directly via a command such as bootm
249 or booti or bootz.
250
251config BOOTM_NETBSD
252 bool "Support booting NetBSD (non-EFI) loader images"
253 depends on CMD_BOOTM
254 default y
255 help
256 Support booting NetBSD via the bootm command.
257
258config BOOTM_OPENRTOS
259 bool "Support booting OPENRTOS / FreeRTOS images"
260 depends on CMD_BOOTM
261 help
262 Support booting OPENRTOS / FreeRTOS via the bootm command.
263
264config BOOTM_OSE
265 bool "Support booting Enea OSE images"
14a2dee7 266 depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86)
4b0bcfa7
TR
267 depends on CMD_BOOTM
268 help
269 Support booting Enea OSE images via the bootm command.
270
271config BOOTM_PLAN9
272 bool "Support booting Plan9 OS images"
273 depends on CMD_BOOTM
274 default y
275 help
276 Support booting Plan9 images via the bootm command.
277
278config BOOTM_RTEMS
279 bool "Support booting RTEMS OS images"
280 depends on CMD_BOOTM
281 default y
282 help
283 Support booting RTEMS images via the bootm command.
284
285config BOOTM_VXWORKS
286 bool "Support booting VxWorks OS images"
287 depends on CMD_BOOTM
288 default y
289 help
290 Support booting VxWorks images via the bootm command.
291
fefff636
AT
292config CMD_BOOTEFI
293 bool "bootefi"
294 depends on EFI_LOADER
295 default y
296 help
297 Boot an EFI image from memory.
298
95b62b2e
AG
299config CMD_BOOTEFI_HELLO_COMPILE
300 bool "Compile a standard EFI hello world binary for testing"
3b4847cb 301 depends on CMD_BOOTEFI && !CPU_V7M
95b62b2e
AG
302 default y
303 help
304 This compiles a standard EFI hello world application with U-Boot so
305 that it can be used with the test/py testing framework. This is useful
306 for testing that EFI is working at a basic level, and for bringing
307 up EFI support on a new architecture.
308
309 No additional space will be required in the resulting U-Boot binary
310 when this option is enabled.
311
c7ae3dfd
SG
312config CMD_BOOTEFI_HELLO
313 bool "Allow booting a standard EFI hello world for testing"
95b62b2e 314 depends on CMD_BOOTEFI_HELLO_COMPILE
ec5f0ed3 315 default y if CMD_BOOTEFI_SELFTEST
c7ae3dfd
SG
316 help
317 This adds a standard EFI hello world application to U-Boot so that
318 it can be used with the 'bootefi hello' command. This is useful
319 for testing that EFI is working at a basic level, and for bringing
320 up EFI support on a new architecture.
321
623b3a57
HS
322source lib/efi_selftest/Kconfig
323
4880b026
TR
324config CMD_BOOTMENU
325 bool "bootmenu"
326 select MENU
327 help
328 Add an ANSI terminal boot menu command.
329
b84acf10
ER
330config CMD_ADTIMG
331 bool "adtimg"
d03e76af
SP
332 help
333 Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from
334 image into RAM, dump image structure information, etc. Those dtb/dtbo
335 files should be merged in one dtb further, which needs to be passed to
336 the kernel, as part of a boot process.
337
94f6d0d1
SP
338config CMD_ABOOTIMG
339 bool "abootimg"
340 depends on ANDROID_BOOT_IMAGE
341 help
342 Android Boot Image manipulation commands. Allows one to extract
343 images contained in boot.img, like kernel, ramdisk, dtb, etc, and
344 obtain corresponding meta-information from boot.img.
345
34b43193
SP
346 See doc/android/boot-image.rst for details.
347
72a8cf8d
SG
348config CMD_ELF
349 bool "bootelf, bootvx"
350 default y
805b3cac 351 select LIB_ELF
72a8cf8d
SG
352 help
353 Boot an ELF/vxWorks image from the memory.
354
23922e26
MS
355config CMD_FDT
356 bool "Flattened Device Tree utility commands"
357 default y
358 depends on OF_LIBFDT
359 help
360 Do FDT related setup before booting into the Operating System.
361
2f84e9cf
KM
362config SUPPORT_EXTENSION_SCAN
363 bool
364
365config CMD_EXTENSION
366 bool "Extension board management command"
367 select CMD_FDT
368 depends on SUPPORT_EXTENSION_SCAN
369 help
370 Enables the "extension" command, which allows to detect
371 extension boards connected to the system, and apply
372 corresponding Device Tree overlays.
373
72a8cf8d
SG
374config CMD_GO
375 bool "go"
376 default y
377 help
378 Start an application at a given address.
379
380config CMD_RUN
381 bool "run"
382 default y
383 help
384 Run the command in the given environment variable.
385
386config CMD_IMI
387 bool "iminfo"
388 default y
389 help
390 Print header information for application image.
391
392config CMD_IMLS
393 bool "imls"
72a8cf8d
SG
394 help
395 List all images found in flash
396
397config CMD_XIMG
398 bool "imxtract"
399 default y
400 help
401 Extract a part of a multi-image.
402
72c3033f
SG
403config CMD_SPL
404 bool "spl export - Export boot information for Falcon boot"
405 depends on SPL
406 help
407 Falcon mode allows booting directly from SPL into an Operating
408 System such as Linux, thus skipping U-Boot proper. See
409 doc/README.falcon for full information about how to use this
410 command.
411
203dc1b3 412config CMD_SPL_NAND_OFS
f63c43b8 413 hex "Offset of OS args or dtb for Falcon-mode NAND boot"
7cb179ee 414 depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT)
203dc1b3
SG
415 default 0
416 help
417 This provides the offset of the command line arguments for Linux
418 when booting from NAND in Falcon mode. See doc/README.falcon
419 for full information about how to use this option (and also see
420 board/gateworks/gw_ventana/README for an example).
421
ef9e57d3
LM
422config CMD_SPL_NOR_OFS
423 hex "Offset of OS args or dtb for Falcon-mode NOR boot"
424 depends on CMD_SPL && SPL_NOR_SUPPORT
425 default 0
426 help
427 This provides the offset of the command line arguments or dtb for
428 Linux when booting from NOR in Falcon mode.
429
3a91a253
SG
430config CMD_SPL_WRITE_SIZE
431 hex "Size of argument area"
432 depends on CMD_SPL
433 default 0x2000
434 help
435 This provides the size of the command-line argument area in NAND
436 flash used by Falcon-mode boot. See the documentation until CMD_SPL
437 for detail.
438
9b92a8d7
SG
439config CMD_THOR_DOWNLOAD
440 bool "thor - TIZEN 'thor' download"
909338c3 441 select DFU
9b92a8d7
SG
442 help
443 Implements the 'thor' download protocol. This is a way of
444 downloading a software update over USB from an attached host.
445 There is no documentation about this within the U-Boot source code
446 but you should be able to find something on the interwebs.
447
e7a815f3
SG
448config CMD_ZBOOT
449 bool "zboot - x86 boot command"
450 help
451 With x86 machines it is common to boot a bzImage file which
452 contains both a kernel and a setup.bin file. The latter includes
453 configuration information from the dark ages which x86 boards still
454 need to pick things out of.
455
456 Consider using FIT in preference to this since it supports directly
457 booting both 32- and 64-bit kernels, as well as secure boot.
458 Documentation is available in doc/uImage.FIT/x86-fit-boot.txt
459
72a8cf8d
SG
460endmenu
461
462menu "Environment commands"
463
ab8243e4
DN
464config CMD_ASKENV
465 bool "ask for env variable"
466 help
467 Ask for environment variable
468
72a8cf8d
SG
469config CMD_EXPORTENV
470 bool "env export"
471 default y
472 help
473 Export environments.
474
475config CMD_IMPORTENV
476 bool "env import"
477 default y
478 help
479 Import environments.
480
481config CMD_EDITENV
482 bool "editenv"
483 default y
484 help
485 Edit environment variable.
486
ab8243e4
DN
487config CMD_GREPENV
488 bool "search env"
489 help
490 Allow for searching environment variables
491
72a8cf8d
SG
492config CMD_SAVEENV
493 bool "saveenv"
494 default y
495 help
496 Save all environment variables into the compiled-in persistent
497 storage.
498
cd121bdb
FW
499config CMD_ERASEENV
500 bool "eraseenv"
cd121bdb
FW
501 depends on CMD_SAVEENV
502 help
503 Erase environment variables from the compiled-in persistent
504 storage.
505
72a8cf8d
SG
506config CMD_ENV_EXISTS
507 bool "env exists"
508 default y
509 help
510 Check if a variable is defined in the environment for use in
511 shell scripting.
512
a55d29d2
SG
513config CMD_ENV_CALLBACK
514 bool "env callbacks - print callbacks and their associated variables"
515 help
516 Some environment variable have callbacks defined by
517 U_BOOT_ENV_CALLBACK. These are called when the variable changes.
518 For example changing "baudrate" adjust the serial baud rate. This
519 command lists the currently defined callbacks.
520
ffc76589
SG
521config CMD_ENV_FLAGS
522 bool "env flags -print variables that have non-default flags"
523 help
524 Some environment variables have special flags that control their
525 behaviour. For example, serial# can only be written once and cannot
526 be deleted. This command shows the variables that have special
527 flags.
528
49d81fdf
AT
529config CMD_NVEDIT_EFI
530 bool "env [set|print] -e - set/print UEFI variables"
531 depends on EFI_LOADER
49d81fdf
AT
532 imply HEXDUMP
533 help
534 UEFI variables are encoded as some form of U-Boot variables.
535 If enabled, we are allowed to set/print UEFI variables using
536 "env" command with "-e" option without knowing details.
537
ec57bd74
SDR
538config CMD_NVEDIT_INDIRECT
539 bool "env indirect - Sets environment value from another"
540
8e92120b
LR
541config CMD_NVEDIT_INFO
542 bool "env info - print or evaluate environment information"
543 help
544 Print environment information:
545 - env_valid : is environment valid
546 - env_ready : is environment imported into hash table
547 - env_use_default : is default environment used
548
549 This command can be optionally used for evaluation in scripts:
550 [-d] : evaluate whether default environment is used
551 [-p] : evaluate whether environment can be persisted
6718ebd0 552 [-q] : quiet output
8e92120b
LR
553 The result of multiple evaluations will be combined with AND.
554
0115dd3a
PD
555config CMD_NVEDIT_LOAD
556 bool "env load"
557 help
558 Load all environment variables from the compiled-in persistent
559 storage.
560
a97d22eb
PD
561config CMD_NVEDIT_SELECT
562 bool "env select"
563 help
564 Select the compiled-in persistent storage of environment variables.
565
72a8cf8d
SG
566endmenu
567
568menu "Memory commands"
569
55b25561
MS
570config CMD_BINOP
571 bool "binop"
572 help
573 Compute binary operations (xor, or, and) of byte arrays of arbitrary
574 size from memory and store the result in memory or the environment.
575
4aed2276
SG
576config CMD_BLOBLIST
577 bool "bloblist"
578 default y if BLOBLIST
579 help
580 Show information about the bloblist, a collection of binary blobs
581 held in memory that persist between SPL and U-Boot. In the case of
582 x86 devices the bloblist can be used to hold ACPI tables so that they
583 remain available in memory.
584
72a8cf8d
SG
585config CMD_CRC32
586 bool "crc32"
587 default y
5ed063d1 588 select HASH
72a8cf8d
SG
589 help
590 Compute CRC32.
591
221a949e
DT
592config CRC32_VERIFY
593 bool "crc32 -v"
594 depends on CMD_CRC32
595 help
596 Add -v option to verify data against a crc32 checksum.
597
a1dc980d
SG
598config CMD_EEPROM
599 bool "eeprom - EEPROM subsystem"
600 help
601 (deprecated, needs conversion to driver model)
602 Provides commands to read and write EEPROM (Electrically Erasable
603 Programmable Read Only Memory) chips that are connected over an
604 I2C bus.
605
606config CMD_EEPROM_LAYOUT
607 bool "Enable layout-aware eeprom commands"
608 depends on CMD_EEPROM
609 help
610 (deprecated, needs conversion to driver model)
611 When enabled, additional eeprom sub-commands become available.
612
613 eeprom print - prints the contents of the eeprom in a human-readable
614 way (eeprom layout fields, and data formatted to be fit for human
615 consumption).
616
617 eeprom update - allows user to update eeprom fields by specifying
618 the field name, and providing the new data in a human readable format
619 (same format as displayed by the eeprom print command).
620
621 Both commands can either auto detect the layout, or be told which
622 layout to use.
623
624 Feature API:
625 __weak int parse_layout_version(char *str)
626 - override to provide your own layout name parsing
627 __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
628 int layout_version);
629 - override to setup the layout metadata based on the version
630 __weak int eeprom_layout_detect(unsigned char *data)
631 - override to provide your own algorithm for detecting layout
632 version
633 eeprom_field.c
634 - contains various printing and updating functions for common
635 types of eeprom fields. Can be used for defining
636 custom layouts.
637
638config EEPROM_LAYOUT_HELP_STRING
639 string "Tells user what layout names are supported"
640 depends on CMD_EEPROM_LAYOUT
641 default "<not defined>"
642 help
643 Help printed with the LAYOUT VERSIONS part of the 'eeprom'
644 command's help.
645
88cd7d0e
TR
646config SYS_I2C_EEPROM_BUS
647 int "I2C bus of the EEPROM device."
648 depends on CMD_EEPROM
649 default 0
650
651config SYS_I2C_EEPROM_ADDR_LEN
652 int "Length in bytes of the EEPROM memory array address"
653 depends on CMD_EEPROM || ID_EEPROM
654 default 1
655 range 1 2
656 help
657 Note: This is NOT the chip address length!
658
659config SYS_EEPROM_SIZE
660 depends on CMD_EEPROM
661 int "Size in bytes of the EEPROM device"
662 default 256
663
664config SYS_EEPROM_PAGE_WRITE_BITS
665 int "Number of bits used to address bytes in a single page"
666 depends on CMD_EEPROM
667 default 8
668 help
669 The EEPROM page size is 2^SYS_EEPROM_PAGE_WRITE_BITS.
670 A 64 byte page, for example would require six bits.
671
672config SYS_EEPROM_PAGE_WRITE_DELAY_MS
673 int "Number of milliseconds to delay between page writes"
674 depends on CMD_EEPROM || CMD_I2C
675 default 0
676
ba71be54
SG
677config LOOPW
678 bool "loopw"
679 help
680 Infinite write loop on address range
681
bea79d7d
AP
682config CMD_MD5SUM
683 bool "md5sum"
bea79d7d
AP
684 select MD5
685 help
686 Compute MD5 checksum.
687
221a949e 688config MD5SUM_VERIFY
bea79d7d 689 bool "md5sum -v"
bea79d7d
AP
690 depends on CMD_MD5SUM
691 help
692 Add -v option to verify data against an MD5 checksum.
693
ba71be54
SG
694config CMD_MEMINFO
695 bool "meminfo"
221a949e 696 help
ba71be54 697 Display memory information.
221a949e 698
ba71be54
SG
699config CMD_MEMORY
700 bool "md, mm, nm, mw, cp, cmp, base, loop"
701 default y
72a8cf8d 702 help
ba71be54
SG
703 Memory commands.
704 md - memory display
705 mm - memory modify (auto-incrementing address)
706 nm - memory modify (constant address)
707 mw - memory write (fill)
708 cp - memory copy
709 cmp - memory compare
710 base - print or set address offset
711 loop - initialize loop on address range
72a8cf8d 712
550a9e79 713config CMD_MEM_SEARCH
bdded201
SG
714 bool "ms - Memory search"
715 help
716 Memory-search command
717
718 This allows searching through a region of memory looking for hex
719 data (byte, 16-bit word, 32-bit long, also 64-bit on machines that
720 support it). It is also possible to search for a string. The
721 command accepts a memory range and a list of values to search for.
722 The values need to appear in memory in the same order they are given
723 in the command. At most 10 matches can be returned at a time, but
724 pressing return will show the next 10 matches. Environment variables
725 are set for use with scripting (memmatches, memaddr, mempos).
726
72732318 727config CMD_MX_CYCLIC
78f28773
AF
728 bool "Enable cyclic md/mw commands"
729 depends on CMD_MEMORY
730 help
731 Add the "mdc" and "mwc" memory commands. These are cyclic
732 "md/mw" commands.
733 Examples:
734
735 => mdc.b 10 4 500
736 This command will print 4 bytes (10,11,12,13) each 500 ms.
737
738 => mwc.l 100 12345678 10
739 This command will write 12345678 to address 100 all 10 ms.
740
803e1a3d
JJH
741config CMD_RANDOM
742 bool "random"
743 default y
744 depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND)
745 help
746 random - fill memory with random data
747
72a8cf8d
SG
748config CMD_MEMTEST
749 bool "memtest"
750 help
751 Simple RAM read/write test.
752
e89f8aae
MS
753if CMD_MEMTEST
754
755config SYS_ALT_MEMTEST
756 bool "Alternative test"
757 help
758 Use a more complete alternative memory test.
759
9989fb18
RS
760if SYS_ALT_MEMTEST
761
762config SYS_ALT_MEMTEST_BITFLIP
763 bool "Bitflip test"
764 default y
765 help
766 The alternative memory test includes bitflip test since 2020.07.
767 The bitflip test significantly increases the overall test time.
768 Bitflip test can optionally be disabled here.
769
770endif
771
702de89c
ARS
772config SYS_MEMTEST_START
773 hex "default start address for mtest"
ff27af12 774 default 0x0
702de89c
ARS
775 help
776 This is the default start address for mtest for simple read/write
777 test. If no arguments are given to mtest, default address is used
778 as start address.
779
780config SYS_MEMTEST_END
781 hex "default end address for mtest"
782 default 0x1000
783 help
784 This is the default end address for mtest for simple read/write
785 test. If no arguments are given to mtest, default address is used
786 as end address.
787
e89f8aae
MS
788endif
789
ba71be54
SG
790config CMD_SHA1SUM
791 bool "sha1sum"
792 select SHA1
72a8cf8d 793 help
ba71be54
SG
794 Compute SHA1 checksum.
795
796config SHA1SUM_VERIFY
797 bool "sha1sum -v"
798 depends on CMD_SHA1SUM
799 help
800 Add -v option to verify data against a SHA1 checksum.
72a8cf8d 801
00805d7a
SG
802config CMD_STRINGS
803 bool "strings - display strings in memory"
804 help
805 This works similarly to the Unix 'strings' command except that it
806 works with a memory range. String of printable characters found
807 within the range are displayed. The minimum number of characters
808 for a sequence to be considered a string can be provided.
809
ee7c0e71
SG
810endmenu
811
812menu "Compression commands"
813
814config CMD_LZMADEC
815 bool "lzmadec"
99e46dfc 816 default y if CMD_BOOTI
ee7c0e71
SG
817 select LZMA
818 help
819 Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm)
820 image from memory.
821
a1732232
YA
822config CMD_UNLZ4
823 bool "unlz4"
824 default y if CMD_BOOTI
825 select LZ4
826 help
827 Support decompressing an LZ4 image from memory region.
828
e9d33e73
MY
829config CMD_UNZIP
830 bool "unzip"
99e46dfc 831 default y if CMD_BOOTI
56c311bd 832 select GZIP
e9d33e73
MY
833 help
834 Uncompress a zip-compressed memory region.
835
836config CMD_ZIP
837 bool "zip"
eff5a547 838 select GZIP_COMPRESSED
e9d33e73
MY
839 help
840 Compress a memory region with zlib deflate method.
841
72a8cf8d
SG
842endmenu
843
844menu "Device access commands"
845
0c19b4d1
SG
846config CMD_ARMFLASH
847 #depends on FLASH_CFI_DRIVER
848 bool "armflash"
849 help
850 ARM Ltd reference designs flash partition access
851
051ebe32
NA
852config CMD_ADC
853 bool "adc - Access Analog to Digital Converters info and data"
854 select ADC
6e741cfa 855 depends on DM_REGULATOR
051ebe32
NA
856 help
857 Shows ADC device info and permit printing one-shot analog converted
858 data from a named Analog to Digital Converter.
859
db7b7a05
ER
860config CMD_BCB
861 bool "bcb"
862 depends on MMC
863 depends on PARTITIONS
864 help
865 Read/modify/write the fields of Bootloader Control Block, usually
866 stored on the flash "misc" partition with its structure defined in:
867 https://android.googlesource.com/platform/bootable/recovery/+/master/
868 bootloader_message/include/bootloader_message/bootloader_message.h
869
870 Some real-life use-cases include (but are not limited to):
871 - Determine the "boot reason" (and act accordingly):
872 https://source.android.com/devices/bootloader/boot-reason
873 - Get/pass a list of commands from/to recovery:
874 https://android.googlesource.com/platform/bootable/recovery
875 - Inspect/dump the contents of the BCB fields
876
49c752c9
JJH
877config CMD_BIND
878 bool "bind/unbind - Bind or unbind a device to/from a driver"
879 depends on DM
880 help
881 Bind or unbind a device to/from a driver from the command line.
882 This is useful in situations where a device may be handled by several
883 drivers. For example, this can be used to bind a UDC to the usb ether
884 gadget driver from the command line.
885
d315628e
SG
886config CMD_CLK
887 bool "clk - Show clock frequencies"
888 help
889 (deprecated)
890 Shows clock frequences by calling a sock_clk_dump() hook function.
891 This is depreated in favour of using the CLK uclass and accessing
892 clock values from associated drivers. However currently no command
893 exists for this.
894
0c19b4d1
SG
895config CMD_DEMO
896 bool "demo - Demonstration commands for driver model"
897 depends on DM
898 help
899 Provides a 'demo' command which can be used to play around with
900 driver model. To use this properly you will need to enable one or
901 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
902 Otherwise you will always get an empty list of devices. The demo
903 devices are defined in the sandbox device tree, so the easiest
904 option is to use sandbox and pass the -d point to sandbox's
905 u-boot.dtb file.
906
907config CMD_DFU
908 bool "dfu"
0f44d335 909 select DFU
0c19b4d1
SG
910 help
911 Enables the command "dfu" which is used to have U-Boot create a DFU
00fd59dd
SG
912 class device via USB. This command requires that the "dfu_alt_info"
913 environment variable be set and define the alt settings to expose to
914 the host.
0c19b4d1 915
72a8cf8d
SG
916config CMD_DM
917 bool "dm - Access to driver model information"
918 depends on DM
72a8cf8d
SG
919 help
920 Provides access to driver model data structures and information,
921 such as a list of devices, list of uclasses and the state of each
922 device (e.g. activated). This is not required for operation, but
923 can be useful to see the state of driver model for debugging or
924 interest.
925
312a10f1
AK
926config CMD_FASTBOOT
927 bool "fastboot - Android fastboot support"
928 depends on FASTBOOT
929 help
930 This enables the command "fastboot" which enables the Android
931 fastboot mode for the platform. Fastboot is a protocol for
932 downloading images, flashing and device control used on
f73a7df9
AK
933 Android devices. Fastboot requires either the network stack
934 enabled or support for acting as a USB device.
312a10f1 935
586a1bf5 936 See doc/android/fastboot.rst for more information.
312a10f1 937
0c19b4d1
SG
938config CMD_FLASH
939 bool "flinfo, erase, protect"
940 default y
ff102c54 941 depends on MTD || FLASH_CFI_DRIVER || MTD_NOR_FLASH
0c19b4d1
SG
942 help
943 NOR flash support.
944 flinfo - print FLASH memory information
945 erase - FLASH memory
946 protect - enable or disable FLASH write protection
947
948config CMD_FPGA
949 bool "fpga"
a4fa8114 950 depends on FPGA
0c19b4d1
SG
951 default y
952 help
953 FPGA support.
954
955config CMD_FPGA_LOADBP
956 bool "fpga loadbp - load partial bitstream (Xilinx only)"
957 depends on CMD_FPGA
958 help
959 Supports loading an FPGA device from a bitstream buffer containing
960 a partial bitstream.
961
962config CMD_FPGA_LOADFS
963 bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)"
964 depends on CMD_FPGA
965 help
966 Supports loading an FPGA device from a FAT filesystem.
967
968config CMD_FPGA_LOADMK
969 bool "fpga loadmk - load bitstream from image"
970 depends on CMD_FPGA
971 help
972 Supports loading an FPGA device from a image generated by mkimage.
973
974config CMD_FPGA_LOADP
975 bool "fpga loadp - load partial bitstream"
976 depends on CMD_FPGA
977 help
978 Supports loading an FPGA device from a bitstream buffer containing
979 a partial bitstream.
980
cedd48e2
SDPP
981config CMD_FPGA_LOAD_SECURE
982 bool "fpga loads - loads secure bitstreams (Xilinx only)"
983 depends on CMD_FPGA
984 help
985 Enables the fpga loads command which is used to load secure
986 (authenticated or encrypted or both) bitstreams on to FPGA.
987
0c19b4d1
SG
988config CMD_FPGAD
989 bool "fpgad - dump FPGA registers"
990 help
991 (legacy, needs conversion to driver model)
992 Provides a way to dump FPGA registers by calling the board-specific
993 fpga_get_reg() function. This functions similarly to the 'md'
994 command.
995
996config CMD_FUSE
997 bool "fuse - support for the fuse subssystem"
998 help
999 (deprecated - needs conversion to driver model)
1000 This allows reading, sensing, programming or overriding fuses
1001 which control the behaviour of the device. The command uses the
1002 fuse_...() API.
1003
1004config CMD_GPIO
1005 bool "gpio"
1006 help
1007 GPIO support.
1008
dd2b8c11
DR
1009config CMD_GPIO_READ
1010 bool "gpio read - save GPIO value to variable"
1011 depends on CMD_GPIO
1012 help
1013 Enables the 'gpio read' command that saves the value
1014 of a GPIO pin to a variable.
1015
9e9a530a
PP
1016config CMD_PWM
1017 bool "pwm"
1018 depends on DM_PWM
1019 help
1020 Control PWM channels, this allows invert/config/enable/disable PWM channels.
1021
0c19b4d1
SG
1022config CMD_GPT
1023 bool "GPT (GUID Partition Table) command"
0c19b4d1 1024 select EFI_PARTITION
1811a928 1025 select HAVE_BLOCK_DEVICE
5ed063d1 1026 select PARTITION_UUIDS
47738acc 1027 imply RANDOM_UUID
0c19b4d1
SG
1028 help
1029 Enable the 'gpt' command to ready and write GPT style partition
1030 tables.
1031
47738acc
MR
1032config RANDOM_UUID
1033 bool "GPT Random UUID generation"
a451bc27 1034 select LIB_UUID
47738acc
MR
1035 help
1036 Enable the generation of partitions with random UUIDs if none
1037 are provided.
1038
0c19b4d1
SG
1039config CMD_GPT_RENAME
1040 bool "GPT partition renaming commands"
1041 depends on CMD_GPT
1042 help
1043 Enables the 'gpt' command to interchange names on two GPT
1044 partitions via the 'gpt swap' command or to rename single
1045 partitions via the 'rename' command.
72a8cf8d 1046
75eb9976
SG
1047config CMD_IDE
1048 bool "ide - Support for IDE drivers"
fc843a02 1049 select IDE
75eb9976
SG
1050 help
1051 Provides an 'ide' command which allows accessing the IDE drive,
1107b062 1052 resetting the IDE interface, printing the partition table and
75eb9976
SG
1053 geting device info. It also enables the 'diskboot' command which
1054 permits booting from an IDE drive.
1055
594e8d1c
SG
1056config CMD_IO
1057 bool "io - Support for performing I/O accesses"
1058 help
1059 Provides an 'iod' command to display I/O space and an 'iow' command
1060 to write values to the I/O space. This can be useful for manually
1061 checking the state of devices during boot when debugging device
1062 drivers, etc.
1063
7d0f5c13
SG
1064config CMD_IOTRACE
1065 bool "iotrace - Support for tracing I/O activity"
1066 help
1067 Provides an 'iotrace' command which supports recording I/O reads and
1068 writes in a trace buffer in memory . It also maintains a checksum
1069 of the trace records (even if space is exhausted) so that the
1070 sequence of I/O accesses can be verified.
1071
1072 When debugging drivers it is useful to see what I/O accesses were
1073 done and in what order.
1074
1075 Even if the individual accesses are of little interest it can be
1076 useful to verify that the access pattern is consistent each time
1077 an operation is performed. In this case a checksum can be used to
1078 characterise the operation of a driver. The checksum can be compared
1079 across different runs of the operation to verify that the driver is
1080 working properly.
1081
1082 In particular, when performing major refactoring of the driver, where
1083 the access pattern should not change, the checksum provides assurance
1084 that the refactoring work has not broken the driver.
1085
1086 This works by sneaking into the io.h heder for an architecture and
1087 redirecting I/O accesses through iotrace's tracing mechanism.
1088
1089 For now no commands are provided to examine the trace buffer. The
1090 format is fairly simple, so 'md' is a reasonable substitute.
1091
1092 Note: The checksum feature is only useful for I/O regions where the
1093 contents do not change outside of software control. Where this is not
1094 suitable you can fall back to manually comparing the addresses. It
1095 might be useful to enhance tracing to only checksum the accesses and
1096 not the data read/written.
1097
0c19b4d1
SG
1098config CMD_I2C
1099 bool "i2c"
1100 help
1101 I2C support.
1102
d05266f7
EH
1103config CMD_W1
1104 depends on W1
1105 default y if W1
1106 bool "w1 - Support for Dallas 1-Wire protocol"
1107 help
1108 Dallas 1-wire protocol support
1109
72a8cf8d
SG
1110config CMD_LOADB
1111 bool "loadb"
1112 default y
1113 help
1114 Load a binary file over serial line.
1115
1116config CMD_LOADS
1117 bool "loads"
1118 default y
1119 help
1120 Load an S-Record file over serial line
1121
e3697908
NF
1122config CMD_LSBLK
1123 depends on BLK
1124 bool "lsblk - list block drivers and devices"
1125 help
1126 Print list of available block device drivers, and for each, the list
1127 of known block devices.
1128
750c543c
MS
1129config CMD_MBR
1130 bool "MBR (Master Boot Record) command"
1131 select DOS_PARTITION
1132 select HAVE_BLOCK_DEVICE
1133 help
1134 Enable the 'mbr' command to ready and write MBR (Master Boot Record)
1135 style partition tables.
1136
3bc0db11
BM
1137config CMD_MISC
1138 bool "misc"
1139 depends on MISC
1140 help
1141 Enable the command "misc" for accessing miscellaneous devices with
1142 a MISC uclass driver. The command provides listing all MISC devices
1143 as well as read and write functionalities via their drivers.
1144
ab8243e4
DN
1145config CMD_MMC
1146 bool "mmc"
ec611871 1147 depends on MMC
ab8243e4
DN
1148 help
1149 MMC memory mapped support.
1150
453d2138
HS
1151if CMD_MMC
1152
1153config CMD_BKOPS_ENABLE
1154 bool "mmc bkops enable"
1155 depends on CMD_MMC
453d2138
HS
1156 help
1157 Enable command for setting manual background operations handshake
1158 on a eMMC device. The feature is optionally available on eMMC devices
1159 conforming to standard >= 4.41.
1160
5a7b11e6
AK
1161config CMD_MMC_RPMB
1162 bool "Enable support for RPMB in the mmc command"
453d2138 1163 depends on SUPPORT_EMMC_RPMB
5a7b11e6
AK
1164 help
1165 Enable the commands for reading, writing and programming the
1166 key for the Replay Protection Memory Block partition in eMMC.
1167
c232d14d
AK
1168config CMD_MMC_SWRITE
1169 bool "mmc swrite"
453d2138 1170 depends on MMC_WRITE
c232d14d
AK
1171 select IMAGE_SPARSE
1172 help
1173 Enable support for the "mmc swrite" command to write Android sparse
1174 images to eMMC.
1175
453d2138
HS
1176endif
1177
4a4830cf
JC
1178config CMD_CLONE
1179 bool "clone"
1180 depends on BLK
1181 help
1182 Enable storage cloning over block devices, useful for
1183 initial flashing by external block device without network
1184 or usb support.
1185
bcc6c574
RG
1186config CMD_OPTEE_RPMB
1187 bool "Enable read/write support on RPMB via OPTEE"
1188 depends on SUPPORT_EMMC_RPMB && OPTEE
1189 help
1190 Enable the commands for reading, writing persistent named values
1191 in the Replay Protection Memory Block partition in eMMC by
1192 using Persistent Objects in OPTEE
1193
5db66b3a
MR
1194config CMD_MTD
1195 bool "mtd"
ff102c54 1196 depends on MTD
5db66b3a
MR
1197 select MTD_PARTITIONS
1198 help
1199 MTD commands support.
1200
05115abe
PY
1201config CMD_MUX
1202 bool "mux"
1203 depends on MULTIPLEXER
1204 help
1205 List, select, and deselect mux controllers on the fly.
1206
72a8cf8d
SG
1207config CMD_NAND
1208 bool "nand"
522c282f 1209 default y if NAND_SUNXI
ff102c54 1210 depends on MTD_RAW_NAND
72a8cf8d
SG
1211 help
1212 NAND support.
1213
e915d201
BB
1214if CMD_NAND
1215config CMD_NAND_TRIMFFS
1216 bool "nand write.trimffs"
d482a8df 1217 default y if ARCH_SUNXI
e915d201
BB
1218 help
1219 Allows one to skip empty pages when flashing something on a NAND.
1220
1221config CMD_NAND_LOCK_UNLOCK
1222 bool "nand lock/unlock"
1223 help
1224 NAND locking support.
1225
1226config CMD_NAND_TORTURE
1227 bool "nand torture"
1228 help
1229 NAND torture support.
1230
1231endif # CMD_NAND
1232
0adc38be
ZZ
1233config CMD_NVME
1234 bool "nvme"
1235 depends on NVME
1236 default y if NVME
1237 help
1238 NVM Express device support
1239
978f0854
SG
1240config CMD_ONENAND
1241 bool "onenand - access to onenand device"
ff102c54 1242 depends on MTD
978f0854
SG
1243 help
1244 OneNAND is a brand of NAND ('Not AND' gate) flash which provides
1245 various useful features. This command allows reading, writing,
1246 and erasing blocks. It allso provides a way to show and change
1247 bad blocks, and test the device.
1248
3bf65cb5
MS
1249config CMD_OSD
1250 bool "osd"
1251 help
1252 Enable the 'osd' command which allows to query information from and
1253 write text data to a on-screen display (OSD) device; a virtual device
1254 associated with a display capable of displaying a text overlay on the
1255 display it's associated with..
1256
b331cd62
PD
1257config CMD_PART
1258 bool "part"
1811a928 1259 select HAVE_BLOCK_DEVICE
5ed063d1 1260 select PARTITION_UUIDS
b331cd62
PD
1261 help
1262 Read and display information about the partition table on
1263 various media.
1264
6500ec7a
SG
1265config CMD_PCI
1266 bool "pci - Access PCI devices"
1267 help
1268 Provide access to PCI (Peripheral Interconnect Bus), a type of bus
1269 used on some devices to allow the CPU to communicate with its
1270 peripherals. Sub-commands allow bus enumeration, displaying and
1271 changing configuration space and a few other features.
1272
d5a83139
PC
1273config CMD_PINMUX
1274 bool "pinmux - show pins muxing"
a70abcff 1275 depends on PINCTRL
d5a83139
PC
1276 default y if PINCTRL
1277 help
1278 Parse all available pin-controllers and show pins muxing. This
1279 is useful for debug purpoer to check the pin muxing and to know if
1280 a pin is configured as a GPIO or as an alternate function.
1281
577c40ae
AF
1282config CMD_POWEROFF
1283 bool "poweroff"
1284 help
1285 Poweroff/Shutdown the system
1286
b75dfd2d
SG
1287config CMD_READ
1288 bool "read - Read binary data from a partition"
1289 help
1290 Provides low-level access to the data in a partition.
1291
0c19b4d1
SG
1292config CMD_REMOTEPROC
1293 bool "remoteproc"
1294 depends on REMOTEPROC
1295 help
1296 Support for Remote Processor control
1297
1298config CMD_SATA
1299 bool "sata - Access SATA subsystem"
1300 select SATA
1301 help
1302 SATA (Serial Advanced Technology Attachment) is a serial bus
1303 standard for connecting to hard drives and other storage devices.
1304 This command provides information about attached devices and allows
1305 reading, writing and other operations.
1306
1307 SATA replaces PATA (originally just ATA), which stands for Parallel AT
1308 Attachment, where AT refers to an IBM AT (Advanced Technology)
1309 computer released in 1984.
1310
15dc63d6
SG
1311config CMD_SAVES
1312 bool "saves - Save a file over serial in S-Record format"
1313 help
1314 Provides a way to save a binary file using the Motorola S-Record
1315 format over the serial line.
1316
0c3fecd0
HS
1317config CMD_SCSI
1318 bool "scsi - Access to SCSI devices"
1319 default y if SCSI
1320 help
1321 This provides a 'scsi' command which provides access to SCSI (Small
1322 Computer System Interface) devices. The command provides a way to
1323 scan the bus, reset the bus, read and write data and get information
1324 about devices.
1325
efce2442
SG
1326config CMD_SDRAM
1327 bool "sdram - Print SDRAM configuration information"
1328 help
1329 Provides information about attached SDRAM. This assumed that the
1330 SDRAM has an EEPROM with information that can be read using the
1331 I2C bus. This is only available on some boards.
1332
72a8cf8d
SG
1333config CMD_SF
1334 bool "sf"
a4298dda 1335 depends on DM_SPI_FLASH || SPI_FLASH
c2af7fb1 1336 default y if DM_SPI_FLASH
72a8cf8d
SG
1337 help
1338 SPI Flash support
1339
719d36ee
SG
1340config CMD_SF_TEST
1341 bool "sf test - Allow testing of SPI flash"
a4298dda 1342 depends on CMD_SF
719d36ee
SG
1343 help
1344 Provides a way to test that SPI flash is working correctly. The
1345 test is destructive, in that an area of SPI flash must be provided
1346 for the test to use. Performance information is also provided,
1347 measuring the performance of reading, writing and erasing in
1348 Mbps (Million Bits Per Second). This value should approximately
1349 equal the SPI bus speed for a single-bit-wide SPI bus, assuming
1350 everything is working properly.
1351
72a8cf8d 1352config CMD_SPI
c95e632d 1353 bool "sspi - Command to access spi device"
a4298dda 1354 depends on SPI
72a8cf8d
SG
1355 help
1356 SPI utility command.
1357
c95e632d
PD
1358config DEFAULT_SPI_BUS
1359 int "default spi bus used by sspi command"
1360 depends on CMD_SPI
1361 default 0
1362
1363config DEFAULT_SPI_MODE
1364 hex "default spi mode used by sspi command (see include/spi.h)"
1365 depends on CMD_SPI
1366 default 0
1367
5605aa8a
SG
1368config CMD_TSI148
1369 bool "tsi148 - Command to access tsi148 device"
1370 help
1371 This provides various sub-commands to initialise and configure the
1372 Turndra tsi148 device. See the command help for full details.
1373
a539c8bd
FA
1374config CMD_UFS
1375 bool "Enable UFS - Universal Flash Subsystem commands"
1376 depends on UFS
1377 help
1378 "This provides commands to initialise and configure universal flash
1379 subsystem devices"
1380
2a242e3e
SG
1381config CMD_UNIVERSE
1382 bool "universe - Command to set up the Turndra Universe controller"
1383 help
1384 This allows setting up the VMEbus provided by this controller.
1385 See the command help for full details.
1386
72a8cf8d
SG
1387config CMD_USB
1388 bool "usb"
e8d3eaad 1389 depends on USB_HOST
1811a928 1390 select HAVE_BLOCK_DEVICE
72a8cf8d
SG
1391 help
1392 USB support.
1393
2f005695
SA
1394config CMD_USB_SDP
1395 bool "sdp"
1396 select USB_FUNCTION_SDP
1397 help
1398 Enables the command "sdp" which is used to have U-Boot emulating the
1399 Serial Download Protocol (SDP) via USB.
6e7bdde4 1400
453c95e0
EC
1401config CMD_ROCKUSB
1402 bool "rockusb"
1403 depends on USB_FUNCTION_ROCKUSB
1404 help
6e7bdde4 1405 Rockusb protocol is widely used by Rockchip SoC based devices. It can
453c95e0
EC
1406 read/write info, image to/from devices. This enable rockusb command
1407 support to communication with rockusb device. for more detail about
1408 this command, please read doc/README.rockusb.
2f005695 1409
ab8243e4
DN
1410config CMD_USB_MASS_STORAGE
1411 bool "UMS usb mass storage"
123dc510 1412 depends on USB_GADGET_DOWNLOAD
e4d4604a 1413 select USB_FUNCTION_MASS_STORAGE
6b8d9c92 1414 depends on BLK && USB_GADGET
ab8243e4 1415 help
6b8d9c92
PD
1416 Enables the command "ums" and the USB mass storage support to the
1417 export a block device: U-Boot, the USB device, acts as a simple
1418 external hard drive plugged on the host USB port.
ab8243e4 1419
722bc5b5
AL
1420config CMD_PVBLOCK
1421 bool "Xen para-virtualized block device"
1422 depends on XEN
1423 select PVBLOCK
1424 help
1425 Xen para-virtualized block device support
1426
78e12901
TT
1427config CMD_VIRTIO
1428 bool "virtio"
1429 depends on VIRTIO
05173eca 1430 depends on HAVE_BLOCK_DEVICE
78e12901
TT
1431 default y if VIRTIO
1432 help
1433 VirtIO block device support
1434
82a00be3
MW
1435config CMD_WDT
1436 bool "wdt"
1437 depends on WDT
1438 help
1439 This provides commands to control the watchdog timer devices.
1440
37c4a5f6
MS
1441config CMD_AXI
1442 bool "axi"
1443 depends on AXI
1444 help
1445 Enable the command "axi" for accessing AXI (Advanced eXtensible
1446 Interface) busses, a on-chip interconnect specification for managing
1447 functional blocks in SoC designs, which is also often used in designs
1448 involving FPGAs (e.g. communication with IP cores in Xilinx FPGAs).
72a8cf8d
SG
1449endmenu
1450
1451
1452menu "Shell scripting commands"
1453
1454config CMD_ECHO
1455 bool "echo"
1456 default y
1457 help
1458 Echo args to console
1459
1460config CMD_ITEST
1461 bool "itest"
1462 default y
1463 help
1464 Return true/false on integer compare.
1465
1466config CMD_SOURCE
1467 bool "source"
1468 default y
1469 help
1470 Run script from memory
1471
1472config CMD_SETEXPR
1473 bool "setexpr"
1474 default y
1475 help
1476 Evaluate boolean and math expressions and store the result in an env
1477 variable.
1478 Also supports loading the value at a memory location into a variable.
1479 If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
1480
f4f8d8bb
RG
1481config CMD_SETEXPR_FMT
1482 bool "setexpr_fmt"
f4f8d8bb
RG
1483 depends on CMD_SETEXPR
1484 help
1485 Evaluate format string expression and store result in an environment
1486 variable.
1487
72a8cf8d
SG
1488endmenu
1489
17030c7c
RT
1490menu "Android support commands"
1491
1492config CMD_AB_SELECT
1493 bool "ab_select"
17030c7c
RT
1494 depends on ANDROID_AB
1495 help
1496 On Android devices with more than one boot slot (multiple copies of
1497 the kernel and system images) this provides a command to select which
1498 slot should be used to boot from and register the boot attempt. This
1499 is used by the new A/B update model where one slot is updated in the
1500 background while running from the other slot.
1501
1502endmenu
1503
3b3ea2c5
MS
1504if NET
1505
d7a45eaf
JH
1506menuconfig CMD_NET
1507 bool "Network commands"
1508 default y
d7869b21 1509 imply NETDEVICES
d7a45eaf
JH
1510
1511if CMD_NET
1512
1513config CMD_BOOTP
1514 bool "bootp"
72a8cf8d
SG
1515 default y
1516 help
72a8cf8d 1517 bootp - boot image via network using BOOTP/TFTP protocol
d7a45eaf 1518
e88b2563
JH
1519config CMD_DHCP
1520 bool "dhcp"
1521 depends on CMD_BOOTP
1522 help
1523 Boot image via network using DHCP/TFTP protocol
1524
a542e430
TR
1525config BOOTP_MAY_FAIL
1526 bool "Allow for the BOOTP/DHCP server to not be found"
1527 depends on CMD_BOOTP
1528 help
1529 If the DHCP server is not found after the configured retry count, the
1530 call will fail instead of starting over. This can be used to fail
1531 over to Link-local IP address configuration if the DHCP server is not
1532 available.
1533
92fa44d5 1534config BOOTP_BOOTPATH
8df69d90 1535 bool "Request & store 'rootpath' from BOOTP/DHCP server"
3dfbc53b 1536 default y
92fa44d5 1537 depends on CMD_BOOTP
8df69d90
JH
1538 help
1539 Even though the config is called BOOTP_BOOTPATH, it stores the
1540 path in the variable 'rootpath'.
92fa44d5 1541
a542e430
TR
1542config BOOTP_VENDOREX
1543 bool "Support vendor extensions from BOOTP/DHCP server"
1544 depends on CMD_BOOTP
1545
1546config BOOTP_BOOTFILESIZE
1547 bool "Request & store 'bootfilesize' from BOOTP/DHCP server"
1548 depends on CMD_BOOTP
1549
92fa44d5 1550config BOOTP_DNS
8df69d90 1551 bool "Request & store 'dnsip' from BOOTP/DHCP server"
3dfbc53b 1552 default y
92fa44d5 1553 depends on CMD_BOOTP
8df69d90
JH
1554 help
1555 The primary DNS server is stored as 'dnsip'. If two servers are
1556 returned, you must set BOOTP_DNS2 to store that second server IP
1557 also.
92fa44d5 1558
80449c03
JH
1559config BOOTP_DNS2
1560 bool "Store 'dnsip2' from BOOTP/DHCP server"
1561 depends on BOOTP_DNS
1562 help
1563 If a DHCP client requests the DNS server IP from a DHCP server,
1564 it is possible that more than one DNS serverip is offered to the
1565 client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
1566 server IP will be stored in the additional environment
1567 variable "dnsip2". The first DNS serverip is always
1568 stored in the variable "dnsip", when BOOTP_DNS is defined.
1569
92fa44d5 1570config BOOTP_GATEWAY
8df69d90 1571 bool "Request & store 'gatewayip' from BOOTP/DHCP server"
3dfbc53b 1572 default y
92fa44d5
JH
1573 depends on CMD_BOOTP
1574
1575config BOOTP_HOSTNAME
8df69d90 1576 bool "Request & store 'hostname' from BOOTP/DHCP server"
3dfbc53b 1577 default y
92fa44d5 1578 depends on CMD_BOOTP
8df69d90
JH
1579 help
1580 The name may or may not be qualified with the local domain name.
92fa44d5 1581
bdce340c
AG
1582config BOOTP_PREFER_SERVERIP
1583 bool "serverip variable takes precedent over DHCP server IP."
1584 depends on CMD_BOOTP
1585 help
1586 By default a BOOTP/DHCP reply will overwrite the 'serverip' variable.
1587
1588 With this option enabled, the 'serverip' variable in the environment
1589 takes precedence over DHCP server IP and will only be set by the DHCP
1590 server if not already set in the environment.
1591
92fa44d5 1592config BOOTP_SUBNETMASK
8df69d90 1593 bool "Request & store 'netmask' from BOOTP/DHCP server"
3dfbc53b 1594 default y
92fa44d5
JH
1595 depends on CMD_BOOTP
1596
a542e430
TR
1597config BOOTP_NISDOMAIN
1598 bool "Request & store 'nisdomain' from BOOTP/DHCP server"
1599 depends on CMD_BOOTP
1600
9b23c73d
CP
1601config BOOTP_NTPSERVER
1602 bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
1603 depends on CMD_BOOTP
1604
a542e430
TR
1605config BOOTP_TIMEOFFSET
1606 bool "Request & store 'timeoffset' from BOOTP/DHCP server"
1607 depends on CMD_BOOTP && CMD_SNTP
1608
3eaac630
RF
1609config CMD_PCAP
1610 bool "pcap capture"
1611 help
1612 Selecting this will allow capturing all Ethernet packets and store
1613 them in physical memory in a PCAP formated file,
1614 later to be analyzed by PCAP reader application (IE. WireShark).
1615
92fa44d5 1616config BOOTP_PXE
2b9f486b 1617 bool "Send PXE client arch to BOOTP/DHCP server"
3dfbc53b 1618 default y
2b9f486b
JH
1619 depends on CMD_BOOTP && CMD_PXE
1620 help
1621 Supported for ARM, ARM64, and x86 for now.
92fa44d5
JH
1622
1623config BOOTP_PXE_CLIENTARCH
1624 hex
2b9f486b 1625 depends on BOOTP_PXE
92fa44d5
JH
1626 default 0x16 if ARM64
1627 default 0x15 if ARM
1628 default 0 if X86
1629
1630config BOOTP_VCI_STRING
1631 string
1632 depends on CMD_BOOTP
4bbd6b1d 1633 default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R
92fa44d5
JH
1634 default "U-Boot.armv8" if ARM64
1635 default "U-Boot.arm" if ARM
1636 default "U-Boot"
1637
d7a45eaf
JH
1638config CMD_TFTPBOOT
1639 bool "tftpboot"
1640 default y
1641 help
72a8cf8d
SG
1642 tftpboot - boot image via network using TFTP protocol
1643
1644config CMD_TFTPPUT
1645 bool "tftp put"
d7a45eaf 1646 depends on CMD_TFTPBOOT
72a8cf8d
SG
1647 help
1648 TFTP put command, for uploading files to a server
1649
1650config CMD_TFTPSRV
1651 bool "tftpsrv"
d7a45eaf 1652 depends on CMD_TFTPBOOT
72a8cf8d
SG
1653 help
1654 Act as a TFTP server and boot the first received file
1655
92fa44d5
JH
1656config NET_TFTP_VARS
1657 bool "Control TFTP timeout and count through environment"
1658 depends on CMD_TFTPBOOT
1659 default y
1660 help
1661 If set, allows controlling the TFTP timeout through the
1662 environment variable tftptimeout, and the TFTP maximum
1663 timeout count through the variable tftptimeoutcountmax.
1664 If unset, timeout and maximum are hard-defined as 1 second
1665 and 10 timouts per TFTP transfer.
1666
72a8cf8d
SG
1667config CMD_RARP
1668 bool "rarpboot"
1669 help
1670 Boot image via network using RARP/TFTP protocol
1671
72a8cf8d
SG
1672config CMD_NFS
1673 bool "nfs"
1674 default y
1675 help
1676 Boot image via network using NFS protocol.
1677
eeda762a
TR
1678config NFS_TIMEOUT
1679 int "Timeout in milliseconds for NFS mounts"
1680 depends on CMD_NFS
1681 default 2000
1682 help
1683 Timeout in milliseconds used in NFS protocol. If you encounter
1684 "ERROR: Cannot umount" in nfs command, try longer timeout such as
1685 10000.
1686
ab8243e4
DN
1687config CMD_MII
1688 bool "mii"
7d9701db
RF
1689 imply CMD_MDIO
1690 help
1691 If set, allows 802.3(clause 22) MII Management functions interface access
1692 The management interface specified in Clause 22 provides
1693 a simple, two signal, serial interface to connect a
1694 Station Management entity and a managed PHY for providing access
1695 to management parameters and services.
1696 The interface is referred to as the MII management interface.
1697
cc386f16
TR
1698config MII_INIT
1699 bool "Call mii_init() in the mii command"
1700 depends on CMD_MII && (MPC8XX_FEC || FSLDMAFE || MCFFEC)
1701
7d9701db
RF
1702config CMD_MDIO
1703 bool "mdio"
1704 depends on PHYLIB
1705 help
1706 If set, allows Enable 802.3(clause 45) MDIO interface registers access
1707 The MDIO interface is orthogonal to the MII interface and extends
1708 it by adding access to more registers through indirect addressing.
ab8243e4 1709
72a8cf8d
SG
1710config CMD_PING
1711 bool "ping"
1712 help
1713 Send ICMP ECHO_REQUEST to network host
1714
1715config CMD_CDP
1716 bool "cdp"
1717 help
1718 Perform CDP network configuration
1719
1720config CMD_SNTP
1721 bool "sntp"
912ece4c 1722 select PROT_UDP
72a8cf8d
SG
1723 help
1724 Synchronize RTC via network
1725
1726config CMD_DNS
1727 bool "dns"
1728 help
1729 Lookup the IP of a hostname
1730
1731config CMD_LINK_LOCAL
1732 bool "linklocal"
6f0dc0ca 1733 select LIB_RAND
72a8cf8d
SG
1734 help
1735 Acquire a network IP address using the link-local protocol
1736
92fa44d5
JH
1737endif
1738
ef072200
SG
1739config CMD_ETHSW
1740 bool "ethsw"
1741 help
1742 Allow control of L2 Ethernet switch commands. These are supported
1743 by the vsc9953 Ethernet driver at present. Sub-commands allow
1744 operations such as enabling / disabling a port and
1745 viewing/maintaining the filtering database (FDB)
1746
92fa44d5
JH
1747config CMD_PXE
1748 bool "pxe"
1749 select MENU
1750 help
1751 Boot image via network using PXE protocol
3b3ea2c5 1752
d8970dae
LF
1753config CMD_WOL
1754 bool "wol"
1755 help
1756 Wait for wake-on-lan Magic Packet
1757
d7a45eaf 1758endif
72a8cf8d
SG
1759
1760menu "Misc commands"
1761
0f710258
SG
1762config CMD_BMP
1763 bool "Enable 'bmp' command"
1764 depends on LCD || DM_VIDEO || VIDEO
1765 help
60a9aebd 1766 This provides a way to obtain information about a BMP-format image
0f710258
SG
1767 and to display it. BMP (which presumably stands for BitMaP) is a
1768 file format defined by Microsoft which supports images of various
1769 depths, formats and compression methods. Headers on the file
1770 determine the formats used. This command can be used by first loading
1771 the image into RAM, then using this command to look at it or display
1772 it.
1773
b11ed7d6
AK
1774config CMD_BOOTCOUNT
1775 bool "bootcount"
1776 depends on BOOTCOUNT_LIMIT
1777 help
1778 Enable the bootcount command, which allows interrogation and
1779 reset of the bootcounter.
1780
4893e34b
SG
1781config CMD_BSP
1782 bool "Enable board-specific commands"
1783 help
1784 (deprecated: instead, please define a Kconfig option for each command)
1785
1786 Some boards have board-specific commands which are only enabled
1787 during developemnt and need to be turned off for production. This
1788 option provides a way to control this. The commands that are enabled
1789 vary depending on the board.
1790
e40cf34a
EN
1791config CMD_BLOCK_CACHE
1792 bool "blkcache - control and stats for block cache"
1793 depends on BLOCK_CACHE
1794 default y if BLOCK_CACHE
1795 help
1796 Enable the blkcache command, which can be used to control the
1797 operation of the cache functions.
1798 This is most useful when fine-tuning the operation of the cache
1799 during development, but also allows the cache to be disabled when
1800 it might hurt performance (e.g. when using the ums command).
1801
325141a6
PR
1802config CMD_BUTTON
1803 bool "button"
1804 depends on BUTTON
1805 default y if BUTTON
1806 help
1807 Enable the 'button' command which allows to get the status of
1808 buttons supported by the board. The buttonss can be listed with
1809 'button list' and state can be known with 'button <label>'.
1810 Any button drivers can be controlled with this command, e.g.
1811 button_gpio.
1812
ab8243e4
DN
1813config CMD_CACHE
1814 bool "icache or dcache"
1815 help
1816 Enable the "icache" and "dcache" commands
1817
29cfc096
HS
1818config CMD_CONITRACE
1819 bool "conitrace - trace console input codes"
1820 help
1821 Enable the 'conitrace' command which displays the codes received
1822 from the console input as hexadecimal numbers.
1823
4e92e60d
AG
1824config CMD_CLS
1825 bool "Enable clear screen command 'cls'"
1fa43cad 1826 depends on DM_VIDEO || LCD || VIDEO
4e92e60d
AG
1827 default y if LCD
1828 help
1829 Enable the 'cls' command which clears the screen contents
1830 on video frame buffer.
1831
59df7e7e
AT
1832config CMD_EFIDEBUG
1833 bool "efidebug - display/configure UEFI environment"
1834 depends on EFI_LOADER
64b5ba4d 1835 select EFI_DEVICE_PATH_TO_TEXT
59df7e7e
AT
1836 help
1837 Enable the 'efidebug' command which provides a subset of UEFI
1838 shell utility with simplified functionality. It will be useful
1839 particularly for managing boot parameters as well as examining
1840 various EFI status for debugging.
1841
dab8788a
HS
1842config CMD_EXCEPTION
1843 bool "exception - raise exception"
3a5ec035 1844 depends on ARM || RISCV || SANDBOX || X86
dab8788a
HS
1845 help
1846 Enable the 'exception' command which allows to raise an exception.
1847
ffe2052d
SG
1848config CMD_LED
1849 bool "led"
2ab6e74d 1850 depends on LED
ffe2052d
SG
1851 default y if LED
1852 help
1853 Enable the 'led' command which allows for control of LEDs supported
1854 by the board. The LEDs can be listed with 'led list' and controlled
1855 with led on/off/togle/blink. Any LED drivers can be controlled with
1856 this command, e.g. led_gpio.
1857
c9032ce1
CP
1858config CMD_DATE
1859 bool "date"
1860 default y if DM_RTC
05429b6c 1861 select LIB_DATE
c9032ce1
CP
1862 help
1863 Enable the 'date' command for getting/setting the time/date in RTC
1864 devices.
1865
803a8598
RV
1866config CMD_RTC
1867 bool "rtc"
1868 depends on DM_RTC
1869 help
1870 Enable the 'rtc' command for low-level access to RTC devices.
1871
72a8cf8d
SG
1872config CMD_TIME
1873 bool "time"
1874 help
1875 Run commands and summarize execution time.
1876
d91a9d7f
SG
1877config CMD_GETTIME
1878 bool "gettime - read elapsed time"
1879 help
1880 Enable the 'gettime' command which reads the elapsed time since
1881 U-Boot started running. This shows the time in seconds and
1882 milliseconds. See also the 'bootstage' command which provides more
1883 flexibility for boot timing.
1884
4f24ac08
HS
1885config CMD_RNG
1886 bool "rng command"
1887 depends on DM_RNG
1888 select HEXDUMP
1889 help
1890 Print bytes from the hardware random number generator.
1891
fe3dde3e
CM
1892config CMD_KASLRSEED
1893 bool "kaslrseed"
1894 depends on DM_RNG
1895 help
1896 Set the kaslr-seed in the chosen node with entropy provided by a
1897 hardware random number generator.
1898
16060854 1899config CMD_SLEEP
72a8cf8d
SG
1900 bool "sleep"
1901 default y
1902 help
1903 Delay execution for some time
1904
480245cf
ARS
1905config CMD_MP
1906 bool "support for multiprocessor commands"
1907 depends on MP
1908 default y
0fd2290c 1909 help
480245cf
ARS
1910 This enables commands to bringup different processors
1911 in multiprocessor cases.
0fd2290c 1912
72a8cf8d
SG
1913config CMD_TIMER
1914 bool "timer"
1915 help
1916 Access the system timer.
1917
72a8cf8d
SG
1918config CMD_SOUND
1919 bool "sound"
1920 depends on SOUND
1921 help
1922 This provides basic access to the U-Boot's sound support. The main
1923 feature is to play a beep.
1924
1925 sound init - set up sound system
1926 sound play - play a sound
1927
993c912d
PC
1928config CMD_SYSBOOT
1929 bool "sysboot"
1930 select MENU
1931 help
1932 Boot image via local extlinux.conf file
1933
18686590 1934config CMD_QFW
dd6f3abb 1935 bool "qfw"
fcf5c041 1936 select QFW
dd6f3abb
TR
1937 help
1938 This provides access to the QEMU firmware interface. The main
1939 feature is to allow easy loading of files passed to qemu-system
1940 via -kernel / -initrd
fa61ef6b 1941
9744d1a5
FD
1942config CMD_PSTORE
1943 bool "pstore"
1944 help
1945 This provides access to Linux PStore with Rammoops backend. The main
1946 feature is to allow to display or save PStore records.
1947
1948 See doc/pstore.rst for more information.
1949
1950if CMD_PSTORE
1951
1952config CMD_PSTORE_MEM_ADDR
1953 hex "Memory Address"
1954 depends on CMD_PSTORE
1955 help
1956 Base addr used for PStore ramoops memory, should be identical to
1957 ramoops.mem_address parameter used by kernel
1958
1959config CMD_PSTORE_MEM_SIZE
1960 hex "Memory size"
1961 depends on CMD_PSTORE
1962 default "0x10000"
1963 help
1964 Size of PStore ramoops memory, should be identical to ramoops.mem_size
1965 parameter used by kernel, a power of 2 and larger than the sum of the
1966 record sizes
1967
1968config CMD_PSTORE_RECORD_SIZE
1969 hex "Dump record size"
1970 depends on CMD_PSTORE
1971 default "0x1000"
1972 help
1973 Size of each dump done on oops/panic, should be identical to
1974 ramoops.record_size parameter used by kernel and a power of 2
1975 Must be non-zero
1976
1977config CMD_PSTORE_CONSOLE_SIZE
1978 hex "Kernel console log size"
1979 depends on CMD_PSTORE
1980 default "0x1000"
1981 help
1982 Size of kernel console log, should be identical to
1983 ramoops.console_size parameter used by kernel and a power of 2
1984 Must be non-zero
1985
1986config CMD_PSTORE_FTRACE_SIZE
1987 hex "FTrace log size"
1988 depends on CMD_PSTORE
1989 default "0x1000"
1990 help
1991 Size of ftrace log, should be identical to ramoops.ftrace_size
1992 parameter used by kernel and a power of 2
1993
1994config CMD_PSTORE_PMSG_SIZE
1995 hex "User space message log size"
1996 depends on CMD_PSTORE
1997 default "0x1000"
1998 help
1999 Size of user space message log, should be identical to
2000 ramoops.pmsg_size parameter used by kernel and a power of 2
2001
2002config CMD_PSTORE_ECC_SIZE
2003 int "ECC size"
2004 depends on CMD_PSTORE
2005 default "0"
2006 help
2007 if non-zero, the option enables ECC support and specifies ECC buffer
2008 size in bytes (1 is a special value, means 16 bytes ECC), should be
2009 identical to ramoops.ramoops_ecc parameter used by kernel
2010
2011endif
2012
fa61ef6b
KP
2013source "cmd/mvebu/Kconfig"
2014
3cef3b31
SG
2015config CMD_TERMINAL
2016 bool "terminal - provides a way to attach a serial terminal"
2017 help
2018 Provides a 'cu'-like serial terminal command. This can be used to
2019 access other serial ports from the system console. The terminal
2020 is very simple with no special processing of characters. As with
2021 cu, you can press ~. (tilde followed by period) to exit.
2022
1aa4e8d0
SG
2023config CMD_UUID
2024 bool "uuid, guid - generation of unique IDs"
a451bc27 2025 select LIB_UUID
1aa4e8d0
SG
2026 help
2027 This enables two commands:
2028
2029 uuid - generate random Universally Unique Identifier
2030 guid - generate Globally Unique Identifier based on random UUID
2031
2032 The two commands are very similar except for the endianness of the
2033 output.
2034
72a8cf8d
SG
2035endmenu
2036
5cd9661d
LV
2037source "cmd/ti/Kconfig"
2038
72a8cf8d
SG
2039config CMD_BOOTSTAGE
2040 bool "Enable the 'bootstage' command"
2041 depends on BOOTSTAGE
2042 help
2043 Add a 'bootstage' command which supports printing a report
2044 and un/stashing of bootstage data.
2045
2046menu "Power commands"
2047config CMD_PMIC
2048 bool "Enable Driver Model PMIC command"
2049 depends on DM_PMIC
2050 help
2051 This is the pmic command, based on a driver model pmic's API.
2052 Command features are unchanged:
2053 - list - list pmic devices
2054 - pmic dev <id> - show or [set] operating pmic device (NEW)
2055 - pmic dump - dump registers
2056 - pmic read address - read byte of register at address
2057 - pmic write address - write byte to register at address
2058 The only one change for this command is 'dev' subcommand.
2059
2060config CMD_REGULATOR
2061 bool "Enable Driver Model REGULATOR command"
2062 depends on DM_REGULATOR
2063 help
2064 This command is based on driver model regulator's API.
2065 User interface features:
2066 - list - list regulator devices
2067 - regulator dev <id> - show or [set] operating regulator device
2068 - regulator info - print constraints info
2069 - regulator status - print operating status
2070 - regulator value <val] <-f> - print/[set] voltage value [uV]
2071 - regulator current <val> - print/[set] current value [uA]
2072 - regulator mode <id> - print/[set] operating mode id
2073 - regulator enable - enable the regulator output
2074 - regulator disable - disable the regulator output
2075
2076 The '-f' (force) option can be used for set the value which exceeds
2077 the limits, which are found in device-tree and are kept in regulator's
caa4daa2 2078 uclass plat structure.
72a8cf8d
SG
2079
2080endmenu
2081
2082menu "Security commands"
b1a873df
SG
2083config CMD_AES
2084 bool "Enable the 'aes' command"
2085 select AES
2086 help
2087 This provides a means to encrypt and decrypt data using the AES
2088 (Advanced Encryption Standard). This algorithm uses a symetric key
2089 and is widely used as a streaming cipher. Different key lengths are
2090 supported by the algorithm but this command only supports 128 bits
2091 at present.
2092
c04b9b34
SG
2093config CMD_BLOB
2094 bool "Enable the 'blob' command"
2532429b
AS
2095 depends on !MX6ULL && !MX6SLL && !MX6SL
2096 select IMX_HAB if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP || ARCH_IMX8M
c04b9b34
SG
2097 help
2098 This is used with the Freescale secure boot mechanism.
2099
2100 Freescale's SEC block has built-in Blob Protocol which provides
2101 a method for protecting user-defined data across system power
2102 cycles. SEC block protects data in a data structure called a Blob,
2103 which provides both confidentiality and integrity protection.
2104
2105 Encapsulating data as a blob
2106 Each time that the Blob Protocol is used to protect data, a
2107 different randomly generated key is used to encrypt the data.
2108 This random key is itself encrypted using a key which is derived
2109 from SoC's non-volatile secret key and a 16 bit Key identifier.
2110 The resulting encrypted key along with encrypted data is called a
2111 blob. The non-volatile secure key is available for use only during
2112 secure boot.
2113
2114 During decapsulation, the reverse process is performed to get back
2115 the original data.
2116
2117 Sub-commands:
6e7bdde4 2118 blob enc - encapsulating data as a cryptgraphic blob
c04b9b34
SG
2119 blob dec - decapsulating cryptgraphic blob to get the data
2120
2121 Syntax:
2122
2123 blob enc src dst len km
2124
2125 Encapsulate and create blob of data $len bytes long
2126 at address $src and store the result at address $dst.
2127 $km is the 16 byte key modifier is also required for
2128 generation/use as key for cryptographic operation. Key
2129 modifier should be 16 byte long.
2130
2131 blob dec src dst len km
2132
2133 Decapsulate the blob of data at address $src and
2134 store result of $len byte at addr $dst.
2135 $km is the 16 byte key modifier is also required for
2136 generation/use as key for cryptographic operation. Key
2137 modifier should be 16 byte long.
2138
551c3934
SG
2139config CMD_HASH
2140 bool "Support 'hash' command"
d70f919e 2141 select HASH
551c3934
SG
2142 help
2143 This provides a way to hash data in memory using various supported
2144 algorithms (such as SHA1, MD5, CRC32). The computed digest can be
2145 saved to memory or to an environment variable. It is also possible
2146 to verify a hash against data in memory.
2147
666028fc
MP
2148config CMD_HVC
2149 bool "Support the 'hvc' command"
2150 depends on ARM_SMCCC
2151 help
2152 Allows issuing Hypervisor Calls (HVCs). Mostly useful for
2153 development and testing.
2154
2155config CMD_SMC
2156 bool "Support the 'smc' command"
2157 depends on ARM_SMCCC
2158 help
2159 Allows issuing Secure Monitor Calls (SMCs). Mostly useful for
2160 development and testing.
2161
221a949e
DT
2162config HASH_VERIFY
2163 bool "hash -v"
2164 depends on CMD_HASH
2165 help
2166 Add -v option to verify data against a hash.
2167
26839e5d
JRO
2168config CMD_SCP03
2169 bool "scp03 - SCP03 enable and rotate/provision operations"
2170 depends on SCP03
2171 help
2172 This command provides access to a Trusted Application
2173 running in a TEE to request Secure Channel Protocol 03
2174 (SCP03) enablement and/or rotation of its SCP03 keys.
2175
9f9ce3c3
MR
2176config CMD_TPM_V1
2177 bool
2178
2179config CMD_TPM_V2
2180 bool
2181
72a8cf8d
SG
2182config CMD_TPM
2183 bool "Enable the 'tpm' command"
9f9ce3c3
MR
2184 depends on TPM_V1 || TPM_V2
2185 select CMD_TPM_V1 if TPM_V1
2186 select CMD_TPM_V2 if TPM_V2
72a8cf8d
SG
2187 help
2188 This provides a means to talk to a TPM from the command line. A wide
2189 range of commands if provided - see 'tpm help' for details. The
2190 command requires a suitable TPM on your board and the correct driver
2191 must be enabled.
2192
9f9ce3c3
MR
2193if CMD_TPM
2194
72a8cf8d
SG
2195config CMD_TPM_TEST
2196 bool "Enable the 'tpm test' command"
9f9ce3c3 2197 depends on TPM_V1
72a8cf8d 2198 help
9f9ce3c3
MR
2199 This provides a a series of tests to confirm that the TPMv1.x is
2200 working correctly. The tests cover initialisation, non-volatile RAM,
2201 extend, global lock and checking that timing is within expectations.
2202 The tests pass correctly on Infineon TPMs but may need to be adjusted
72a8cf8d
SG
2203 for other devices.
2204
9f9ce3c3
MR
2205endif
2206
72a8cf8d 2207endmenu
bfeba017
MF
2208
2209menu "Firmware commands"
2210config CMD_CROS_EC
2211 bool "Enable crosec command"
2212 depends on CROS_EC
2213 default y
2214 help
2215 Enable command-line access to the Chrome OS EC (Embedded
2216 Controller). This provides the 'crosec' command which has
2217 a number of sub-commands for performing EC tasks such as
2218 updating its flash, accessing a small saved context area
2219 and talking to the I2C bus behind the EC (if there is one).
2220endmenu
72a8cf8d 2221
ab8243e4 2222menu "Filesystem commands"
9d845509
MB
2223config CMD_BTRFS
2224 bool "Enable the 'btrsubvol' command"
2225 select FS_BTRFS
2226 help
2227 This enables the 'btrsubvol' command to list subvolumes
2228 of a BTRFS filesystem. There are no special commands for
2229 listing BTRFS directories or loading BTRFS files - this
2230 can be done by the generic 'fs' commands (see CMD_FS_GENERIC)
2231 when BTRFS is enabled (see FS_BTRFS).
2232
d66a10fc
SG
2233config CMD_CBFS
2234 bool "Enable the 'cbfs' command"
deb95999 2235 depends on FS_CBFS
d66a10fc
SG
2236 help
2237 Define this to enable support for reading from a Coreboot
2238 filesystem. This is a ROM-based filesystem used for accessing files
2239 on systems that use coreboot as the first boot-loader and then load
2240 U-Boot to actually boot the Operating System. Available commands are
2241 cbfsinit, cbfsinfo, cbfsls and cbfsload.
2242
97072747
SG
2243config CMD_CRAMFS
2244 bool "Enable the 'cramfs' command"
80e44cfe 2245 depends on FS_CRAMFS
97072747
SG
2246 help
2247 This provides commands for dealing with CRAMFS (Compressed ROM
2248 filesystem). CRAMFS is useful when space is tight since files are
2249 compressed. Two commands are provided:
2250
2251 cramfsls - lists files in a cramfs image
2252 cramfsload - loads a file from a cramfs image
2253
739941e1
HJ
2254config CMD_EROFS
2255 bool "EROFS command support"
2256 select FS_EROFS
2257 help
2258 Support for the EROFS fs
2259
ab8243e4
DN
2260config CMD_EXT2
2261 bool "ext2 command support"
3d22bae5 2262 select FS_EXT4
ab8243e4
DN
2263 help
2264 Enables EXT2 FS command
2265
2266config CMD_EXT4
2267 bool "ext4 command support"
3d22bae5 2268 select FS_EXT4
ab8243e4
DN
2269 help
2270 Enables EXT4 FS command
2271
2272config CMD_EXT4_WRITE
2273 depends on CMD_EXT4
2274 bool "ext4 write command support"
3d22bae5 2275 select EXT4_WRITE
ab8243e4
DN
2276 help
2277 Enables EXT4 FS write command
2278
2279config CMD_FAT
2280 bool "FAT command support"
eedfb89e 2281 select FS_FAT
ab8243e4
DN
2282 help
2283 Support for the FAT fs
2284
bba604b6
JMC
2285config CMD_SQUASHFS
2286 bool "SquashFS command support"
2287 select FS_SQUASHFS
2288 help
2289 Enables SquashFS filesystem commands (e.g. load, ls).
2290
ab8243e4
DN
2291config CMD_FS_GENERIC
2292 bool "filesystem commands"
2293 help
2294 Enables filesystem commands (e.g. load, ls) that work for multiple
2295 fs types.
0269dfae 2296
efbe99ce
JM
2297config CMD_FS_UUID
2298 bool "fsuuid command"
2299 help
2300 Enables fsuuid command for filesystem UUID.
2301
b8682a7f
SG
2302config CMD_JFFS2
2303 bool "jffs2 command"
59e12a4a 2304 select FS_JFFS2
b8682a7f
SG
2305 help
2306 Enables commands to support the JFFS2 (Journalling Flash File System
2307 version 2) filesystem. This enables fsload, ls and fsinfo which
2308 provide the ability to load files, list directories and obtain
2309 filesystem information.
2310
968c6210
TR
2311config JFFS2_DEV
2312 string "Default device for JFFS2"
2313 depends on CMD_JFFS2
2314 default "nor0"
2315 help
2316 The default device to use with the jffs2 command.
2317
2318config JFFS2_PART_OFFSET
2319 hex "Default offset within flash to locate the JFFS2 image"
2320 depends on CMD_JFFS2
2321 default 0x0
2322 help
2323 The default offset within flash to locate the JFFS2 image.
2324
2325config JFFS2_PART_SIZE
2326 hex "Default size of JFFS2 partition"
2327 depends on CMD_JFFS2
2328 default 0xFFFFFFFF
2329 help
2330 The default size of the JFFS2 partition
2331
0269dfae 2332config CMD_MTDPARTS
0269dfae 2333 bool "MTD partition support"
ff102c54 2334 depends on MTD
0269dfae 2335 help
938db6fe
MR
2336 MTD partitioning tool support.
2337 It is strongly encouraged to avoid using this command
2338 anymore along with 'sf', 'nand', 'onenand'. One can still
2339 declare the partitions in the mtdparts environment variable
2340 but better use the MTD stack and the 'mtd' command instead.
0269dfae 2341
cb70e6cb
SG
2342config CMD_MTDPARTS_SPREAD
2343 bool "Padd partition size to take account of bad blocks"
2344 depends on CMD_MTDPARTS
2345 help
2346 This enables the 'spread' sub-command of the mtdparts command.
2347 This command will modify the existing mtdparts variable by increasing
2348 the size of the partitions such that 1) each partition's net size is
2349 at least as large as the size specified in the mtdparts variable and
2350 2) each partition starts on a good block.
2351
672c5705
AD
2352config CMD_MTDPARTS_SHOW_NET_SIZES
2353 bool "Show net size (w/o bad blocks) of partitions"
2354 depends on CMD_MTDPARTS
2355 help
2356 Adds two columns to the printed partition table showing the
2357 effective usable size of a partition, if bad blocks are taken
2358 into account.
2359
587f4457
MR
2360config MTDIDS_DEFAULT
2361 string "Default MTD IDs"
ff102c54 2362 depends on MTD || SPI_FLASH
587f4457
MR
2363 help
2364 Defines a default MTD IDs list for use with MTD partitions in the
2365 Linux MTD command line partitions format.
2366
2367config MTDPARTS_DEFAULT
2368 string "Default MTD partition scheme"
ff102c54 2369 depends on MTD || SPI_FLASH
587f4457
MR
2370 help
2371 Defines a default MTD partitioning scheme in the Linux MTD command
2372 line partitions format
2373
f8803a99
SG
2374config CMD_REISER
2375 bool "reiser - Access to reiserfs filesystems"
2376 help
2377 This provides two commands which operate on a resierfs filesystem,
2378 commonly used some years ago:
2379
2380 reiserls - list files
2381 reiserload - load a file
2382
7a764318
SG
2383config CMD_YAFFS2
2384 bool "yaffs2 - Access of YAFFS2 filesystem"
2385 depends on YAFFS2
2386 default y
2387 help
2388 This provides commands for accessing a YAFFS2 filesystem. Yet
2389 Another Flash Filesystem 2 is a filesystem designed specifically
2390 for NAND flash. It incorporates bad-block management and ensures
2391 that device writes are sequential regardless of filesystem
2392 activity.
2393
54feea17
SG
2394config CMD_ZFS
2395 bool "zfs - Access of ZFS filesystem"
2396 help
2397 This provides commands to accessing a ZFS filesystem, commonly used
2398 on Solaris systems. Two sub-commands are provided:
2399
2400 zfsls - list files in a directory
2401 zfsload - load a file
2402
2403 See doc/README.zfs for more details.
2404
ab8243e4
DN
2405endmenu
2406
ac20a1b2
SG
2407menu "Debug commands"
2408
71cebf0b
SG
2409config CMD_CBSYSINFO
2410 bool "cbsysinfo"
2411 depends on X86
2412 default y if SYS_COREBOOT
2413 help
2414 This provides information about the coreboot sysinfo table stored in
2415 memory by coreboot before jumping to U-Boot. It can be useful for
2416 debugging the beaaviour of coreboot or U-Boot.
2417
3bd25cb5
SG
2418config CMD_DIAG
2419 bool "diag - Board diagnostics"
2420 help
2421 This command provides access to board diagnostic tests. These are
2422 called Power-on Self Tests (POST). The command allows listing of
2423 available tests and running either all the tests, or specific tests
2424 identified by name.
2425
c81b460c
SG
2426config CMD_EVENT
2427 bool "event - Show information about events"
2428 default y if EVENT_DEBUG
2429 help
2430 This enables the 'event' command which provides information about
2431 events and event-handler routines. This can help to device event
2432 hadling.
2433
1b330894
SG
2434config CMD_IRQ
2435 bool "irq - Show information about interrupts"
c5a7e5b3 2436 depends on !ARM && !MIPS && !RISCV && !SH
1b330894
SG
2437 help
2438 This enables two commands:
2439
2440 interrupts - enable or disable interrupts
2441 irqinfo - print device-specific interrupt information
6bac227a
SG
2442
2443config CMD_KGDB
2444 bool "kgdb - Allow debugging of U-Boot with gdb"
b9205506 2445 depends on PPC
6bac227a
SG
2446 help
2447 This enables a 'kgdb' command which allows gdb to connect to U-Boot
2448 over a serial link for debugging purposes. This allows
2449 single-stepping, inspecting variables, etc. This is supported only
2450 on PowerPC at present.
2451
d5f61f27
SG
2452config CMD_LOG
2453 bool "log - Generation, control and access to logging"
83a1f933 2454 select LOG
3e40976a 2455 select GETOPT
d5f61f27
SG
2456 help
2457 This provides access to logging features. It allows the output of
2458 log data to be controlled to a limited extent (setting up the default
ef11ed82
SG
2459 maximum log level for emitting of records). It also provides access
2460 to a command used for testing the log system.
d5f61f27 2461
ce058ae5
SG
2462config CMD_TRACE
2463 bool "trace - Support tracing of function calls and timing"
89050244
SG
2464 depends on TRACE
2465 default y
ce058ae5
SG
2466 help
2467 Enables a command to control using of function tracing within
2468 U-Boot. This allows recording of call traces including timing
2469 information. The command can write data to memory for exporting
a24a78d7 2470 for analysis (e.g. using bootchart). See doc/README.trace for full
ce058ae5
SG
2471 details.
2472
60b2f9e7
IO
2473config CMD_AVB
2474 bool "avb - Android Verified Boot 2.0 operations"
b0aa74a2 2475 depends on AVB_VERIFY
60b2f9e7
IO
2476 help
2477 Enables a "avb" command to perform verification of partitions using
2478 Android Verified Boot 2.0 functionality. It includes such subcommands:
2479 avb init - initialize avb2 subsystem
2480 avb read_rb - read rollback index
2481 avb write_rb - write rollback index
2482 avb is_unlocked - check device lock state
2483 avb get_uuid - read and print uuid of a partition
2484 avb read_part - read data from partition
2485 avb read_part_hex - read data from partition and output to stdout
2486 avb write_part - write data to partition
2487 avb verify - run full verification chain
4e9bce12
JP
2488
2489config CMD_STACKPROTECTOR_TEST
2490 bool "Test command for stack protector"
2491 depends on STACKPROTECTOR
2492 help
2493 Enable stackprot_test command
2494 The stackprot_test command will force a stack overrun to test
2495 the stack smashing detection mechanisms.
2496
ac20a1b2
SG
2497endmenu
2498
8f2fe0c8
HS
2499config CMD_UBI
2500 tristate "Enable UBI - Unsorted block images commands"
8f2fe0c8
HS
2501 select MTD_UBI
2502 help
2503 UBI is a software layer above MTD layer which admits use of LVM-like
2504 logical volumes on top of MTD devices, hides some complexities of
2505 flash chips like wear and bad blocks and provides some other useful
2506 capabilities. Please, consult the MTD web site for more details
2507 (www.linux-mtd.infradead.org). Activate this option if you want
2508 to use U-Boot UBI commands.
c58fb2cd
MR
2509 It is also strongly encouraged to also enable CONFIG_MTD to get full
2510 partition support.
8f2fe0c8 2511
83f7078b
PR
2512config CMD_UBI_RENAME
2513 bool "Enable rename"
2514 depends on CMD_UBI
83f7078b
PR
2515 help
2516 Enable a "ubi" command to rename ubi volume:
2517 ubi rename <oldname> <newname>
2518
173aafbf
BB
2519config CMD_UBIFS
2520 tristate "Enable UBIFS - Unsorted block images filesystem commands"
2bc734b1 2521 depends on CMD_UBI
5ed063d1 2522 default y if CMD_UBI
24fc9531 2523 select LZO
173aafbf
BB
2524 help
2525 UBIFS is a file system for flash devices which works on top of UBI.
2526
19f7a34a
AG
2527config MMC_SPEED_MODE_SET
2528 bool "set speed mode using mmc command"
2529 depends on CMD_MMC
2530 default n
2531 help
2532 Enable setting speed mode using mmc rescan and mmc dev commands.
2533 The speed mode is provided as the last argument in these commands
2534 and is indicated using the index from enum bus_mode in
2535 include/mmc.h. A speed mode can be set only if it has already
2536 been enabled in the device tree.
72a8cf8d 2537endmenu