xref: /rk3399_rockchip-uboot/cmd/Kconfig (revision 2994e4dcba6c60354fc49e9ac9bb4ebb95a6d4b2)
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_SOURCE
1064	bool "source"
1065	default y
1066	help
1067	  Run script from memory
1068
1069config CMD_SETEXPR
1070	bool "setexpr"
1071	default y
1072	help
1073	  Evaluate boolean and math expressions and store the result in an env
1074	    variable.
1075	  Also supports loading the value at a memory location into a variable.
1076	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
1077
1078endmenu
1079
1080menu "Network commands"
1081
1082config CMD_NET
1083	bool "bootp, tftpboot"
1084        select NET
1085	default y
1086	help
1087	  Network commands.
1088	  bootp - boot image via network using BOOTP/TFTP protocol
1089	  tftpboot - boot image via network using TFTP protocol
1090
1091config CMD_TFTPPUT
1092	bool "tftp put"
1093	help
1094	  TFTP put command, for uploading files to a server
1095
1096config CMD_TFTP_BOOTM
1097	bool "tftp download and bootm"
1098	help
1099	  TFTP bootm command, download and bootm the aosp/uImage/FIT Image.
1100
1101config CMD_TFTP_FLASH
1102	bool "tftp download and flash"
1103	help
1104	  TFTP flash command, download and flash the Image to partition.
1105
1106config CMD_TFTP_UPDATE
1107	bool "tftp update"
1108	help
1109	  Update a set of images organized with FIT via network using TFTP protocol
1110
1111
1112config CMD_TFTPSRV
1113	bool "tftpsrv"
1114	help
1115	  Act as a TFTP server and boot the first received file
1116
1117config CMD_RARP
1118	bool "rarpboot"
1119	help
1120	  Boot image via network using RARP/TFTP protocol
1121
1122config CMD_DHCP
1123	bool "dhcp"
1124	help
1125	  Boot image via network using DHCP/TFTP protocol
1126
1127config CMD_PXE
1128	bool "pxe"
1129	select MENU
1130	help
1131	  Boot image via network using PXE protocol
1132
1133config CMD_NFS
1134	bool "nfs"
1135	default y
1136	help
1137	  Boot image via network using NFS protocol.
1138
1139config CMD_MII
1140	bool "mii"
1141	help
1142	  Enable MII utility commands.
1143
1144config CMD_PING
1145	bool "ping"
1146	help
1147	  Send ICMP ECHO_REQUEST to network host
1148
1149config CMD_CDP
1150	bool "cdp"
1151	help
1152	  Perform CDP network configuration
1153
1154config CMD_SNTP
1155	bool "sntp"
1156	help
1157	  Synchronize RTC via network
1158
1159config CMD_DNS
1160	bool "dns"
1161	help
1162	  Lookup the IP of a hostname
1163
1164config CMD_LINK_LOCAL
1165	bool "linklocal"
1166	help
1167	  Acquire a network IP address using the link-local protocol
1168
1169config CMD_ETHSW
1170	bool "ethsw"
1171	help
1172	  Allow control of L2 Ethernet switch commands. These are supported
1173	  by the vsc9953 Ethernet driver at present. Sub-commands allow
1174	  operations such as enabling / disabling a port and
1175	  viewing/maintaining the filtering database (FDB)
1176
1177endmenu
1178
1179config CMD_MEMTESTER
1180	bool "Enable memtester for ddr"
1181	help
1182	  This enables memtester for ddr.
1183
1184config CMD_DDR_TEST_TOOL
1185	bool "Enable ddr test tool"
1186	help
1187	  This enable ddr test tool code.
1188
1189menu "Misc commands"
1190
1191config CMD_BMP
1192	bool "Enable 'bmp' command"
1193	depends on LCD || DM_VIDEO || VIDEO
1194	help
1195	  This provides a way to obtain information about a BMP-format iamge
1196	  and to display it. BMP (which presumably stands for BitMaP) is a
1197	  file format defined by Microsoft which supports images of various
1198	  depths, formats and compression methods. Headers on the file
1199	  determine the formats used. This command can be used by first loading
1200	  the image into RAM, then using this command to look at it or display
1201	  it.
1202
1203config CMD_BSP
1204	bool "Enable board-specific commands"
1205	help
1206	  (deprecated: instead, please define a Kconfig option for each command)
1207
1208	  Some boards have board-specific commands which are only enabled
1209	  during developemnt and need to be turned off for production. This
1210	  option provides a way to control this. The commands that are enabled
1211	  vary depending on the board.
1212
1213config CMD_BKOPS_ENABLE
1214	bool "mmc bkops enable"
1215	depends on CMD_MMC
1216	default n
1217	help
1218	  Enable command for setting manual background operations handshake
1219	  on a eMMC device. The feature is optionally available on eMMC devices
1220	  conforming to standard >= 4.41.
1221
1222config CMD_BLOCK_CACHE
1223	bool "blkcache - control and stats for block cache"
1224	depends on BLOCK_CACHE
1225	default y if BLOCK_CACHE
1226	help
1227	  Enable the blkcache command, which can be used to control the
1228	  operation of the cache functions.
1229	  This is most useful when fine-tuning the operation of the cache
1230	  during development, but also allows the cache to be disabled when
1231	  it might hurt performance (e.g. when using the ums command).
1232
1233config CMD_CACHE
1234	bool "icache or dcache"
1235	help
1236	  Enable the "icache" and "dcache" commands
1237
1238config CMD_DISPLAY
1239	bool "Enable the 'display' command, for character displays"
1240	help
1241	  (this needs porting to driver model)
1242	  This enables the 'display' command which allows a string to be
1243	  displayed on a simple board-specific display. Implement
1244	  display_putc() to use it.
1245
1246config CMD_LED
1247	bool "led"
1248	default y if LED
1249	help
1250	  Enable the 'led' command which allows for control of LEDs supported
1251	  by the board. The LEDs can be listed with 'led list' and controlled
1252	  with led on/off/togle/blink. Any LED drivers can be controlled with
1253	  this command, e.g. led_gpio.
1254
1255config CMD_DATE
1256	bool "date"
1257	default y if DM_RTC
1258	help
1259	  Enable the 'date' command for getting/setting the time/date in RTC
1260	  devices.
1261
1262config CMD_TIME
1263	bool "time"
1264	help
1265	  Run commands and summarize execution time.
1266
1267config CMD_GETTIME
1268	bool "gettime - read elapsed time"
1269	help
1270	  Enable the 'gettime' command which reads the elapsed time since
1271	  U-Boot started running. This shows the time in seconds and
1272	  milliseconds. See also the 'bootstage' command which provides more
1273	  flexibility for boot timing.
1274
1275config CMD_RNG
1276	bool "rng command"
1277	depends on DM_RNG
1278	select HEXDUMP
1279	help
1280	  Print bytes from the hardware random number generator.
1281
1282# TODO: rename to CMD_SLEEP
1283config CMD_MISC
1284	bool "sleep"
1285	default y
1286	help
1287	  Delay execution for some time
1288
1289config CMD_TIMER
1290	bool "timer"
1291	help
1292	  Access the system timer.
1293
1294config CMD_SOUND
1295	bool "sound"
1296	depends on SOUND
1297	help
1298	  This provides basic access to the U-Boot's sound support. The main
1299	  feature is to play a beep.
1300
1301	     sound init   - set up sound system
1302	     sound play   - play a sound
1303
1304config CMD_QFW
1305	bool "qfw"
1306	select QFW
1307	help
1308	  This provides access to the QEMU firmware interface.  The main
1309	  feature is to allow easy loading of files passed to qemu-system
1310	  via -kernel / -initrd
1311
1312source "cmd/mvebu/Kconfig"
1313
1314config CMD_TERMINAL
1315	bool "terminal - provides a way to attach a serial terminal"
1316	help
1317	  Provides a 'cu'-like serial terminal command. This can be used to
1318	  access other serial ports from the system console. The terminal
1319	  is very simple with no special processing of characters. As with
1320	  cu, you can press ~. (tilde followed by period) to exit.
1321
1322config CMD_UUID
1323	bool "uuid, guid - generation of unique IDs"
1324	help
1325	  This enables two commands:
1326
1327	     uuid - generate random Universally Unique Identifier
1328	     guid - generate Globally Unique Identifier based on random UUID
1329
1330	  The two commands are very similar except for the endianness of the
1331	  output.
1332
1333endmenu
1334
1335config CMD_BOOTSTAGE
1336	bool "Enable the 'bootstage' command"
1337	depends on BOOTSTAGE
1338	help
1339	  Add a 'bootstage' command which supports printing a report
1340	  and un/stashing of bootstage data.
1341
1342menu "Power commands"
1343config CMD_PMIC
1344	bool "Enable Driver Model PMIC command"
1345	depends on DM_PMIC
1346	help
1347	  This is the pmic command, based on a driver model pmic's API.
1348	  Command features are unchanged:
1349	  - list               - list pmic devices
1350	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
1351	  - pmic dump          - dump registers
1352	  - pmic read address  - read byte of register at address
1353	  - pmic write address - write byte to register at address
1354	  The only one change for this command is 'dev' subcommand.
1355
1356config CMD_REGULATOR
1357	bool "Enable Driver Model REGULATOR command"
1358	depends on DM_REGULATOR
1359	help
1360	  This command is based on driver model regulator's API.
1361	  User interface features:
1362	  - list               - list regulator devices
1363	  - regulator dev <id> - show or [set] operating regulator device
1364	  - regulator info     - print constraints info
1365	  - regulator status   - print operating status
1366	  - regulator value <val] <-f> - print/[set] voltage value [uV]
1367	  - regulator current <val>    - print/[set] current value [uA]
1368	  - regulator mode <id>        - print/[set] operating mode id
1369	  - regulator enable           - enable the regulator output
1370	  - regulator disable          - disable the regulator output
1371
1372	  The '-f' (force) option can be used for set the value which exceeds
1373	  the limits, which are found in device-tree and are kept in regulator's
1374	  uclass platdata structure.
1375
1376config CMD_CHARGE_DISPLAY
1377	bool "Enable Driver Model Charge Display command"
1378	depends on DM_CHARGE_DISPLAY
1379	default y
1380	help
1381	  Support U-Boot charge display.
1382
1383config CMD_DVFS
1384	bool "Enable Driver Model DVFS command"
1385	depends on DM_DVFS
1386	default y
1387	help
1388	  Support dvfs policy apply API
1389	  User interface features:
1390	  - dvfs            - apply dvfs policy once
1391	  - dvfs repeat     - repeat apply dvfs policy until achieve the target temperature
1392
1393endmenu
1394
1395menu "Security commands"
1396config CMD_AES
1397	bool "Enable the 'aes' command"
1398	select AES
1399	help
1400	  This provides a means to encrypt and decrypt data using the AES
1401	  (Advanced Encryption Standard). This algorithm uses a symetric key
1402	  and is widely used as a streaming cipher. Different key lengths are
1403	  supported by the algorithm but this command only supports 128 bits
1404	  at present.
1405
1406config CMD_BLOB
1407	bool "Enable the 'blob' command"
1408	help
1409	  This is used with the Freescale secure boot mechanism.
1410
1411	  Freescale's SEC block has built-in Blob Protocol which provides
1412	  a method for protecting user-defined data across system power
1413	  cycles. SEC block protects data in a data structure called a Blob,
1414	  which provides both confidentiality and integrity protection.
1415
1416	  Encapsulating data as a blob
1417	  Each time that the Blob Protocol is used to protect data, a
1418	  different randomly generated key is used to encrypt the data.
1419	  This random key is itself encrypted using a key which is derived
1420	  from SoC's non-volatile secret key and a 16 bit Key identifier.
1421	  The resulting encrypted key along with encrypted data is called a
1422	  blob. The non-volatile secure key is available for use only during
1423	  secure boot.
1424
1425	  During decapsulation, the reverse process is performed to get back
1426	  the original data.
1427
1428	  Sub-commands:
1429            blob enc - encapsulating data as a cryptgraphic blob
1430	    blob dec - decapsulating cryptgraphic blob to get the data
1431
1432	  Syntax:
1433
1434	  blob enc src dst len km
1435
1436	  Encapsulate and create blob of data $len bytes long
1437	  at address $src and store the result at address $dst.
1438	  $km is the 16 byte key modifier is also required for
1439	  generation/use as key for cryptographic operation. Key
1440	  modifier should be 16 byte long.
1441
1442	  blob dec src dst len km
1443
1444	  Decapsulate the  blob of data at address $src and
1445	  store result of $len byte at addr $dst.
1446	  $km is the 16 byte key modifier is also required for
1447	  generation/use as key for cryptographic operation. Key
1448	  modifier should be 16 byte long.
1449
1450config CMD_HASH
1451	bool "Support 'hash' command"
1452	select HASH
1453	help
1454	  This provides a way to hash data in memory using various supported
1455	  algorithms (such as SHA1, MD5, CRC32). The computed digest can be
1456	  saved to memory or to an environment variable. It is also possible
1457	  to verify a hash against data in memory.
1458
1459config HASH_VERIFY
1460	bool "hash -v"
1461	depends on CMD_HASH
1462	help
1463	  Add -v option to verify data against a hash.
1464
1465config CMD_TPM
1466	bool "Enable the 'tpm' command"
1467	depends on TPM
1468	help
1469	  This provides a means to talk to a TPM from the command line. A wide
1470	  range of commands if provided - see 'tpm help' for details. The
1471	  command requires a suitable TPM on your board and the correct driver
1472	  must be enabled.
1473
1474config CMD_TPM_TEST
1475	bool "Enable the 'tpm test' command"
1476	depends on CMD_TPM
1477	help
1478	  This provides a a series of tests to confirm that the TPM is working
1479	  correctly. The tests cover initialisation, non-volatile RAM, extend,
1480	  global lock and checking that timing is within expectations. The
1481	  tests pass correctly on Infineon TPMs but may need to be adjusted
1482	  for other devices.
1483
1484endmenu
1485
1486menu "Firmware commands"
1487config CMD_CROS_EC
1488	bool "Enable crosec command"
1489	depends on CROS_EC
1490	default y
1491	help
1492	  Enable command-line access to the Chrome OS EC (Embedded
1493	  Controller). This provides the 'crosec' command which has
1494	  a number of sub-commands for performing EC tasks such as
1495	  updating its flash, accessing a small saved context area
1496	  and talking to the I2C bus behind the EC (if there is one).
1497endmenu
1498
1499menu "Filesystem commands"
1500config CMD_CBFS
1501	bool "Enable the 'cbfs' command"
1502	depends on FS_CBFS
1503	help
1504	  Define this to enable support for reading from a Coreboot
1505	  filesystem. This is a ROM-based filesystem used for accessing files
1506	  on systems that use coreboot as the first boot-loader and then load
1507	  U-Boot to actually boot the Operating System. Available commands are
1508	  cbfsinit, cbfsinfo, cbfsls and cbfsload.
1509
1510config CMD_CRAMFS
1511	bool "Enable the 'cramfs' command"
1512	depends on FS_CRAMFS
1513	help
1514	  This provides commands for dealing with CRAMFS (Compressed ROM
1515	  filesystem). CRAMFS is useful when space is tight since files are
1516	  compressed. Two commands are provided:
1517
1518	     cramfsls   - lists files in a cramfs image
1519	     cramfsload - loads a file from a cramfs image
1520
1521config CMD_EXT2
1522	bool "ext2 command support"
1523	help
1524	  Enables EXT2 FS command
1525
1526config CMD_EXT4
1527	bool "ext4 command support"
1528	help
1529	  Enables EXT4 FS command
1530
1531config CMD_EXT4_WRITE
1532	depends on CMD_EXT4
1533	bool "ext4 write command support"
1534	help
1535	  Enables EXT4 FS write command
1536
1537config CMD_FAT
1538	bool "FAT command support"
1539	select FS_FAT
1540	help
1541	  Support for the FAT fs
1542
1543config CMD_FS_GENERIC
1544	bool "filesystem commands"
1545	help
1546	  Enables filesystem commands (e.g. load, ls) that work for multiple
1547	  fs types.
1548
1549config CMD_FS_UUID
1550	bool "fsuuid command"
1551	help
1552	  Enables fsuuid command for filesystem UUID.
1553
1554config CMD_JFFS2
1555	bool "jffs2 command"
1556	select FS_JFFS2
1557	help
1558	  Enables commands to support the JFFS2 (Journalling Flash File System
1559	  version 2) filesystem. This enables fsload, ls and fsinfo which
1560	  provide the ability to load files, list directories and obtain
1561	  filesystem information.
1562
1563config CMD_MTDPARTS
1564	bool "MTD partition support"
1565	select MTD_DEVICE if (CMD_NAND || NAND)
1566	help
1567	  MTD partition support
1568
1569config CMD_MTD
1570	bool "MTD support"
1571	help
1572	  MTD support
1573
1574config CMD_MTD_BLK
1575	bool "MTD block support"
1576	help
1577	  MTD block support
1578
1579config MTDIDS_DEFAULT
1580	string "Default MTD IDs"
1581	depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
1582	help
1583	  Defines a default MTD ID
1584
1585config MTDPARTS_DEFAULT
1586	string "Default MTD partition scheme"
1587	depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
1588	help
1589	  Defines a default MTD partitioning scheme in the Linux MTD command
1590	  line partitions format
1591
1592config CMD_MTDPARTS_SPREAD
1593	bool "Padd partition size to take account of bad blocks"
1594	depends on CMD_MTDPARTS
1595	help
1596	  This enables the 'spread' sub-command of the mtdparts command.
1597	  This command will modify the existing mtdparts variable by increasing
1598	  the size of the partitions such that 1) each partition's net size is
1599	  at least as large as the size specified in the mtdparts variable and
1600	  2) each partition starts on a good block.
1601
1602config CMD_REISER
1603	bool "reiser - Access to reiserfs filesystems"
1604	help
1605	  This provides two commands which operate on a resierfs filesystem,
1606	  commonly used some years ago:
1607
1608	    reiserls - list files
1609	    reiserload - load a file
1610
1611config CMD_SCSI
1612	bool "scsi - Access to SCSI devices"
1613	default y if SCSI
1614	help
1615	  This provides a 'scsi' command which provides access to SCSI (Small
1616	  Computer System Interface) devices. The command provides a way to
1617	  scan the bus, reset the bus, read and write data and get information
1618	  about devices.
1619
1620config CMD_YAFFS2
1621	bool "yaffs2 - Access of YAFFS2 filesystem"
1622	depends on YAFFS2
1623	default y
1624	help
1625	  This provides commands for accessing a YAFFS2 filesystem. Yet
1626	  Another Flash Filesystem 2 is a filesystem designed specifically
1627	  for NAND flash. It incorporates bad-block management and ensures
1628	  that device writes are sequential regardless of filesystem
1629	  activity.
1630
1631config CMD_ZFS
1632	bool "zfs - Access of ZFS filesystem"
1633	help
1634	  This provides commands to accessing a ZFS filesystem, commonly used
1635	  on Solaris systems. Two sub-commands are provided:
1636
1637	    zfsls - list files in a directory
1638	    zfsload - load a file
1639
1640	  See doc/README.zfs for more details.
1641
1642endmenu
1643
1644menu "Debug commands"
1645
1646config CMD_ATAGS
1647	bool "atags - Dump all rockchip atags"
1648	default y
1649	help
1650	  This command dump all rockchip atags.
1651
1652config CMD_BEDBUG
1653	bool "bedbug"
1654	help
1655	  The bedbug (emBEDded deBUGger) command provides debugging features
1656	  for some PowerPC processors. For details please see the
1657	  docuemntation in doc/README.beddbug
1658
1659config CMD_DIAG
1660	bool "diag - Board diagnostics"
1661	help
1662	  This command provides access to board diagnostic tests. These are
1663	  called Power-on Self Tests (POST). The command allows listing of
1664	  available tests and running either all the tests, or specific tests
1665	  identified by name.
1666
1667config CMD_IRQ
1668	bool "irq - Show information about interrupts"
1669	depends on !ARM && !MIPS && !SH
1670	help
1671	  This enables two commands:
1672
1673	     interrupts - enable or disable interrupts
1674	     irqinfo - print device-specific interrupt information
1675
1676config CMD_KGDB
1677	bool "kgdb - Allow debugging of U-Boot with gdb"
1678	help
1679	  This enables a 'kgdb' command which allows gdb to connect to U-Boot
1680	  over a serial link for debugging purposes. This allows
1681	  single-stepping, inspecting variables, etc. This is supported only
1682	  on PowerPC at present.
1683
1684config CMD_LOG
1685	bool "log - Generation, control and access to logging"
1686	help
1687	  This provides access to logging features. It allows the output of
1688	  log data to be controlled to a limited extent (setting up the default
1689	  maximum log level for emitting of records). It also provides access
1690	  to a command used for testing the log system.
1691
1692config CMD_TRACE
1693	bool "trace - Support tracing of function calls and timing"
1694	help
1695	  Enables a command to control using of function tracing within
1696	  U-Boot. This allows recording of call traces including timing
1697	  information. The command can write data to memory for exporting
1698	  for analsys (e.g. using bootchart). See doc/README.trace for full
1699	  details.
1700
1701endmenu
1702
1703config CMD_UBI
1704	tristate "Enable UBI - Unsorted block images commands"
1705	select CRC32
1706	select MTD_UBI
1707	select CMD_MTDPARTS
1708	default y if NAND_SUNXI
1709	help
1710	  UBI is a software layer above MTD layer which admits use of LVM-like
1711	  logical volumes on top of MTD devices, hides some complexities of
1712	  flash chips like wear and bad blocks and provides some other useful
1713	  capabilities. Please, consult the MTD web site for more details
1714	  (www.linux-mtd.infradead.org). Activate this option if you want
1715	  to use U-Boot UBI commands.
1716
1717config CMD_UBIFS
1718	tristate "Enable UBIFS - Unsorted block images filesystem commands"
1719	depends on CMD_UBI
1720	select CRC32
1721	select LZO
1722	default y if CMD_UBI
1723	help
1724	  UBIFS is a file system for flash devices which works on top of UBI.
1725
1726endmenu
1727