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