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