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