efi: arm: Add aarch64 EFI app support
[oweals/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
185         bool "Allow booting a standard EFI hello world for testing"
186         depends on CMD_BOOTEFI && ARM
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
193 config CMD_ELF
194         bool "bootelf, bootvx"
195         default y
196         help
197           Boot an ELF/vxWorks image from the memory.
198
199 config 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
206 config CMD_GO
207         bool "go"
208         default y
209         help
210           Start an application at a given address.
211
212 config CMD_RUN
213         bool "run"
214         default y
215         help
216           Run the command in the given environment variable.
217
218 config CMD_IMI
219         bool "iminfo"
220         default y
221         help
222           Print header information for application image.
223
224 config CMD_IMLS
225         bool "imls"
226         default y
227         help
228           List all images found in flash
229
230 config CMD_XIMG
231         bool "imxtract"
232         default y
233         help
234           Extract a part of a multi-image.
235
236 config CMD_POWEROFF
237         bool
238
239 endmenu
240
241 menu "Environment commands"
242
243 config CMD_ASKENV
244         bool "ask for env variable"
245         help
246           Ask for environment variable
247
248 config CMD_EXPORTENV
249         bool "env export"
250         default y
251         help
252           Export environments.
253
254 config CMD_IMPORTENV
255         bool "env import"
256         default y
257         help
258           Import environments.
259
260 config CMD_EDITENV
261         bool "editenv"
262         default y
263         help
264           Edit environment variable.
265
266 config CMD_GREPENV
267         bool "search env"
268         help
269           Allow for searching environment variables
270
271 config CMD_SAVEENV
272         bool "saveenv"
273         default y
274         help
275           Save all environment variables into the compiled-in persistent
276           storage.
277
278 config 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
285 endmenu
286
287 menu "Memory commands"
288
289 config 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
303 config CMD_CRC32
304         bool "crc32"
305         default y
306         help
307           Compute CRC32.
308
309 config LOOPW
310         bool "loopw"
311         help
312           Infinite write loop on address range
313
314 config CMD_MEMTEST
315         bool "memtest"
316         help
317           Simple RAM read/write test.
318
319 config CMD_MX_CYCLIC
320         bool "mdc, mwc"
321         help
322           mdc - memory display cyclic
323           mwc - memory write cyclic
324
325 config CMD_MEMINFO
326         bool "meminfo"
327         help
328           Display memory information.
329
330 endmenu
331
332 menu "Device access commands"
333
334 config 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
345 config 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
357 config CMD_LOADB
358         bool "loadb"
359         default y
360         help
361           Load a binary file over serial line.
362
363 config CMD_LOADS
364         bool "loads"
365         default y
366         help
367           Load an S-Record file over serial line
368
369 config 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
378 config CMD_ARMFLASH
379         #depends on FLASH_CFI_DRIVER
380         bool "armflash"
381         help
382           ARM Ltd reference designs flash partition access
383
384 config CMD_MMC
385         bool "mmc"
386         help
387           MMC memory mapped support.
388
389 config CMD_NAND
390         bool "nand"
391         help
392           NAND support.
393
394 config CMD_SF
395         bool "sf"
396         help
397           SPI Flash support
398
399 config CMD_SPI
400         bool "sspi"
401         help
402           SPI utility command.
403
404 config CMD_I2C
405         bool "i2c"
406         help
407           I2C support.
408
409 config CMD_USB
410         bool "usb"
411         help
412           USB support.
413
414 config 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
421 config CMD_USB_MASS_STORAGE
422         bool "UMS usb mass storage"
423         help
424           USB mass storage support
425
426 config CMD_FPGA
427         bool "fpga"
428         default y
429         help
430           FPGA support.
431
432 config CMD_REMOTEPROC
433         bool "remoteproc"
434         depends on REMOTEPROC
435         help
436           Support for Remote Processor control
437
438 config CMD_GPIO
439         bool "gpio"
440         help
441           GPIO support.
442
443 endmenu
444
445
446 menu "Shell scripting commands"
447
448 config CMD_ECHO
449         bool "echo"
450         default y
451         help
452           Echo args to console
453
454 config CMD_ITEST
455         bool "itest"
456         default y
457         help
458           Return true/false on integer compare.
459
460 config CMD_SOURCE
461         bool "source"
462         default y
463         help
464           Run script from memory
465
466 config 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
475 endmenu
476
477 menu "Network commands"
478
479 config 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
488 config CMD_TFTPPUT
489         bool "tftp put"
490         help
491           TFTP put command, for uploading files to a server
492
493 config CMD_TFTPSRV
494         bool "tftpsrv"
495         help
496           Act as a TFTP server and boot the first received file
497
498 config CMD_RARP
499         bool "rarpboot"
500         help
501           Boot image via network using RARP/TFTP protocol
502
503 config CMD_DHCP
504         bool "dhcp"
505         help
506           Boot image via network using DHCP/TFTP protocol
507
508 config CMD_NFS
509         bool "nfs"
510         default y
511         help
512           Boot image via network using NFS protocol.
513
514 config CMD_MII
515         bool "mii"
516         help
517           Enable MII utility commands.
518
519 config CMD_PING
520         bool "ping"
521         help
522           Send ICMP ECHO_REQUEST to network host
523
524 config CMD_CDP
525         bool "cdp"
526         help
527           Perform CDP network configuration
528
529 config CMD_SNTP
530         bool "sntp"
531         help
532           Synchronize RTC via network
533
534 config CMD_DNS
535         bool "dns"
536         help
537           Lookup the IP of a hostname
538
539 config CMD_LINK_LOCAL
540         bool "linklocal"
541         help
542           Acquire a network IP address using the link-local protocol
543
544 endmenu
545
546 menu "Misc commands"
547
548 config CMD_AMBAPP
549         bool "ambapp"
550         depends on LEON3
551         default y
552         help
553           Lists AMBA Plug-n-Play information.
554
555 config 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
562 config 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
573 config CMD_CACHE
574         bool "icache or dcache"
575         help
576           Enable the "icache" and "dcache" commands
577
578 config CMD_TIME
579         bool "time"
580         help
581           Run commands and summarize execution time.
582
583 # TODO: rename to CMD_SLEEP
584 config CMD_MISC
585         bool "sleep"
586         default y
587         help
588           Delay execution for some time
589
590 config CMD_TIMER
591         bool "timer"
592         help
593           Access the system timer.
594
595 config 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
605 config 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
615 config 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
622 endmenu
623
624 config 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
631 menu "Power commands"
632 config 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
645 config 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
665 endmenu
666
667 menu "Security commands"
668 config 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
677 config 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
687 endmenu
688
689 menu "Firmware commands"
690 config 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).
700 endmenu
701
702 menu "Filesystem commands"
703 config CMD_EXT2
704         bool "ext2 command support"
705         help
706           Enables EXT2 FS command
707
708 config CMD_EXT4
709         bool "ext4 command support"
710         help
711           Enables EXT4 FS command
712
713 config CMD_EXT4_WRITE
714         depends on CMD_EXT4
715         bool "ext4 write command support"
716         help
717           Enables EXT4 FS write command
718
719 config CMD_FAT
720         bool "FAT command support"
721         help
722           Support for the FAT fs
723
724 config CMD_FS_GENERIC
725         bool "filesystem commands"
726         help
727           Enables filesystem commands (e.g. load, ls) that work for multiple
728           fs types.
729 endmenu
730
731 config 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
743 endmenu