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