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