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