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