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