cmd: rework "license" command
[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 endmenu
363
364 menu "Device access commands"
365
366 config CMD_DM
367         bool "dm - Access to driver model information"
368         depends on DM
369         default y
370         help
371           Provides access to driver model data structures and information,
372           such as a list of devices, list of uclasses and the state of each
373           device (e.g. activated). This is not required for operation, but
374           can be useful to see the state of driver model for debugging or
375           interest.
376
377 config CMD_DEMO
378         bool "demo - Demonstration commands for driver model"
379         depends on DM
380         help
381           Provides a 'demo' command which can be used to play around with
382           driver model. To use this properly you will need to enable one or
383           both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
384           Otherwise you will always get an empty list of devices. The demo
385           devices are defined in the sandbox device tree, so the easiest
386           option is to use sandbox and pass the -d point to sandbox's
387           u-boot.dtb file.
388
389 config CMD_LOADB
390         bool "loadb"
391         default y
392         help
393           Load a binary file over serial line.
394
395 config CMD_LOADS
396         bool "loads"
397         default y
398         help
399           Load an S-Record file over serial line
400
401 config CMD_FLASH
402         bool "flinfo, erase, protect"
403         default y
404         help
405           NOR flash support.
406             flinfo - print FLASH memory information
407             erase - FLASH memory
408             protect - enable or disable FLASH write protection
409
410 config CMD_GPT
411         bool "GPT (GUID Partition Table) command"
412         select PARTITION_UUIDS
413         select EFI_PARTITION
414         help
415           Enable the 'gpt' command to ready and write GPT style partition
416           tables.
417
418 config CMD_ARMFLASH
419         #depends on FLASH_CFI_DRIVER
420         bool "armflash"
421         help
422           ARM Ltd reference designs flash partition access
423
424 config CMD_MMC
425         bool "mmc"
426         help
427           MMC memory mapped support.
428
429 config CMD_NAND
430         bool "nand"
431         help
432           NAND support.
433
434 config CMD_PART
435         bool "part"
436         select PARTITION_UUIDS
437         help
438           Read and display information about the partition table on
439           various media.
440
441 config CMD_SF
442         bool "sf"
443         help
444           SPI Flash support
445
446 config CMD_SPI
447         bool "sspi"
448         help
449           SPI utility command.
450
451 config CMD_I2C
452         bool "i2c"
453         help
454           I2C support.
455
456 config CMD_USB
457         bool "usb"
458         help
459           USB support.
460
461 config CMD_DFU
462         bool "dfu"
463         select USB_FUNCTION_DFU
464         help
465           Enables the command "dfu" which is used to have U-Boot create a DFU
466           class device via USB.
467
468 config CMD_USB_MASS_STORAGE
469         bool "UMS usb mass storage"
470         help
471           USB mass storage support
472
473 config CMD_FPGA
474         bool "fpga"
475         default y
476         help
477           FPGA support.
478
479 config CMD_REMOTEPROC
480         bool "remoteproc"
481         depends on REMOTEPROC
482         help
483           Support for Remote Processor control
484
485 config CMD_GPIO
486         bool "gpio"
487         help
488           GPIO support.
489
490 endmenu
491
492
493 menu "Shell scripting commands"
494
495 config CMD_ECHO
496         bool "echo"
497         default y
498         help
499           Echo args to console
500
501 config CMD_ITEST
502         bool "itest"
503         default y
504         help
505           Return true/false on integer compare.
506
507 config CMD_SOURCE
508         bool "source"
509         default y
510         help
511           Run script from memory
512
513 config CMD_SETEXPR
514         bool "setexpr"
515         default y
516         help
517           Evaluate boolean and math expressions and store the result in an env
518             variable.
519           Also supports loading the value at a memory location into a variable.
520           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
521
522 endmenu
523
524 menu "Network commands"
525
526 config CMD_NET
527         bool "bootp, tftpboot"
528         select NET
529         default y
530         help
531           Network commands.
532           bootp - boot image via network using BOOTP/TFTP protocol
533           tftpboot - boot image via network using TFTP protocol
534
535 config CMD_TFTPPUT
536         bool "tftp put"
537         help
538           TFTP put command, for uploading files to a server
539
540 config CMD_TFTPSRV
541         bool "tftpsrv"
542         help
543           Act as a TFTP server and boot the first received file
544
545 config CMD_RARP
546         bool "rarpboot"
547         help
548           Boot image via network using RARP/TFTP protocol
549
550 config CMD_DHCP
551         bool "dhcp"
552         help
553           Boot image via network using DHCP/TFTP protocol
554
555 config CMD_PXE
556         bool "pxe"
557         select MENU
558         help
559           Boot image via network using PXE protocol
560
561 config CMD_NFS
562         bool "nfs"
563         default y
564         help
565           Boot image via network using NFS protocol.
566
567 config CMD_MII
568         bool "mii"
569         help
570           Enable MII utility commands.
571
572 config CMD_PING
573         bool "ping"
574         help
575           Send ICMP ECHO_REQUEST to network host
576
577 config CMD_CDP
578         bool "cdp"
579         help
580           Perform CDP network configuration
581
582 config CMD_SNTP
583         bool "sntp"
584         help
585           Synchronize RTC via network
586
587 config CMD_DNS
588         bool "dns"
589         help
590           Lookup the IP of a hostname
591
592 config CMD_LINK_LOCAL
593         bool "linklocal"
594         help
595           Acquire a network IP address using the link-local protocol
596
597 endmenu
598
599 menu "Misc commands"
600
601 config CMD_AMBAPP
602         bool "ambapp"
603         depends on LEON3
604         default y
605         help
606           Lists AMBA Plug-n-Play information.
607
608 config SYS_AMBAPP_PRINT_ON_STARTUP
609         bool "Show AMBA PnP info on startup"
610         depends on CMD_AMBAPP
611         default n
612         help
613           Show AMBA Plug-n-Play information on startup.
614
615 config CMD_BKOPS_ENABLE
616         bool "mmc bkops enable"
617         depends on CMD_MMC
618         default n
619         help
620           Enable command for setting manual background operations handshake
621           on a eMMC device. The feature is optionally available on eMMC devices
622           conforming to standard >= 4.41.
623
624 config CMD_BLOCK_CACHE
625         bool "blkcache - control and stats for block cache"
626         depends on BLOCK_CACHE
627         default y if BLOCK_CACHE
628         help
629           Enable the blkcache command, which can be used to control the
630           operation of the cache functions.
631           This is most useful when fine-tuning the operation of the cache
632           during development, but also allows the cache to be disabled when
633           it might hurt performance (e.g. when using the ums command).
634
635 config CMD_CACHE
636         bool "icache or dcache"
637         help
638           Enable the "icache" and "dcache" commands
639
640 config CMD_TIME
641         bool "time"
642         help
643           Run commands and summarize execution time.
644
645 # TODO: rename to CMD_SLEEP
646 config CMD_MISC
647         bool "sleep"
648         default y
649         help
650           Delay execution for some time
651
652 config CMD_TIMER
653         bool "timer"
654         help
655           Access the system timer.
656
657 config CMD_SETGETDCR
658         bool "getdcr, setdcr, getidcr, setidcr"
659         depends on 4xx
660         default y
661         help
662           getdcr - Get an AMCC PPC 4xx DCR's value
663           setdcr - Set an AMCC PPC 4xx DCR's value
664           getidcr - Get a register value via indirect DCR addressing
665           setidcr - Set a register value via indirect DCR addressing
666
667 config CMD_SOUND
668         bool "sound"
669         depends on SOUND
670         help
671           This provides basic access to the U-Boot's sound support. The main
672           feature is to play a beep.
673
674              sound init   - set up sound system
675              sound play   - play a sound
676
677 config CMD_QFW
678         bool "qfw"
679         select QFW
680         help
681           This provides access to the QEMU firmware interface.  The main
682           feature is to allow easy loading of files passed to qemu-system
683           via -kernel / -initrd
684
685 source "cmd/mvebu/Kconfig"
686
687 endmenu
688
689 config CMD_BOOTSTAGE
690         bool "Enable the 'bootstage' command"
691         depends on BOOTSTAGE
692         help
693           Add a 'bootstage' command which supports printing a report
694           and un/stashing of bootstage data.
695
696 menu "Power commands"
697 config CMD_PMIC
698         bool "Enable Driver Model PMIC command"
699         depends on DM_PMIC
700         help
701           This is the pmic command, based on a driver model pmic's API.
702           Command features are unchanged:
703           - list               - list pmic devices
704           - pmic dev <id>      - show or [set] operating pmic device (NEW)
705           - pmic dump          - dump registers
706           - pmic read address  - read byte of register at address
707           - pmic write address - write byte to register at address
708           The only one change for this command is 'dev' subcommand.
709
710 config CMD_REGULATOR
711         bool "Enable Driver Model REGULATOR command"
712         depends on DM_REGULATOR
713         help
714           This command is based on driver model regulator's API.
715           User interface features:
716           - list               - list regulator devices
717           - regulator dev <id> - show or [set] operating regulator device
718           - regulator info     - print constraints info
719           - regulator status   - print operating status
720           - regulator value <val] <-f> - print/[set] voltage value [uV]
721           - regulator current <val>    - print/[set] current value [uA]
722           - regulator mode <id>        - print/[set] operating mode id
723           - regulator enable           - enable the regulator output
724           - regulator disable          - disable the regulator output
725
726           The '-f' (force) option can be used for set the value which exceeds
727           the limits, which are found in device-tree and are kept in regulator's
728           uclass platdata structure.
729
730 endmenu
731
732 menu "Security commands"
733 config CMD_TPM
734         bool "Enable the 'tpm' command"
735         depends on TPM
736         help
737           This provides a means to talk to a TPM from the command line. A wide
738           range of commands if provided - see 'tpm help' for details. The
739           command requires a suitable TPM on your board and the correct driver
740           must be enabled.
741
742 config CMD_TPM_TEST
743         bool "Enable the 'tpm test' command"
744         depends on CMD_TPM
745         help
746           This provides a a series of tests to confirm that the TPM is working
747           correctly. The tests cover initialisation, non-volatile RAM, extend,
748           global lock and checking that timing is within expectations. The
749           tests pass correctly on Infineon TPMs but may need to be adjusted
750           for other devices.
751
752 endmenu
753
754 menu "Firmware commands"
755 config CMD_CROS_EC
756         bool "Enable crosec command"
757         depends on CROS_EC
758         default y
759         help
760           Enable command-line access to the Chrome OS EC (Embedded
761           Controller). This provides the 'crosec' command which has
762           a number of sub-commands for performing EC tasks such as
763           updating its flash, accessing a small saved context area
764           and talking to the I2C bus behind the EC (if there is one).
765 endmenu
766
767 menu "Filesystem commands"
768 config CMD_EXT2
769         bool "ext2 command support"
770         help
771           Enables EXT2 FS command
772
773 config CMD_EXT4
774         bool "ext4 command support"
775         help
776           Enables EXT4 FS command
777
778 config CMD_EXT4_WRITE
779         depends on CMD_EXT4
780         bool "ext4 write command support"
781         help
782           Enables EXT4 FS write command
783
784 config CMD_FAT
785         bool "FAT command support"
786         help
787           Support for the FAT fs
788
789 config CMD_FS_GENERIC
790         bool "filesystem commands"
791         help
792           Enables filesystem commands (e.g. load, ls) that work for multiple
793           fs types.
794 endmenu
795
796 config CMD_UBI
797         tristate "Enable UBI - Unsorted block images commands"
798         select CRC32
799         select MTD_UBI
800         help
801           UBI is a software layer above MTD layer which admits use of LVM-like
802           logical volumes on top of MTD devices, hides some complexities of
803           flash chips like wear and bad blocks and provides some other useful
804           capabilities. Please, consult the MTD web site for more details
805           (www.linux-mtd.infradead.org). Activate this option if you want
806           to use U-Boot UBI commands.
807
808 endmenu