xref: /rk3399_rockchip-uboot/cmd/Kconfig (revision 7e044b9aeceaa3c07ba4dd8939761bd87f4c8300)
1menu "Command line interface"
2
3config CMDLINE
4	bool "Support U-Boot commands"
5	default y
6	help
7	  Enable U-Boot's command-line functions. This provides a means
8	  to enter commands into U-Boot for a wide variety of purposes. It
9	  also allows scripts (containing commands) to be executed.
10	  Various commands and command categorys can be indivdually enabled.
11	  Depending on the number of commands enabled, this can add
12	  substantially to the size of U-Boot.
13
14config HUSH_PARSER
15	bool "Use hush shell"
16	depends on CMDLINE
17	help
18	  This option enables the "hush" shell (from Busybox) as command line
19	  interpreter, thus enabling powerful command line syntax like
20	  if...then...else...fi conditionals or `&&' and '||'
21	  constructs ("shell scripts").
22
23	  If disabled, you get the old, much simpler behaviour with a somewhat
24	  smaller memory footprint.
25
26config SYS_PROMPT
27	string "Shell prompt"
28	default "=> "
29	help
30	  This string is displayed in the command line to the left of the
31	  cursor.
32
33config U_BOOT_CMD_ALWAYS
34	bool "Enable cmd with U_BOOT_CMD_ALWAYS() declared"
35	depends on !CMDLINE
36	help
37	  This function is used to support some special U-Boot commands with
38	  U_BOOT_CMD_ALWAYS() declared even when CONFIG_CMDLINE is disabled.
39	  It reduces the image size and works with simple CLI.
40
41menu "Autoboot options"
42
43config AUTOBOOT
44	bool "Autoboot"
45	default y
46	help
47	  This enables the autoboot.  See doc/README.autoboot for detail.
48
49config AUTOBOOT_KEYED
50	bool "Stop autobooting via specific input key / string"
51	default n
52	help
53	  This option enables stopping (aborting) of the automatic
54	  boot feature only by issuing a specific input key or
55	  string. If not enabled, any input key will abort the
56	  U-Boot automatic booting process and bring the device
57	  to the U-Boot prompt for user input.
58
59config AUTOBOOT_PROMPT
60	string "Autoboot stop prompt"
61	depends on AUTOBOOT_KEYED
62	default "Autoboot in %d seconds\\n"
63	help
64	  This string is displayed before the boot delay selected by
65	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
66	  output indicating that autoboot is in progress.
67
68	  Note that this define is used as the (only) argument to a
69	  printf() call, so it may contain '%' format specifications,
70	  provided that it also includes, sepearated by commas exactly
71	  like in a printf statement, the required arguments. It is
72	  the responsibility of the user to select only such arguments
73	  that are valid in the given context.
74
75config AUTOBOOT_ENCRYPTION
76	bool "Enable encryption in autoboot stopping"
77	depends on AUTOBOOT_KEYED
78	default n
79
80config AUTOBOOT_DELAY_STR
81	string "Delay autobooting via specific input key / string"
82	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
83	help
84	  This option delays the automatic boot feature by issuing
85	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
86	  or the environment variable "bootdelaykey" is specified
87	  and this string is received from console input before
88	  autoboot starts booting, U-Boot gives a command prompt. The
89	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
90	  used, otherwise it never times out.
91
92config AUTOBOOT_STOP_STR
93	string "Stop autobooting via specific input key / string"
94	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
95	help
96	  This option enables stopping (aborting) of the automatic
97	  boot feature only by issuing a specific input key or
98	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
99	  variable "bootstopkey" is specified and this string is
100	  received from console input before autoboot starts booting,
101	  U-Boot gives a command prompt. The U-Boot prompt never
102	  times out, even if CONFIG_BOOT_RETRY_TIME is used.
103
104config AUTOBOOT_KEYED_CTRLC
105	bool "Enable Ctrl-C autoboot interruption"
106	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
107	default n
108	help
109	  This option allows for the boot sequence to be interrupted
110	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
111	  Setting this variable	provides an escape sequence from the
112	  limited "password" strings.
113
114config AUTOBOOT_STOP_STR_SHA256
115	string "Stop autobooting via SHA256 encrypted password"
116	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
117	help
118	  This option adds the feature to only stop the autobooting,
119	  and therefore boot into the U-Boot prompt, when the input
120	  string / password matches a values that is encypted via
121	  a SHA256 hash and saved in the environment.
122
123endmenu
124
125source "cmd/fastboot/Kconfig"
126
127config BUILD_BIN2C
128	bool
129
130comment "Commands"
131
132menu "Info commands"
133
134config CMD_BDI
135	bool "bdinfo"
136	default y
137	help
138	  Print board info
139
140config CMD_CONFIG
141	bool "config"
142	select BUILD_BIN2C
143	default SANDBOX
144	help
145	  Print ".config" contents.
146
147	  If this option is enabled, the ".config" file contents are embedded
148	  in the U-Boot image and can be printed on the console by the "config"
149	  command.  This provides information of which options are enabled on
150	  the running U-Boot.
151
152config CMD_CONSOLE
153	bool "coninfo"
154	default y
155	help
156	  Print console devices and information.
157
158config CMD_CPU
159	bool "cpu"
160	help
161	  Print information about available CPUs. This normally shows the
162	  number of CPUs, type (e.g. manufacturer, architecture, product or
163	  internal name) and clock frequency. Other information may be
164	  available depending on the CPU driver.
165
166config CMD_LICENSE
167	bool "license"
168	select BUILD_BIN2C
169	help
170	  Print GPL license text
171
172config CMD_REGINFO
173	bool "reginfo"
174	depends on PPC
175	help
176	  Register dump
177
178endmenu
179
180menu "Boot commands"
181
182config CMD_BOOTD
183	bool "bootd"
184	default y
185	help
186	  Run the command stored in the environment "bootcmd", i.e.
187	  "bootd" does the same thing as "run bootcmd".
188
189config CMD_BOOTM
190	bool "bootm"
191	default y
192	help
193	  Boot an application image from the memory.
194
195config CMD_BOOTZ
196	bool "bootz"
197	help
198	  Boot the Linux zImage
199
200config CMD_BOOTI
201	bool "booti"
202	depends on ARM64
203	default y
204	help
205	  Boot an AArch64 Linux Kernel image from memory.
206
207config CMD_BOOTEFI
208	bool "bootefi"
209	depends on EFI_LOADER
210	default y
211	help
212	  Boot an EFI image from memory.
213
214config CMD_BOOTEFI_HELLO_COMPILE
215	bool "Compile a standard EFI hello world binary for testing"
216	depends on CMD_BOOTEFI && (ARM || X86)
217	default y
218	help
219	  This compiles a standard EFI hello world application with U-Boot so
220	  that it can be used with the test/py testing framework. This is useful
221	  for testing that EFI is working at a basic level, and for bringing
222	  up EFI support on a new architecture.
223
224	  No additional space will be required in the resulting U-Boot binary
225	  when this option is enabled.
226
227config CMD_BOOTEFI_HELLO
228	bool "Allow booting a standard EFI hello world for testing"
229	depends on CMD_BOOTEFI_HELLO_COMPILE
230	help
231	  This adds a standard EFI hello world application to U-Boot so that
232	  it can be used with the 'bootefi hello' command. This is useful
233	  for testing that EFI is working at a basic level, and for bringing
234	  up EFI support on a new architecture.
235
236config CMD_BOOTMENU
237	bool "bootmenu"
238	select MENU
239	help
240	  Add an ANSI terminal boot menu command.
241
242config CMD_DTIMG
243	bool "dtimg"
244	select OF_LIBFDT_OVERLAY
245	help
246	  Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from
247	  image into RAM, dump image structure information, etc. Those dtb/dtbo
248	  files should be merged in one dtb further, which needs to be passed to
249	  the kernel, as part of a boot process.
250
251config CMD_ELF
252	bool "bootelf, bootvx"
253	default y
254	help
255	  Boot an ELF/vxWorks image from the memory.
256
257config CMD_FDT
258	bool "Flattened Device Tree utility commands"
259	default y
260	depends on OF_LIBFDT
261	help
262	  Do FDT related setup before booting into the Operating System.
263
264config CMD_GO
265	bool "go"
266	default y
267	help
268	  Start an application at a given address.
269
270config CMD_RUN
271	bool "run"
272	default y
273	help
274	  Run the command in the given environment variable.
275
276config CMD_IMI
277	bool "iminfo"
278	default y
279	help
280	  Print header information for application image.
281
282config CMD_IMLS
283	bool "imls"
284	default y
285	help
286	  List all images found in flash
287
288config CMD_XIMG
289	bool "imxtract"
290	default y
291	help
292	  Extract a part of a multi-image.
293
294config CMD_POWEROFF
295	bool "poweroff"
296	help
297	  Poweroff/Shutdown the system
298
299config CMD_SPL
300	bool "spl export - Export boot information for Falcon boot"
301	depends on SPL
302	help
303	  Falcon mode allows booting directly from SPL into an Operating
304	  System such as Linux, thus skipping U-Boot proper. See
305	  doc/README.falcon for full information about how to use this
306	  command.
307
308config CMD_SPL_NAND_OFS
309	hex "Offset of OS command line args for Falcon-mode NAND boot"
310	depends on CMD_SPL
311	default 0
312	help
313	  This provides the offset of the command line arguments for Linux
314	  when booting from NAND in Falcon mode.  See doc/README.falcon
315	  for full information about how to use this option (and also see
316	  board/gateworks/gw_ventana/README for an example).
317
318config CMD_SPL_WRITE_SIZE
319	hex "Size of argument area"
320	depends on CMD_SPL
321	default 0x2000
322	help
323	  This provides the size of the command-line argument area in NAND
324	  flash used by Falcon-mode boot. See the documentation until CMD_SPL
325	  for detail.
326
327config CMD_THOR_DOWNLOAD
328	bool "thor - TIZEN 'thor' download"
329	help
330	  Implements the 'thor' download protocol. This is a way of
331	  downloading a software update over USB from an attached host.
332	  There is no documentation about this within the U-Boot source code
333	  but you should be able to find something on the interwebs.
334
335config CMD_ZBOOT
336	bool "zboot - x86 boot command"
337	help
338	  With x86 machines it is common to boot a bzImage file which
339	  contains both a kernel and a setup.bin file. The latter includes
340	  configuration information from the dark ages which x86 boards still
341	  need to pick things out of.
342
343	  Consider using FIT in preference to this since it supports directly
344	  booting both 32- and 64-bit kernels, as well as secure boot.
345	  Documentation is available in doc/uImage.FIT/x86-fit-boot.txt
346
347endmenu
348
349menu "Environment commands"
350
351config CMD_ASKENV
352	bool "ask for env variable"
353	help
354	  Ask for environment variable
355
356config CMD_EXPORTENV
357	bool "env export"
358	default y
359	help
360	  Export environments.
361
362config CMD_IMPORTENV
363	bool "env import"
364	default y
365	help
366	  Import environments.
367
368config CMD_EDITENV
369	bool "editenv"
370	default y
371	help
372	  Edit environment variable.
373
374config CMD_GREPENV
375	bool "search env"
376	help
377	  Allow for searching environment variables
378
379config CMD_SAVEENV
380	bool "saveenv"
381	default y
382	help
383	  Save all environment variables into the compiled-in persistent
384	  storage.
385
386config CMD_ENV_EXISTS
387	bool "env exists"
388	default y
389	help
390	  Check if a variable is defined in the environment for use in
391	  shell scripting.
392
393config CMD_ENV_CALLBACK
394	bool "env callbacks - print callbacks and their associated variables"
395	help
396	  Some environment variable have callbacks defined by
397	  U_BOOT_ENV_CALLBACK. These are called when the variable changes.
398	  For example changing "baudrate" adjust the serial baud rate. This
399	  command lists the currently defined callbacks.
400
401config CMD_ENV_FLAGS
402	bool "env flags -print variables that have non-default flags"
403	help
404	  Some environment variables have special flags that control their
405	  behaviour. For example, serial# can only be written once and cannot
406	  be deleted. This command shows the variables that have special
407	  flags.
408
409endmenu
410
411menu "Memory commands"
412
413config CMD_CRC32
414	bool "crc32"
415	select HASH
416	default y
417	help
418	  Compute CRC32.
419
420config CRC32_VERIFY
421	bool "crc32 -v"
422	depends on CMD_CRC32
423	help
424	  Add -v option to verify data against a crc32 checksum.
425
426config CMD_EEPROM
427	bool "eeprom - EEPROM subsystem"
428	help
429	  (deprecated, needs conversion to driver model)
430	  Provides commands to read and write EEPROM (Electrically Erasable
431	  Programmable Read Only Memory) chips that are connected over an
432	  I2C bus.
433
434config CMD_EEPROM_LAYOUT
435	bool "Enable layout-aware eeprom commands"
436	depends on CMD_EEPROM
437	help
438	  (deprecated, needs conversion to driver model)
439	  When enabled, additional eeprom sub-commands become available.
440
441	  eeprom print - prints the contents of the eeprom in a human-readable
442	  way (eeprom layout fields, and data formatted to be fit for human
443	  consumption).
444
445	  eeprom update - allows user to update eeprom fields by specifying
446	  the field name, and providing the new data in a human readable format
447	  (same format as displayed by the eeprom print command).
448
449	  Both commands can either auto detect the layout, or be told which
450	  layout to use.
451
452	  Feature API:
453	  __weak int parse_layout_version(char *str)
454		- override to provide your own layout name parsing
455	  __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
456			int layout_version);
457		- override to setup the layout metadata based on the version
458	  __weak int eeprom_layout_detect(unsigned char *data)
459		- override to provide your own algorithm for detecting layout
460			version
461	  eeprom_field.c
462		- contains various printing and updating functions for common
463			types of eeprom fields. Can be used for defining
464			custom layouts.
465
466config EEPROM_LAYOUT_HELP_STRING
467	  string "Tells user what layout names are supported"
468	  depends on CMD_EEPROM_LAYOUT
469	  default "<not defined>"
470	  help
471	    Help printed with the LAYOUT VERSIONS part of the 'eeprom'
472	    command's help.
473
474config LOOPW
475	bool "loopw"
476	help
477	  Infinite write loop on address range
478
479config CMD_MD5SUM
480	bool "md5sum"
481	default n
482	select MD5
483	help
484	  Compute MD5 checksum.
485
486config MD5SUM_VERIFY
487	bool "md5sum -v"
488	default n
489	depends on CMD_MD5SUM
490	help
491	  Add -v option to verify data against an MD5 checksum.
492
493config CMD_MEMINFO
494	bool "meminfo"
495	help
496	  Display memory information.
497
498config CMD_MEMORY
499	bool "md, mm, nm, mw, cp, cmp, base, loop"
500	default y
501	help
502	  Memory commands.
503	    md - memory display
504	    mm - memory modify (auto-incrementing address)
505	    nm - memory modify (constant address)
506	    mw - memory write (fill)
507	    cp - memory copy
508	    cmp - memory compare
509	    base - print or set address offset
510	    loop - initialize loop on address range
511
512config CMD_MEMTEST
513	bool "memtest"
514	help
515	  Simple RAM read/write test.
516
517config CMD_MX_CYCLIC
518	bool "mdc, mwc"
519	help
520	  mdc - memory display cyclic
521	  mwc - memory write cyclic
522
523config CMD_SHA1SUM
524	bool "sha1sum"
525	select SHA1
526	help
527	  Compute SHA1 checksum.
528
529config SHA1SUM_VERIFY
530	bool "sha1sum -v"
531	depends on CMD_SHA1SUM
532	help
533	  Add -v option to verify data against a SHA1 checksum.
534
535config CMD_STRINGS
536	bool "strings - display strings in memory"
537	help
538	  This works similarly to the Unix 'strings' command except that it
539	  works with a memory range. String of printable characters found
540	  within the range are displayed. The minimum number of characters
541	  for a sequence to be considered a string can be provided.
542
543config CMD_CRYPTO
544	bool "crypto test"
545	depends on DM_CRYPTO
546	select SHA1
547	select SHA256
548	select SHA512
549	select MD5
550	help
551	  Crypto test.
552
553config CMD_CRYPTO_SUM
554	bool "crypto checksum engine"
555	depends on DM_CRYPTO
556	default y
557	help
558	  Crypto checksum engine for sha1/sha256/sha512/md5.
559endmenu
560
561menu "Compression commands"
562
563config CMD_LZMADEC
564	bool "lzmadec"
565	default y if CMD_BOOTI
566	select LZMA
567	help
568	  Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm)
569	  image from memory.
570
571config CMD_UNZIP
572	bool "unzip"
573	default y if CMD_BOOTI
574	help
575	  Uncompress a zip-compressed memory region.
576
577config CMD_ZIP
578	bool "zip"
579	help
580	  Compress a memory region with zlib deflate method.
581
582endmenu
583
584menu "Device access commands"
585
586config CMD_ARMFLASH
587	#depends on FLASH_CFI_DRIVER
588	bool "armflash"
589	help
590	  ARM Ltd reference designs flash partition access
591
592config CMD_CLK
593	bool "clk - Show clock frequencies"
594	help
595	  (deprecated)
596	  Shows clock frequences by calling a sock_clk_dump() hook function.
597	  This is depreated in favour of using the CLK uclass and accessing
598	  clock values from associated drivers. However currently no command
599	  exists for this.
600
601config CMD_DEMO
602	bool "demo - Demonstration commands for driver model"
603	depends on DM
604	help
605	  Provides a 'demo' command which can be used to play around with
606	  driver model. To use this properly you will need to enable one or
607	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
608	  Otherwise you will always get an empty list of devices. The demo
609	  devices are defined in the sandbox device tree, so the easiest
610	  option is to use sandbox and pass the -d point to sandbox's
611	  u-boot.dtb file.
612
613config CMD_DFU
614	bool "dfu"
615	select USB_FUNCTION_DFU
616	help
617	  Enables the command "dfu" which is used to have U-Boot create a DFU
618	  class device via USB. This command requires that the "dfu_alt_info"
619	  environment variable be set and define the alt settings to expose to
620	  the host.
621
622config CMD_DM
623	bool "dm - Access to driver model information"
624	depends on DM
625	default y
626	help
627	  Provides access to driver model data structures and information,
628	  such as a list of devices, list of uclasses and the state of each
629	  device (e.g. activated). This is not required for operation, but
630	  can be useful to see the state of driver model for debugging or
631	  interest.
632
633config CMD_FDC
634	bool "fdcboot - Boot from floppy device"
635	help
636	  The 'fdtboot' command allows booting an image from a floppy disk.
637
638config CMD_FLASH
639	bool "flinfo, erase, protect"
640	default y
641	help
642	  NOR flash support.
643	    flinfo - print FLASH memory information
644	    erase - FLASH memory
645	    protect - enable or disable FLASH write protection
646
647config CMD_FPGA
648	bool "fpga"
649	default y
650	help
651	  FPGA support.
652
653config CMD_FPGA_LOADBP
654	bool "fpga loadbp - load partial bitstream (Xilinx only)"
655	depends on CMD_FPGA
656	help
657	  Supports loading an FPGA device from a bitstream buffer containing
658	  a partial bitstream.
659
660config CMD_FPGA_LOADFS
661	bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)"
662	depends on CMD_FPGA
663	help
664	  Supports loading an FPGA device from a FAT filesystem.
665
666config CMD_FPGA_LOADMK
667	bool "fpga loadmk - load bitstream from image"
668	depends on CMD_FPGA
669	help
670	  Supports loading an FPGA device from a image generated by mkimage.
671
672config CMD_FPGA_LOADP
673	bool "fpga loadp - load partial bitstream"
674	depends on CMD_FPGA
675	help
676	  Supports loading an FPGA device from a bitstream buffer containing
677	  a partial bitstream.
678
679config CMD_FPGAD
680	bool "fpgad - dump FPGA registers"
681	help
682	  (legacy, needs conversion to driver model)
683	  Provides a way to dump FPGA registers by calling the board-specific
684	  fpga_get_reg() function. This functions similarly to the 'md'
685	  command.
686
687config CMD_FUSE
688	bool "fuse - support for the fuse subssystem"
689	help
690	  (deprecated - needs conversion to driver model)
691	  This allows reading, sensing, programming or overriding fuses
692	  which control the behaviour of the device. The command uses the
693	  fuse_...() API.
694
695config CMD_GPIO
696	bool "gpio"
697	help
698	  GPIO support.
699
700config CMD_GPT
701	bool "GPT (GUID Partition Table) command"
702	select PARTITION_UUIDS
703	select EFI_PARTITION
704	imply RANDOM_UUID
705	help
706	  Enable the 'gpt' command to ready and write GPT style partition
707	  tables.
708
709config RANDOM_UUID
710	bool "GPT Random UUID generation"
711	help
712	  Enable the generation of partitions with random UUIDs if none
713	  are provided.
714
715config CMD_GPT_RENAME
716	bool "GPT partition renaming commands"
717	depends on CMD_GPT
718	help
719	  Enables the 'gpt' command to interchange names on two GPT
720	  partitions via the 'gpt swap' command or to rename single
721	  partitions via the 'rename' command.
722
723config CMD_IDE
724	bool "ide - Support for IDE drivers"
725	select IDE
726	help
727	  Provides an 'ide' command which allows accessing the IDE drive,
728	  reseting the IDE interface, printing the partition table and
729	  geting device info. It also enables the 'diskboot' command which
730	  permits booting from an IDE drive.
731
732config CMD_IO
733	bool "io - Support for performing I/O accesses"
734	help
735	  Provides an 'iod' command to display I/O space and an 'iow' command
736	  to write values to the I/O space. This can be useful for manually
737	  checking the state of devices during boot when debugging device
738	  drivers, etc.
739
740config CMD_IOTRACE
741	bool "iotrace - Support for tracing I/O activity"
742	help
743	  Provides an 'iotrace' command which supports recording I/O reads and
744	  writes in a trace buffer in memory . It also maintains a checksum
745	  of the trace records (even if space is exhausted) so that the
746	  sequence of I/O accesses can be verified.
747
748	  When debugging drivers it is useful to see what I/O accesses were
749	  done and in what order.
750
751	  Even if the individual accesses are of little interest it can be
752	  useful to verify that the access pattern is consistent each time
753	  an operation is performed. In this case a checksum can be used to
754	  characterise the operation of a driver. The checksum can be compared
755	  across different runs of the operation to verify that the driver is
756	  working properly.
757
758	  In particular, when performing major refactoring of the driver, where
759	  the access pattern should not change, the checksum provides assurance
760	  that the refactoring work has not broken the driver.
761
762	  This works by sneaking into the io.h heder for an architecture and
763	  redirecting I/O accesses through iotrace's tracing mechanism.
764
765	  For now no commands are provided to examine the trace buffer. The
766	  format is fairly simple, so 'md' is a reasonable substitute.
767
768	  Note: The checksum feature is only useful for I/O regions where the
769	  contents do not change outside of software control. Where this is not
770	  suitable you can fall back to manually comparing the addresses. It
771	  might be useful to enhance tracing to only checksum the accesses and
772	  not the data read/written.
773
774config CMD_I2C
775	bool "i2c"
776	help
777	  I2C support.
778
779config CMD_LOADB
780	bool "loadb"
781	default y
782	help
783	  Load a binary file over serial line.
784
785config CMD_LOADS
786	bool "loads"
787	default y
788	help
789	  Load an S-Record file over serial line
790
791config CMD_LOAD_ANDROID
792	bool "load_android"
793	default n
794	depends on ANDROID_BOOT_IMAGE
795	help
796	  Load an Android Boot image from storage. The Android Boot images
797	  define the size and kernel address on the header, which are used by
798	  this command.
799
800config CMD_BOOT_ANDROID
801	bool "boot_android"
802	default n
803	depends on ANDROID_BOOTLOADER
804	help
805	  Performs the Android Bootloader boot flow, loading the appropriate
806	  Android image (normal kernel, recovery kernel or "bootloader" mode)
807	  and booting it. The boot mode is determined by the contents of the
808	  Android Bootloader Message.
809
810config CMD_ANDROID_AB_SELECT
811	bool "android_ab_select"
812	default n
813	depends on ANDROID_AB
814	help
815	  On Android devices with more than one boot slot (multiple copies of
816	  the kernel and system images) this provides a command to select which
817	  slot should be used to boot from and register the boot attempt. This
818	  is used by the new A/B update model where one slot is updated in the
819	  background while running from the other slot.
820
821config CMD_BOOT_FIT
822	bool "boot_fit"
823	default n
824	depends on ROCKCHIP_FIT_IMAGE
825	help
826	  Performs the FIT boot flow, loading the appropriate FIT image from
827	  boot/recovery partition containing kernel/fdt/ramdisk images.
828	  Additional that, the IH_TYPE_MULTI can be used for resource file.
829
830config CMD_BOOT_UIMAGE
831	bool "boot_uimage"
832	default n
833	depends on ROCKCHIP_UIMAGE
834	help
835	  Performs the Legacy uImage boot flow, loading the appropriate uImage
836	  file from resource/kernel/boot(recovery) partitions. Additional that,
837	  the resource partition can be fdt or resource(recommand) uImage file.
838
839config CMD_BOOT_ROCKCHIP
840	bool "boot_rockchip"
841	default n
842	depends on RKIMG_BOOTLOADER
843	help
844	  Performs the Rockchip Bootloader boot flow, loading the appropriate
845	  Rockchip image (normal kernel, boot, resource and revocery)
846	  and booting it. The boot mode is determined by the contents of the
847	  Rockchip bootloader helper.
848
849config CMD_MMC
850	bool "mmc"
851	help
852	  MMC memory mapped support.
853
854config CMD_MTD
855	bool "mtd"
856	select MTD_PARTITIONS
857	help
858	  MTD commands support.
859
860config CMD_NAND
861	bool "nand"
862	default y if NAND_SUNXI
863	help
864	  NAND support.
865
866if CMD_NAND
867config CMD_NAND_TRIMFFS
868	bool "nand write.trimffs"
869	default y if ARCH_SUNXI
870	help
871	  Allows one to skip empty pages when flashing something on a NAND.
872
873config CMD_NAND_LOCK_UNLOCK
874	bool "nand lock/unlock"
875	help
876	  NAND locking support.
877
878config CMD_NAND_TORTURE
879	bool "nand torture"
880	help
881	  NAND torture support.
882
883endif # CMD_NAND
884
885config CMD_NVME
886	bool "nvme"
887	depends on NVME
888	default y if NVME
889	help
890	  NVM Express device support
891
892config CMD_MMC_SPI
893	bool "mmc_spi - Set up MMC SPI device"
894	help
895	  Provides a way to set up an MMC (Multimedia Card) SPI (Serial
896	  Peripheral Interface) device. The device provides a means of
897	  accessing an MMC device via SPI using a single data line, limited
898	  to 20MHz. It is useful since it reduces the amount of protocol code
899	  required.
900
901config CMD_ONENAND
902	bool "onenand - access to onenand device"
903	help
904	  OneNAND is a brand of NAND ('Not AND' gate) flash which provides
905	  various useful features. This command allows reading, writing,
906	  and erasing blocks. It allso provides a way to show and change
907	  bad blocks, and test the device.
908
909config CMD_PART
910	bool "part"
911	select PARTITION_UUIDS
912	help
913	  Read and display information about the partition table on
914	  various media.
915
916config CMD_PCI
917	bool "pci - Access PCI devices"
918	help
919	  Provide access to PCI (Peripheral Interconnect Bus), a type of bus
920	  used on some devices to allow the CPU to communicate with its
921	  peripherals. Sub-commands allow bus enumeration, displaying and
922	  changing configuration space and a few other features.
923
924config CMD_PCMCIA
925	bool "pinit - Set up PCMCIA device"
926	help
927	  Provides a means to initialise a PCMCIA (Personal Computer Memory
928	  Card International Association) device. This is an old standard from
929	  about 1990. These devices are typically removable memory or network
930	  cards using a standard 68-pin connector.
931
932config CMD_READ
933	bool "read - Read binary data from a partition"
934	help
935	  Provides low-level access to the data in a partition.
936
937config CMD_REMOTEPROC
938	bool "remoteproc"
939	depends on REMOTEPROC
940	help
941	  Support for Remote Processor control
942
943config CMD_ROCKUSB
944	bool "rockusb - Command to upgrade Rockchip device"
945	depends on USB_GADGET
946	help
947	  Rockusb command provides a way to upgrade firmware for
948	  Rockchip SoC based devices, its design make use of USB
949	  Bulk-Only Transport based on UMS framework.
950
951config CMD_RKNAND
952	bool "rknand"
953	depends on (RKNAND || RKNANDC_NAND)
954	default y if (RKNAND || RKNANDC_NAND)
955	help
956	    Rockchip NAND FLASH device support
957
958config CMD_RKSFC
959	bool "rksfc"
960	depends on (RKSFC_NOR || RKSFC_NAND)
961	default y if (RKSFC_NOR || RKSFC_NAND)
962	help
963	  Rockchip SFC device support
964
965config CMD_RK_SECURE_STORAGE
966	bool "dump rockchip efuse/otp content"
967	help
968	  Dump the data which is written in OTP or efuse.
969
970config CMD_SATA
971	bool "sata - Access SATA subsystem"
972	select SATA
973	help
974	  SATA (Serial Advanced Technology Attachment) is a serial bus
975	  standard for connecting to hard drives and other storage devices.
976	  This command provides information about attached devices and allows
977	  reading, writing and other operations.
978
979	  SATA replaces PATA (originally just ATA), which stands for Parallel AT
980	  Attachment, where AT refers to an IBM AT (Advanced Technology)
981	  computer released in 1984.
982
983config CMD_SAVES
984	bool "saves - Save a file over serial in S-Record format"
985	help
986	  Provides a way to save a binary file using the Motorola S-Record
987	  format over the serial line.
988
989config CMD_SDRAM
990	bool "sdram - Print SDRAM configuration information"
991	help
992	  Provides information about attached SDRAM. This assumed that the
993	  SDRAM has an EEPROM with information that can be read using the
994	  I2C bus. This is only available on some boards.
995
996config CMD_SF
997	bool "sf"
998	help
999	  SPI Flash support
1000
1001config CMD_SF_TEST
1002	bool "sf test - Allow testing of SPI flash"
1003	help
1004	  Provides a way to test that SPI flash is working correctly. The
1005	  test is destructive, in that an area of SPI flash must be provided
1006	  for the test to use. Performance information is also provided,
1007	  measuring the performance of reading, writing and erasing in
1008	  Mbps (Million Bits Per Second). This value should approximately
1009	  equal the SPI bus speed for a single-bit-wide SPI bus, assuming
1010	  everything is working properly.
1011
1012config CMD_SPI
1013	bool "sspi"
1014	help
1015	  SPI utility command.
1016
1017config CMD_TSI148
1018	bool "tsi148 - Command to access tsi148 device"
1019	help
1020	  This provides various sub-commands to initialise and configure the
1021	  Turndra tsi148 device. See the command help for full details.
1022
1023config CMD_UNIVERSE
1024	bool "universe - Command to set up the Turndra Universe controller"
1025	help
1026	  This allows setting up the VMEbus provided by this controller.
1027	  See the command help for full details.
1028
1029config CMD_USB
1030	bool "usb"
1031	help
1032	  USB support.
1033
1034config CMD_USB_SDP
1035	bool "sdp"
1036	select USB_FUNCTION_SDP
1037	help
1038	  Enables the command "sdp" which is used to have U-Boot emulating the
1039	  Serial Download Protocol (SDP) via USB.
1040
1041config CMD_USB_MASS_STORAGE
1042	bool "UMS usb mass storage"
1043	help
1044	  USB mass storage support
1045
1046endmenu
1047
1048
1049menu "Shell scripting commands"
1050
1051config CMD_ECHO
1052	bool "echo"
1053	default y
1054	help
1055	  Echo args to console
1056
1057config CMD_ITEST
1058	bool "itest"
1059	default y
1060	help
1061	  Return true/false on integer compare.
1062
1063config CMD_SCRIPT_UPDATE
1064	bool "sd_update/usb_update/tftp_update"
1065	help
1066	  Auto run sd_update/usb_update/tftp_update.txt from sd/udisk/tftp.
1067
1068config CMD_SOURCE
1069	bool "source"
1070	default y
1071	help
1072	  Run script from memory
1073
1074config CMD_SETEXPR
1075	bool "setexpr"
1076	default y
1077	help
1078	  Evaluate boolean and math expressions and store the result in an env
1079	    variable.
1080	  Also supports loading the value at a memory location into a variable.
1081	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
1082
1083endmenu
1084
1085menu "Network commands"
1086
1087config CMD_NET
1088	bool "bootp, tftpboot"
1089        select NET
1090	default y
1091	help
1092	  Network commands.
1093	  bootp - boot image via network using BOOTP/TFTP protocol
1094	  tftpboot - boot image via network using TFTP protocol
1095
1096config CMD_TFTPPUT
1097	bool "tftp put"
1098	help
1099	  TFTP put command, for uploading files to a server
1100
1101config CMD_TFTP_BOOTM
1102	bool "tftp download and bootm"
1103	help
1104	  TFTP bootm command, download and bootm the aosp/uImage/FIT Image.
1105
1106config CMD_TFTP_FLASH
1107	bool "tftp download and flash"
1108	help
1109	  TFTP flash command, download and flash the Image to partition.
1110
1111config CMD_TFTP_UPDATE
1112	bool "tftp update"
1113	help
1114	  Update a set of images organized with FIT via network using TFTP protocol
1115
1116
1117config CMD_TFTPSRV
1118	bool "tftpsrv"
1119	help
1120	  Act as a TFTP server and boot the first received file
1121
1122config CMD_RARP
1123	bool "rarpboot"
1124	help
1125	  Boot image via network using RARP/TFTP protocol
1126
1127config CMD_DHCP
1128	bool "dhcp"
1129	help
1130	  Boot image via network using DHCP/TFTP protocol
1131
1132config CMD_PXE
1133	bool "pxe"
1134	select MENU
1135	help
1136	  Boot image via network using PXE protocol
1137
1138config CMD_NFS
1139	bool "nfs"
1140	default y
1141	help
1142	  Boot image via network using NFS protocol.
1143
1144config CMD_MII
1145	bool "mii"
1146	help
1147	  Enable MII utility commands.
1148
1149config CMD_PING
1150	bool "ping"
1151	help
1152	  Send ICMP ECHO_REQUEST to network host
1153
1154config CMD_CDP
1155	bool "cdp"
1156	help
1157	  Perform CDP network configuration
1158
1159config CMD_SNTP
1160	bool "sntp"
1161	help
1162	  Synchronize RTC via network
1163
1164config CMD_DNS
1165	bool "dns"
1166	help
1167	  Lookup the IP of a hostname
1168
1169config CMD_LINK_LOCAL
1170	bool "linklocal"
1171	help
1172	  Acquire a network IP address using the link-local protocol
1173
1174config CMD_ETHSW
1175	bool "ethsw"
1176	help
1177	  Allow control of L2 Ethernet switch commands. These are supported
1178	  by the vsc9953 Ethernet driver at present. Sub-commands allow
1179	  operations such as enabling / disabling a port and
1180	  viewing/maintaining the filtering database (FDB)
1181
1182endmenu
1183
1184config CMD_MEMTESTER
1185	bool "Enable memtester for ddr"
1186	help
1187	  This enables memtester for ddr.
1188
1189config CMD_DDR_TEST_TOOL
1190	bool "Enable ddr test tool"
1191	help
1192	  This enable ddr test tool code.
1193
1194menu "Misc commands"
1195
1196config CMD_BMP
1197	bool "Enable 'bmp' command"
1198	depends on LCD || DM_VIDEO || VIDEO
1199	help
1200	  This provides a way to obtain information about a BMP-format iamge
1201	  and to display it. BMP (which presumably stands for BitMaP) is a
1202	  file format defined by Microsoft which supports images of various
1203	  depths, formats and compression methods. Headers on the file
1204	  determine the formats used. This command can be used by first loading
1205	  the image into RAM, then using this command to look at it or display
1206	  it.
1207
1208config CMD_BSP
1209	bool "Enable board-specific commands"
1210	help
1211	  (deprecated: instead, please define a Kconfig option for each command)
1212
1213	  Some boards have board-specific commands which are only enabled
1214	  during developemnt and need to be turned off for production. This
1215	  option provides a way to control this. The commands that are enabled
1216	  vary depending on the board.
1217
1218config CMD_BKOPS_ENABLE
1219	bool "mmc bkops enable"
1220	depends on CMD_MMC
1221	default n
1222	help
1223	  Enable command for setting manual background operations handshake
1224	  on a eMMC device. The feature is optionally available on eMMC devices
1225	  conforming to standard >= 4.41.
1226
1227config CMD_BLOCK_CACHE
1228	bool "blkcache - control and stats for block cache"
1229	depends on BLOCK_CACHE
1230	default y if BLOCK_CACHE
1231	help
1232	  Enable the blkcache command, which can be used to control the
1233	  operation of the cache functions.
1234	  This is most useful when fine-tuning the operation of the cache
1235	  during development, but also allows the cache to be disabled when
1236	  it might hurt performance (e.g. when using the ums command).
1237
1238config CMD_CACHE
1239	bool "icache or dcache"
1240	help
1241	  Enable the "icache" and "dcache" commands
1242
1243config CMD_DISPLAY
1244	bool "Enable the 'display' command, for character displays"
1245	help
1246	  (this needs porting to driver model)
1247	  This enables the 'display' command which allows a string to be
1248	  displayed on a simple board-specific display. Implement
1249	  display_putc() to use it.
1250
1251config CMD_LED
1252	bool "led"
1253	default y if LED
1254	help
1255	  Enable the 'led' command which allows for control of LEDs supported
1256	  by the board. The LEDs can be listed with 'led list' and controlled
1257	  with led on/off/togle/blink. Any LED drivers can be controlled with
1258	  this command, e.g. led_gpio.
1259
1260config CMD_DATE
1261	bool "date"
1262	default y if DM_RTC
1263	help
1264	  Enable the 'date' command for getting/setting the time/date in RTC
1265	  devices.
1266
1267config CMD_TIME
1268	bool "time"
1269	help
1270	  Run commands and summarize execution time.
1271
1272config CMD_GETTIME
1273	bool "gettime - read elapsed time"
1274	help
1275	  Enable the 'gettime' command which reads the elapsed time since
1276	  U-Boot started running. This shows the time in seconds and
1277	  milliseconds. See also the 'bootstage' command which provides more
1278	  flexibility for boot timing.
1279
1280config CMD_RNG
1281	bool "rng command"
1282	depends on DM_RNG
1283	select HEXDUMP
1284	help
1285	  Print bytes from the hardware random number generator.
1286
1287# TODO: rename to CMD_SLEEP
1288config CMD_MISC
1289	bool "sleep"
1290	default y
1291	help
1292	  Delay execution for some time
1293
1294config CMD_TIMER
1295	bool "timer"
1296	help
1297	  Access the system timer.
1298
1299config CMD_SOUND
1300	bool "sound"
1301	depends on SOUND
1302	help
1303	  This provides basic access to the U-Boot's sound support. The main
1304	  feature is to play a beep.
1305
1306	     sound init   - set up sound system
1307	     sound play   - play a sound
1308
1309config CMD_QFW
1310	bool "qfw"
1311	select QFW
1312	help
1313	  This provides access to the QEMU firmware interface.  The main
1314	  feature is to allow easy loading of files passed to qemu-system
1315	  via -kernel / -initrd
1316
1317source "cmd/mvebu/Kconfig"
1318
1319config CMD_TERMINAL
1320	bool "terminal - provides a way to attach a serial terminal"
1321	help
1322	  Provides a 'cu'-like serial terminal command. This can be used to
1323	  access other serial ports from the system console. The terminal
1324	  is very simple with no special processing of characters. As with
1325	  cu, you can press ~. (tilde followed by period) to exit.
1326
1327config CMD_UUID
1328	bool "uuid, guid - generation of unique IDs"
1329	help
1330	  This enables two commands:
1331
1332	     uuid - generate random Universally Unique Identifier
1333	     guid - generate Globally Unique Identifier based on random UUID
1334
1335	  The two commands are very similar except for the endianness of the
1336	  output.
1337
1338endmenu
1339
1340config CMD_BOOTSTAGE
1341	bool "Enable the 'bootstage' command"
1342	depends on BOOTSTAGE
1343	help
1344	  Add a 'bootstage' command which supports printing a report
1345	  and un/stashing of bootstage data.
1346
1347menu "Power commands"
1348config CMD_PMIC
1349	bool "Enable Driver Model PMIC command"
1350	depends on DM_PMIC
1351	help
1352	  This is the pmic command, based on a driver model pmic's API.
1353	  Command features are unchanged:
1354	  - list               - list pmic devices
1355	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
1356	  - pmic dump          - dump registers
1357	  - pmic read address  - read byte of register at address
1358	  - pmic write address - write byte to register at address
1359	  The only one change for this command is 'dev' subcommand.
1360
1361config CMD_REGULATOR
1362	bool "Enable Driver Model REGULATOR command"
1363	depends on DM_REGULATOR
1364	help
1365	  This command is based on driver model regulator's API.
1366	  User interface features:
1367	  - list               - list regulator devices
1368	  - regulator dev <id> - show or [set] operating regulator device
1369	  - regulator info     - print constraints info
1370	  - regulator status   - print operating status
1371	  - regulator value <val] <-f> - print/[set] voltage value [uV]
1372	  - regulator current <val>    - print/[set] current value [uA]
1373	  - regulator mode <id>        - print/[set] operating mode id
1374	  - regulator enable           - enable the regulator output
1375	  - regulator disable          - disable the regulator output
1376
1377	  The '-f' (force) option can be used for set the value which exceeds
1378	  the limits, which are found in device-tree and are kept in regulator's
1379	  uclass platdata structure.
1380
1381config CMD_CHARGE_DISPLAY
1382	bool "Enable Driver Model Charge Display command"
1383	depends on DM_CHARGE_DISPLAY
1384	default y
1385	help
1386	  Support U-Boot charge display.
1387
1388config CMD_DVFS
1389	bool "Enable Driver Model DVFS command"
1390	depends on DM_DVFS
1391	default y
1392	help
1393	  Support dvfs policy apply API
1394	  User interface features:
1395	  - dvfs            - apply dvfs policy once
1396	  - dvfs repeat     - repeat apply dvfs policy until achieve the target temperature
1397
1398endmenu
1399
1400menu "Security commands"
1401config CMD_AES
1402	bool "Enable the 'aes' command"
1403	select AES
1404	help
1405	  This provides a means to encrypt and decrypt data using the AES
1406	  (Advanced Encryption Standard). This algorithm uses a symetric key
1407	  and is widely used as a streaming cipher. Different key lengths are
1408	  supported by the algorithm but this command only supports 128 bits
1409	  at present.
1410
1411config CMD_BLOB
1412	bool "Enable the 'blob' command"
1413	help
1414	  This is used with the Freescale secure boot mechanism.
1415
1416	  Freescale's SEC block has built-in Blob Protocol which provides
1417	  a method for protecting user-defined data across system power
1418	  cycles. SEC block protects data in a data structure called a Blob,
1419	  which provides both confidentiality and integrity protection.
1420
1421	  Encapsulating data as a blob
1422	  Each time that the Blob Protocol is used to protect data, a
1423	  different randomly generated key is used to encrypt the data.
1424	  This random key is itself encrypted using a key which is derived
1425	  from SoC's non-volatile secret key and a 16 bit Key identifier.
1426	  The resulting encrypted key along with encrypted data is called a
1427	  blob. The non-volatile secure key is available for use only during
1428	  secure boot.
1429
1430	  During decapsulation, the reverse process is performed to get back
1431	  the original data.
1432
1433	  Sub-commands:
1434            blob enc - encapsulating data as a cryptgraphic blob
1435	    blob dec - decapsulating cryptgraphic blob to get the data
1436
1437	  Syntax:
1438
1439	  blob enc src dst len km
1440
1441	  Encapsulate and create blob of data $len bytes long
1442	  at address $src and store the result at address $dst.
1443	  $km is the 16 byte key modifier is also required for
1444	  generation/use as key for cryptographic operation. Key
1445	  modifier should be 16 byte long.
1446
1447	  blob dec src dst len km
1448
1449	  Decapsulate the  blob of data at address $src and
1450	  store result of $len byte at addr $dst.
1451	  $km is the 16 byte key modifier is also required for
1452	  generation/use as key for cryptographic operation. Key
1453	  modifier should be 16 byte long.
1454
1455config CMD_HASH
1456	bool "Support 'hash' command"
1457	select HASH
1458	help
1459	  This provides a way to hash data in memory using various supported
1460	  algorithms (such as SHA1, MD5, CRC32). The computed digest can be
1461	  saved to memory or to an environment variable. It is also possible
1462	  to verify a hash against data in memory.
1463
1464config HASH_VERIFY
1465	bool "hash -v"
1466	depends on CMD_HASH
1467	help
1468	  Add -v option to verify data against a hash.
1469
1470config CMD_TPM
1471	bool "Enable the 'tpm' command"
1472	depends on TPM
1473	help
1474	  This provides a means to talk to a TPM from the command line. A wide
1475	  range of commands if provided - see 'tpm help' for details. The
1476	  command requires a suitable TPM on your board and the correct driver
1477	  must be enabled.
1478
1479config CMD_TPM_TEST
1480	bool "Enable the 'tpm test' command"
1481	depends on CMD_TPM
1482	help
1483	  This provides a a series of tests to confirm that the TPM is working
1484	  correctly. The tests cover initialisation, non-volatile RAM, extend,
1485	  global lock and checking that timing is within expectations. The
1486	  tests pass correctly on Infineon TPMs but may need to be adjusted
1487	  for other devices.
1488
1489endmenu
1490
1491menu "Firmware commands"
1492config CMD_CROS_EC
1493	bool "Enable crosec command"
1494	depends on CROS_EC
1495	default y
1496	help
1497	  Enable command-line access to the Chrome OS EC (Embedded
1498	  Controller). This provides the 'crosec' command which has
1499	  a number of sub-commands for performing EC tasks such as
1500	  updating its flash, accessing a small saved context area
1501	  and talking to the I2C bus behind the EC (if there is one).
1502endmenu
1503
1504menu "Filesystem commands"
1505config CMD_CBFS
1506	bool "Enable the 'cbfs' command"
1507	depends on FS_CBFS
1508	help
1509	  Define this to enable support for reading from a Coreboot
1510	  filesystem. This is a ROM-based filesystem used for accessing files
1511	  on systems that use coreboot as the first boot-loader and then load
1512	  U-Boot to actually boot the Operating System. Available commands are
1513	  cbfsinit, cbfsinfo, cbfsls and cbfsload.
1514
1515config CMD_CRAMFS
1516	bool "Enable the 'cramfs' command"
1517	depends on FS_CRAMFS
1518	help
1519	  This provides commands for dealing with CRAMFS (Compressed ROM
1520	  filesystem). CRAMFS is useful when space is tight since files are
1521	  compressed. Two commands are provided:
1522
1523	     cramfsls   - lists files in a cramfs image
1524	     cramfsload - loads a file from a cramfs image
1525
1526config CMD_EXT2
1527	bool "ext2 command support"
1528	help
1529	  Enables EXT2 FS command
1530
1531config CMD_EXT4
1532	bool "ext4 command support"
1533	help
1534	  Enables EXT4 FS command
1535
1536config CMD_EXT4_WRITE
1537	depends on CMD_EXT4
1538	bool "ext4 write command support"
1539	help
1540	  Enables EXT4 FS write command
1541
1542config CMD_EXT4_SPARSE_WRITE
1543	depends on CMD_EXT4
1544	bool "ext4 sparse write command support"
1545	help
1546
1547config CMD_FAT
1548	bool "FAT command support"
1549	select FS_FAT
1550	help
1551	  Support for the FAT fs
1552
1553config CMD_FS_GENERIC
1554	bool "filesystem commands"
1555	help
1556	  Enables filesystem commands (e.g. load, ls) that work for multiple
1557	  fs types.
1558
1559config CMD_FS_UUID
1560	bool "fsuuid command"
1561	help
1562	  Enables fsuuid command for filesystem UUID.
1563
1564config CMD_JFFS2
1565	bool "jffs2 command"
1566	select FS_JFFS2
1567	help
1568	  Enables commands to support the JFFS2 (Journalling Flash File System
1569	  version 2) filesystem. This enables fsload, ls and fsinfo which
1570	  provide the ability to load files, list directories and obtain
1571	  filesystem information.
1572
1573config CMD_MTDPARTS
1574	bool "MTD partition support"
1575	select MTD_DEVICE if (CMD_NAND || NAND)
1576	help
1577	  MTD partition support
1578
1579config CMD_MTD
1580	bool "MTD support"
1581	help
1582	  MTD support
1583
1584config CMD_MTD_BLK
1585	bool "MTD block support"
1586	help
1587	  MTD block support
1588
1589config MTDIDS_DEFAULT
1590	string "Default MTD IDs"
1591	depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
1592	help
1593	  Defines a default MTD ID
1594
1595config MTDPARTS_DEFAULT
1596	string "Default MTD partition scheme"
1597	depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
1598	help
1599	  Defines a default MTD partitioning scheme in the Linux MTD command
1600	  line partitions format
1601
1602config CMD_MTDPARTS_SPREAD
1603	bool "Padd partition size to take account of bad blocks"
1604	depends on CMD_MTDPARTS
1605	help
1606	  This enables the 'spread' sub-command of the mtdparts command.
1607	  This command will modify the existing mtdparts variable by increasing
1608	  the size of the partitions such that 1) each partition's net size is
1609	  at least as large as the size specified in the mtdparts variable and
1610	  2) each partition starts on a good block.
1611
1612config CMD_REISER
1613	bool "reiser - Access to reiserfs filesystems"
1614	help
1615	  This provides two commands which operate on a resierfs filesystem,
1616	  commonly used some years ago:
1617
1618	    reiserls - list files
1619	    reiserload - load a file
1620
1621config CMD_SCSI
1622	bool "scsi - Access to SCSI devices"
1623	default y if SCSI
1624	help
1625	  This provides a 'scsi' command which provides access to SCSI (Small
1626	  Computer System Interface) devices. The command provides a way to
1627	  scan the bus, reset the bus, read and write data and get information
1628	  about devices.
1629
1630config CMD_YAFFS2
1631	bool "yaffs2 - Access of YAFFS2 filesystem"
1632	depends on YAFFS2
1633	default y
1634	help
1635	  This provides commands for accessing a YAFFS2 filesystem. Yet
1636	  Another Flash Filesystem 2 is a filesystem designed specifically
1637	  for NAND flash. It incorporates bad-block management and ensures
1638	  that device writes are sequential regardless of filesystem
1639	  activity.
1640
1641config CMD_ZFS
1642	bool "zfs - Access of ZFS filesystem"
1643	help
1644	  This provides commands to accessing a ZFS filesystem, commonly used
1645	  on Solaris systems. Two sub-commands are provided:
1646
1647	    zfsls - list files in a directory
1648	    zfsload - load a file
1649
1650	  See doc/README.zfs for more details.
1651
1652endmenu
1653
1654menu "Debug commands"
1655
1656config CMD_ATAGS
1657	bool "atags - Dump all rockchip atags"
1658	default y
1659	help
1660	  This command dump all rockchip atags.
1661
1662config CMD_BEDBUG
1663	bool "bedbug"
1664	help
1665	  The bedbug (emBEDded deBUGger) command provides debugging features
1666	  for some PowerPC processors. For details please see the
1667	  docuemntation in doc/README.beddbug
1668
1669config CMD_DIAG
1670	bool "diag - Board diagnostics"
1671	help
1672	  This command provides access to board diagnostic tests. These are
1673	  called Power-on Self Tests (POST). The command allows listing of
1674	  available tests and running either all the tests, or specific tests
1675	  identified by name.
1676
1677config CMD_IRQ
1678	bool "irq - Show information about interrupts"
1679	depends on !ARM && !MIPS && !SH
1680	help
1681	  This enables two commands:
1682
1683	     interrupts - enable or disable interrupts
1684	     irqinfo - print device-specific interrupt information
1685
1686config CMD_KGDB
1687	bool "kgdb - Allow debugging of U-Boot with gdb"
1688	help
1689	  This enables a 'kgdb' command which allows gdb to connect to U-Boot
1690	  over a serial link for debugging purposes. This allows
1691	  single-stepping, inspecting variables, etc. This is supported only
1692	  on PowerPC at present.
1693
1694config CMD_LOG
1695	bool "log - Generation, control and access to logging"
1696	help
1697	  This provides access to logging features. It allows the output of
1698	  log data to be controlled to a limited extent (setting up the default
1699	  maximum log level for emitting of records). It also provides access
1700	  to a command used for testing the log system.
1701
1702config CMD_TRACE
1703	bool "trace - Support tracing of function calls and timing"
1704	help
1705	  Enables a command to control using of function tracing within
1706	  U-Boot. This allows recording of call traces including timing
1707	  information. The command can write data to memory for exporting
1708	  for analsys (e.g. using bootchart). See doc/README.trace for full
1709	  details.
1710
1711endmenu
1712
1713config CMD_UBI
1714	tristate "Enable UBI - Unsorted block images commands"
1715	select CRC32
1716	select MTD_UBI
1717	select CMD_MTDPARTS
1718	default y if NAND_SUNXI
1719	help
1720	  UBI is a software layer above MTD layer which admits use of LVM-like
1721	  logical volumes on top of MTD devices, hides some complexities of
1722	  flash chips like wear and bad blocks and provides some other useful
1723	  capabilities. Please, consult the MTD web site for more details
1724	  (www.linux-mtd.infradead.org). Activate this option if you want
1725	  to use U-Boot UBI commands.
1726
1727config CMD_UBIFS
1728	tristate "Enable UBIFS - Unsorted block images filesystem commands"
1729	depends on CMD_UBI
1730	select CRC32
1731	select LZO
1732	default y if CMD_UBI
1733	help
1734	  UBIFS is a file system for flash devices which works on top of UBI.
1735
1736endmenu
1737