xref: /rk3399_rockchip-uboot/cmd/Kconfig (revision 61304dbec36dc445bbe7d2c19b4da0695861e0a8)
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
33menu "Autoboot options"
34
35config AUTOBOOT
36	bool "Autoboot"
37	default y
38	help
39	  This enables the autoboot.  See doc/README.autoboot for detail.
40
41config AUTOBOOT_KEYED
42	bool "Stop autobooting via specific input key / string"
43	default n
44	help
45	  This option enables stopping (aborting) of the automatic
46	  boot feature only by issuing a specific input key or
47	  string. If not enabled, any input key will abort the
48	  U-Boot automatic booting process and bring the device
49	  to the U-Boot prompt for user input.
50
51config AUTOBOOT_PROMPT
52	string "Autoboot stop prompt"
53	depends on AUTOBOOT_KEYED
54	default "Autoboot in %d seconds\\n"
55	help
56	  This string is displayed before the boot delay selected by
57	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
58	  output indicating that autoboot is in progress.
59
60	  Note that this define is used as the (only) argument to a
61	  printf() call, so it may contain '%' format specifications,
62	  provided that it also includes, sepearated by commas exactly
63	  like in a printf statement, the required arguments. It is
64	  the responsibility of the user to select only such arguments
65	  that are valid in the given context.
66
67config AUTOBOOT_ENCRYPTION
68	bool "Enable encryption in autoboot stopping"
69	depends on AUTOBOOT_KEYED
70	default n
71
72config AUTOBOOT_DELAY_STR
73	string "Delay autobooting via specific input key / string"
74	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
75	help
76	  This option delays the automatic boot feature by issuing
77	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
78	  or the environment variable "bootdelaykey" is specified
79	  and this string is received from console input before
80	  autoboot starts booting, U-Boot gives a command prompt. The
81	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
82	  used, otherwise it never times out.
83
84config AUTOBOOT_STOP_STR
85	string "Stop autobooting via specific input key / string"
86	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
87	help
88	  This option enables stopping (aborting) of the automatic
89	  boot feature only by issuing a specific input key or
90	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
91	  variable "bootstopkey" is specified and this string is
92	  received from console input before autoboot starts booting,
93	  U-Boot gives a command prompt. The U-Boot prompt never
94	  times out, even if CONFIG_BOOT_RETRY_TIME is used.
95
96config AUTOBOOT_KEYED_CTRLC
97	bool "Enable Ctrl-C autoboot interruption"
98	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
99	default n
100	help
101	  This option allows for the boot sequence to be interrupted
102	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
103	  Setting this variable	provides an escape sequence from the
104	  limited "password" strings.
105
106config AUTOBOOT_STOP_STR_SHA256
107	string "Stop autobooting via SHA256 encrypted password"
108	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
109	help
110	  This option adds the feature to only stop the autobooting,
111	  and therefore boot into the U-Boot prompt, when the input
112	  string / password matches a values that is encypted via
113	  a SHA256 hash and saved in the environment.
114
115endmenu
116
117source "cmd/fastboot/Kconfig"
118
119comment "Commands"
120
121menu "Info commands"
122
123config CMD_BDI
124	bool "bdinfo"
125	default y
126	help
127	  Print board info
128
129config CMD_CONFIG
130	bool "config"
131	select BUILD_BIN2C
132	default SANDBOX
133	help
134	  Print ".config" contents.
135
136	  If this option is enabled, the ".config" file contents are embedded
137	  in the U-Boot image and can be printed on the console by the "config"
138	  command.  This provides information of which options are enabled on
139	  the running U-Boot.
140
141config CMD_CONSOLE
142	bool "coninfo"
143	default y
144	help
145	  Print console devices and information.
146
147config CMD_CPU
148	bool "cpu"
149	help
150	  Print information about available CPUs. This normally shows the
151	  number of CPUs, type (e.g. manufacturer, architecture, product or
152	  internal name) and clock frequency. Other information may be
153	  available depending on the CPU driver.
154
155config CMD_LICENSE
156	bool "license"
157	help
158	  Print GPL license text
159
160endmenu
161
162menu "Boot commands"
163
164config CMD_BOOTD
165	bool "bootd"
166	default y
167	help
168	  Run the command stored in the environment "bootcmd", i.e.
169	  "bootd" does the same thing as "run bootcmd".
170
171config CMD_BOOTM
172	bool "bootm"
173	default y
174	help
175	  Boot an application image from the memory.
176
177config CMD_BOOTZ
178	bool "bootz"
179	help
180	  Boot the Linux zImage
181
182config CMD_BOOTI
183	bool "booti"
184	depends on ARM64
185	default y
186	help
187	  Boot an AArch64 Linux Kernel image from memory.
188
189config CMD_BOOTEFI
190	bool "bootefi"
191	depends on EFI_LOADER
192	default y
193	help
194	  Boot an EFI image from memory.
195
196config CMD_BOOTEFI_HELLO_COMPILE
197	bool "Compile a standard EFI hello world binary for testing"
198	depends on CMD_BOOTEFI && (ARM || X86)
199	default y
200	help
201	  This compiles a standard EFI hello world application with U-Boot so
202	  that it can be used with the test/py testing framework. This is useful
203	  for testing that EFI is working at a basic level, and for bringing
204	  up EFI support on a new architecture.
205
206	  No additional space will be required in the resulting U-Boot binary
207	  when this option is enabled.
208
209config CMD_BOOTEFI_HELLO
210	bool "Allow booting a standard EFI hello world for testing"
211	depends on CMD_BOOTEFI_HELLO_COMPILE
212	help
213	  This adds a standard EFI hello world application to U-Boot so that
214	  it can be used with the 'bootefi hello' command. This is useful
215	  for testing that EFI is working at a basic level, and for bringing
216	  up EFI support on a new architecture.
217
218config CMD_BOOTMENU
219	bool "bootmenu"
220	select MENU
221	help
222	  Add an ANSI terminal boot menu command.
223
224config CMD_ELF
225	bool "bootelf, bootvx"
226	default y
227	help
228	  Boot an ELF/vxWorks image from the memory.
229
230config CMD_FDT
231	bool "Flattened Device Tree utility commands"
232	default y
233	depends on OF_LIBFDT
234	help
235	  Do FDT related setup before booting into the Operating System.
236
237config CMD_GO
238	bool "go"
239	default y
240	help
241	  Start an application at a given address.
242
243config CMD_RUN
244	bool "run"
245	default y
246	help
247	  Run the command in the given environment variable.
248
249config CMD_IMI
250	bool "iminfo"
251	default y
252	help
253	  Print header information for application image.
254
255config CMD_IMLS
256	bool "imls"
257	default y
258	help
259	  List all images found in flash
260
261config CMD_XIMG
262	bool "imxtract"
263	default y
264	help
265	  Extract a part of a multi-image.
266
267config CMD_POWEROFF
268	bool
269
270endmenu
271
272menu "Environment commands"
273
274config CMD_ASKENV
275	bool "ask for env variable"
276	help
277	  Ask for environment variable
278
279config CMD_EXPORTENV
280	bool "env export"
281	default y
282	help
283	  Export environments.
284
285config CMD_IMPORTENV
286	bool "env import"
287	default y
288	help
289	  Import environments.
290
291config CMD_EDITENV
292	bool "editenv"
293	default y
294	help
295	  Edit environment variable.
296
297config CMD_GREPENV
298	bool "search env"
299	help
300	  Allow for searching environment variables
301
302config CMD_SAVEENV
303	bool "saveenv"
304	default y
305	help
306	  Save all environment variables into the compiled-in persistent
307	  storage.
308
309config CMD_ENV_EXISTS
310	bool "env exists"
311	default y
312	help
313	  Check if a variable is defined in the environment for use in
314	  shell scripting.
315
316endmenu
317
318menu "Memory commands"
319
320config CMD_MEMORY
321	bool "md, mm, nm, mw, cp, cmp, base, loop"
322	default y
323	help
324	  Memory commands.
325	    md - memory display
326	    mm - memory modify (auto-incrementing address)
327	    nm - memory modify (constant address)
328	    mw - memory write (fill)
329	    cp - memory copy
330	    cmp - memory compare
331	    base - print or set address offset
332	    loop - initialize loop on address range
333
334config CMD_CRC32
335	bool "crc32"
336	default y
337	help
338	  Compute CRC32.
339
340config LOOPW
341	bool "loopw"
342	help
343	  Infinite write loop on address range
344
345config CMD_MEMTEST
346	bool "memtest"
347	help
348	  Simple RAM read/write test.
349
350config CMD_MX_CYCLIC
351	bool "mdc, mwc"
352	help
353	  mdc - memory display cyclic
354	  mwc - memory write cyclic
355
356config CMD_MEMINFO
357	bool "meminfo"
358	help
359	  Display memory information.
360
361endmenu
362
363menu "Device access commands"
364
365config CMD_DM
366	bool "dm - Access to driver model information"
367	depends on DM
368	default y
369	help
370	  Provides access to driver model data structures and information,
371	  such as a list of devices, list of uclasses and the state of each
372	  device (e.g. activated). This is not required for operation, but
373	  can be useful to see the state of driver model for debugging or
374	  interest.
375
376config CMD_DEMO
377	bool "demo - Demonstration commands for driver model"
378	depends on DM
379	help
380	  Provides a 'demo' command which can be used to play around with
381	  driver model. To use this properly you will need to enable one or
382	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
383	  Otherwise you will always get an empty list of devices. The demo
384	  devices are defined in the sandbox device tree, so the easiest
385	  option is to use sandbox and pass the -d point to sandbox's
386	  u-boot.dtb file.
387
388config CMD_LOADB
389	bool "loadb"
390	default y
391	help
392	  Load a binary file over serial line.
393
394config CMD_LOADS
395	bool "loads"
396	default y
397	help
398	  Load an S-Record file over serial line
399
400config CMD_FLASH
401	bool "flinfo, erase, protect"
402	default y
403	help
404	  NOR flash support.
405	    flinfo - print FLASH memory information
406	    erase - FLASH memory
407	    protect - enable or disable FLASH write protection
408
409config CMD_GPT
410	bool "GPT (GUID Partition Table) command"
411	select PARTITION_UUIDS
412	select EFI_PARTITION
413	help
414	  Enable the 'gpt' command to ready and write GPT style partition
415	  tables.
416
417config CMD_ARMFLASH
418	#depends on FLASH_CFI_DRIVER
419	bool "armflash"
420	help
421	  ARM Ltd reference designs flash partition access
422
423config CMD_MMC
424	bool "mmc"
425	help
426	  MMC memory mapped support.
427
428config CMD_NAND
429	bool "nand"
430	help
431	  NAND support.
432
433config CMD_PART
434	bool "part"
435	select PARTITION_UUIDS
436	help
437	  Read and display information about the partition table on
438	  various media.
439
440config CMD_SF
441	bool "sf"
442	help
443	  SPI Flash support
444
445config CMD_SPI
446	bool "sspi"
447	help
448	  SPI utility command.
449
450config CMD_I2C
451	bool "i2c"
452	help
453	  I2C support.
454
455config CMD_USB
456	bool "usb"
457	help
458	  USB support.
459
460config CMD_DFU
461	bool "dfu"
462	select USB_FUNCTION_DFU
463	help
464	  Enables the command "dfu" which is used to have U-Boot create a DFU
465	  class device via USB.
466
467config CMD_USB_MASS_STORAGE
468	bool "UMS usb mass storage"
469	help
470	  USB mass storage support
471
472config CMD_FPGA
473	bool "fpga"
474	default y
475	help
476	  FPGA support.
477
478config CMD_REMOTEPROC
479	bool "remoteproc"
480	depends on REMOTEPROC
481	help
482	  Support for Remote Processor control
483
484config CMD_GPIO
485	bool "gpio"
486	help
487	  GPIO support.
488
489endmenu
490
491
492menu "Shell scripting commands"
493
494config CMD_ECHO
495	bool "echo"
496	default y
497	help
498	  Echo args to console
499
500config CMD_ITEST
501	bool "itest"
502	default y
503	help
504	  Return true/false on integer compare.
505
506config CMD_SOURCE
507	bool "source"
508	default y
509	help
510	  Run script from memory
511
512config CMD_SETEXPR
513	bool "setexpr"
514	default y
515	help
516	  Evaluate boolean and math expressions and store the result in an env
517	    variable.
518	  Also supports loading the value at a memory location into a variable.
519	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
520
521endmenu
522
523menu "Network commands"
524
525config CMD_NET
526	bool "bootp, tftpboot"
527        select NET
528	default y
529	help
530	  Network commands.
531	  bootp - boot image via network using BOOTP/TFTP protocol
532	  tftpboot - boot image via network using TFTP protocol
533
534config CMD_TFTPPUT
535	bool "tftp put"
536	help
537	  TFTP put command, for uploading files to a server
538
539config CMD_TFTPSRV
540	bool "tftpsrv"
541	help
542	  Act as a TFTP server and boot the first received file
543
544config CMD_RARP
545	bool "rarpboot"
546	help
547	  Boot image via network using RARP/TFTP protocol
548
549config CMD_DHCP
550	bool "dhcp"
551	help
552	  Boot image via network using DHCP/TFTP protocol
553
554config CMD_PXE
555	bool "pxe"
556	select MENU
557	help
558	  Boot image via network using PXE protocol
559
560config CMD_NFS
561	bool "nfs"
562	default y
563	help
564	  Boot image via network using NFS protocol.
565
566config CMD_MII
567	bool "mii"
568	help
569	  Enable MII utility commands.
570
571config CMD_PING
572	bool "ping"
573	help
574	  Send ICMP ECHO_REQUEST to network host
575
576config CMD_CDP
577	bool "cdp"
578	help
579	  Perform CDP network configuration
580
581config CMD_SNTP
582	bool "sntp"
583	help
584	  Synchronize RTC via network
585
586config CMD_DNS
587	bool "dns"
588	help
589	  Lookup the IP of a hostname
590
591config CMD_LINK_LOCAL
592	bool "linklocal"
593	help
594	  Acquire a network IP address using the link-local protocol
595
596endmenu
597
598menu "Misc commands"
599
600config CMD_AMBAPP
601	bool "ambapp"
602	depends on LEON3
603	default y
604	help
605	  Lists AMBA Plug-n-Play information.
606
607config SYS_AMBAPP_PRINT_ON_STARTUP
608	bool "Show AMBA PnP info on startup"
609	depends on CMD_AMBAPP
610	default n
611	help
612	  Show AMBA Plug-n-Play information on startup.
613
614config CMD_BKOPS_ENABLE
615	bool "mmc bkops enable"
616	depends on CMD_MMC
617	default n
618	help
619	  Enable command for setting manual background operations handshake
620	  on a eMMC device. The feature is optionally available on eMMC devices
621	  conforming to standard >= 4.41.
622
623config CMD_BLOCK_CACHE
624	bool "blkcache - control and stats for block cache"
625	depends on BLOCK_CACHE
626	default y if BLOCK_CACHE
627	help
628	  Enable the blkcache command, which can be used to control the
629	  operation of the cache functions.
630	  This is most useful when fine-tuning the operation of the cache
631	  during development, but also allows the cache to be disabled when
632	  it might hurt performance (e.g. when using the ums command).
633
634config CMD_CACHE
635	bool "icache or dcache"
636	help
637	  Enable the "icache" and "dcache" commands
638
639config CMD_TIME
640	bool "time"
641	help
642	  Run commands and summarize execution time.
643
644# TODO: rename to CMD_SLEEP
645config CMD_MISC
646	bool "sleep"
647	default y
648	help
649	  Delay execution for some time
650
651config CMD_TIMER
652	bool "timer"
653	help
654	  Access the system timer.
655
656config CMD_SETGETDCR
657	bool "getdcr, setdcr, getidcr, setidcr"
658	depends on 4xx
659	default y
660	help
661	  getdcr - Get an AMCC PPC 4xx DCR's value
662	  setdcr - Set an AMCC PPC 4xx DCR's value
663	  getidcr - Get a register value via indirect DCR addressing
664	  setidcr - Set a register value via indirect DCR addressing
665
666config CMD_SOUND
667	bool "sound"
668	depends on SOUND
669	help
670	  This provides basic access to the U-Boot's sound support. The main
671	  feature is to play a beep.
672
673	     sound init   - set up sound system
674	     sound play   - play a sound
675
676config CMD_QFW
677	bool "qfw"
678	select QFW
679	help
680	  This provides access to the QEMU firmware interface.  The main
681	  feature is to allow easy loading of files passed to qemu-system
682	  via -kernel / -initrd
683
684source "cmd/mvebu/Kconfig"
685
686endmenu
687
688config CMD_BOOTSTAGE
689	bool "Enable the 'bootstage' command"
690	depends on BOOTSTAGE
691	help
692	  Add a 'bootstage' command which supports printing a report
693	  and un/stashing of bootstage data.
694
695menu "Power commands"
696config CMD_PMIC
697	bool "Enable Driver Model PMIC command"
698	depends on DM_PMIC
699	help
700	  This is the pmic command, based on a driver model pmic's API.
701	  Command features are unchanged:
702	  - list               - list pmic devices
703	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
704	  - pmic dump          - dump registers
705	  - pmic read address  - read byte of register at address
706	  - pmic write address - write byte to register at address
707	  The only one change for this command is 'dev' subcommand.
708
709config CMD_REGULATOR
710	bool "Enable Driver Model REGULATOR command"
711	depends on DM_REGULATOR
712	help
713	  This command is based on driver model regulator's API.
714	  User interface features:
715	  - list               - list regulator devices
716	  - regulator dev <id> - show or [set] operating regulator device
717	  - regulator info     - print constraints info
718	  - regulator status   - print operating status
719	  - regulator value <val] <-f> - print/[set] voltage value [uV]
720	  - regulator current <val>    - print/[set] current value [uA]
721	  - regulator mode <id>        - print/[set] operating mode id
722	  - regulator enable           - enable the regulator output
723	  - regulator disable          - disable the regulator output
724
725	  The '-f' (force) option can be used for set the value which exceeds
726	  the limits, which are found in device-tree and are kept in regulator's
727	  uclass platdata structure.
728
729endmenu
730
731menu "Security commands"
732config CMD_TPM
733	bool "Enable the 'tpm' command"
734	depends on TPM
735	help
736	  This provides a means to talk to a TPM from the command line. A wide
737	  range of commands if provided - see 'tpm help' for details. The
738	  command requires a suitable TPM on your board and the correct driver
739	  must be enabled.
740
741config CMD_TPM_TEST
742	bool "Enable the 'tpm test' command"
743	depends on CMD_TPM
744	help
745	  This provides a a series of tests to confirm that the TPM is working
746	  correctly. The tests cover initialisation, non-volatile RAM, extend,
747	  global lock and checking that timing is within expectations. The
748	  tests pass correctly on Infineon TPMs but may need to be adjusted
749	  for other devices.
750
751endmenu
752
753menu "Firmware commands"
754config CMD_CROS_EC
755	bool "Enable crosec command"
756	depends on CROS_EC
757	default y
758	help
759	  Enable command-line access to the Chrome OS EC (Embedded
760	  Controller). This provides the 'crosec' command which has
761	  a number of sub-commands for performing EC tasks such as
762	  updating its flash, accessing a small saved context area
763	  and talking to the I2C bus behind the EC (if there is one).
764endmenu
765
766menu "Filesystem commands"
767config CMD_EXT2
768	bool "ext2 command support"
769	help
770	  Enables EXT2 FS command
771
772config CMD_EXT4
773	bool "ext4 command support"
774	help
775	  Enables EXT4 FS command
776
777config CMD_EXT4_WRITE
778	depends on CMD_EXT4
779	bool "ext4 write command support"
780	help
781	  Enables EXT4 FS write command
782
783config CMD_FAT
784	bool "FAT command support"
785	help
786	  Support for the FAT fs
787
788config CMD_FS_GENERIC
789	bool "filesystem commands"
790	help
791	  Enables filesystem commands (e.g. load, ls) that work for multiple
792	  fs types.
793endmenu
794
795config CMD_UBI
796	tristate "Enable UBI - Unsorted block images commands"
797	select CRC32
798	select MTD_UBI
799	help
800	  UBI is a software layer above MTD layer which admits use of LVM-like
801	  logical volumes on top of MTD devices, hides some complexities of
802	  flash chips like wear and bad blocks and provides some other useful
803	  capabilities. Please, consult the MTD web site for more details
804	  (www.linux-mtd.infradead.org). Activate this option if you want
805	  to use U-Boot UBI commands.
806
807endmenu
808