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