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