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