kconfig: introduce kconfig for UBI
[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         help
408           Enables the command "dfu" which is used to have U-Boot create a DFU
409           class device via USB.
410
411 config CMD_USB_MASS_STORAGE
412         bool "UMS usb mass storage"
413         help
414           USB mass storage support
415
416 config CMD_FPGA
417         bool "fpga"
418         default y
419         help
420           FPGA support.
421
422 config CMD_REMOTEPROC
423         bool "remoteproc"
424         depends on REMOTEPROC
425         help
426           Support for Remote Processor control
427
428 config CMD_GPIO
429         bool "gpio"
430         help
431           GPIO support.
432
433 endmenu
434
435
436 menu "Shell scripting commands"
437
438 config CMD_ECHO
439         bool "echo"
440         default y
441         help
442           Echo args to console
443
444 config CMD_ITEST
445         bool "itest"
446         default y
447         help
448           Return true/false on integer compare.
449
450 config CMD_SOURCE
451         bool "source"
452         default y
453         help
454           Run script from memory
455
456 config CMD_SETEXPR
457         bool "setexpr"
458         default y
459         help
460           Evaluate boolean and math expressions and store the result in an env
461             variable.
462           Also supports loading the value at a memory location into a variable.
463           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
464
465 endmenu
466
467 menu "Network commands"
468
469 config CMD_NET
470         bool "bootp, tftpboot"
471         select NET
472         default y
473         help
474           Network commands.
475           bootp - boot image via network using BOOTP/TFTP protocol
476           tftpboot - boot image via network using TFTP protocol
477
478 config CMD_TFTPPUT
479         bool "tftp put"
480         help
481           TFTP put command, for uploading files to a server
482
483 config CMD_TFTPSRV
484         bool "tftpsrv"
485         help
486           Act as a TFTP server and boot the first received file
487
488 config CMD_RARP
489         bool "rarpboot"
490         help
491           Boot image via network using RARP/TFTP protocol
492
493 config CMD_DHCP
494         bool "dhcp"
495         help
496           Boot image via network using DHCP/TFTP protocol
497
498 config CMD_NFS
499         bool "nfs"
500         default y
501         help
502           Boot image via network using NFS protocol.
503
504 config CMD_MII
505         bool "mii"
506         help
507           Enable MII utility commands.
508
509 config CMD_PING
510         bool "ping"
511         help
512           Send ICMP ECHO_REQUEST to network host
513
514 config CMD_CDP
515         bool "cdp"
516         help
517           Perform CDP network configuration
518
519 config CMD_SNTP
520         bool "sntp"
521         help
522           Synchronize RTC via network
523
524 config CMD_DNS
525         bool "dns"
526         help
527           Lookup the IP of a hostname
528
529 config CMD_LINK_LOCAL
530         bool "linklocal"
531         help
532           Acquire a network IP address using the link-local protocol
533
534 endmenu
535
536 menu "Misc commands"
537
538 config CMD_AMBAPP
539         bool "ambapp"
540         depends on LEON3
541         default y
542         help
543           Lists AMBA Plug-n-Play information.
544
545 config SYS_AMBAPP_PRINT_ON_STARTUP
546         bool "Show AMBA PnP info on startup"
547         depends on CMD_AMBAPP
548         default n
549         help
550           Show AMBA Plug-n-Play information on startup.
551
552 config CMD_BLOCK_CACHE
553         bool "blkcache - control and stats for block cache"
554         depends on BLOCK_CACHE
555         default y if BLOCK_CACHE
556         help
557           Enable the blkcache command, which can be used to control the
558           operation of the cache functions.
559           This is most useful when fine-tuning the operation of the cache
560           during development, but also allows the cache to be disabled when
561           it might hurt performance (e.g. when using the ums command).
562
563 config CMD_CACHE
564         bool "icache or dcache"
565         help
566           Enable the "icache" and "dcache" commands
567
568 config CMD_TIME
569         bool "time"
570         help
571           Run commands and summarize execution time.
572
573 # TODO: rename to CMD_SLEEP
574 config CMD_MISC
575         bool "sleep"
576         default y
577         help
578           Delay execution for some time
579
580 config CMD_TIMER
581         bool "timer"
582         help
583           Access the system timer.
584
585 config CMD_SETGETDCR
586         bool "getdcr, setdcr, getidcr, setidcr"
587         depends on 4xx
588         default y
589         help
590           getdcr - Get an AMCC PPC 4xx DCR's value
591           setdcr - Set an AMCC PPC 4xx DCR's value
592           getidcr - Get a register value via indirect DCR addressing
593           setidcr - Set a register value via indirect DCR addressing
594
595 config CMD_SOUND
596         bool "sound"
597         depends on SOUND
598         help
599           This provides basic access to the U-Boot's sound support. The main
600           feature is to play a beep.
601
602              sound init   - set up sound system
603              sound play   - play a sound
604
605 config CMD_QFW
606         bool "qfw"
607         select QFW
608         help
609           This provides access to the QEMU firmware interface.  The main
610           feature is to allow easy loading of files passed to qemu-system
611           via -kernel / -initrd
612 endmenu
613
614 config CMD_BOOTSTAGE
615         bool "Enable the 'bootstage' command"
616         depends on BOOTSTAGE
617         help
618           Add a 'bootstage' command which supports printing a report
619           and un/stashing of bootstage data.
620
621 menu "Power commands"
622 config CMD_PMIC
623         bool "Enable Driver Model PMIC command"
624         depends on DM_PMIC
625         help
626           This is the pmic command, based on a driver model pmic's API.
627           Command features are unchanged:
628           - list               - list pmic devices
629           - pmic dev <id>      - show or [set] operating pmic device (NEW)
630           - pmic dump          - dump registers
631           - pmic read address  - read byte of register at address
632           - pmic write address - write byte to register at address
633           The only one change for this command is 'dev' subcommand.
634
635 config CMD_REGULATOR
636         bool "Enable Driver Model REGULATOR command"
637         depends on DM_REGULATOR
638         help
639           This command is based on driver model regulator's API.
640           User interface features:
641           - list               - list regulator devices
642           - regulator dev <id> - show or [set] operating regulator device
643           - regulator info     - print constraints info
644           - regulator status   - print operating status
645           - regulator value <val] <-f> - print/[set] voltage value [uV]
646           - regulator current <val>    - print/[set] current value [uA]
647           - regulator mode <id>        - print/[set] operating mode id
648           - regulator enable           - enable the regulator output
649           - regulator disable          - disable the regulator output
650
651           The '-f' (force) option can be used for set the value which exceeds
652           the limits, which are found in device-tree and are kept in regulator's
653           uclass platdata structure.
654
655 endmenu
656
657 menu "Security commands"
658 config CMD_TPM
659         bool "Enable the 'tpm' command"
660         depends on TPM
661         help
662           This provides a means to talk to a TPM from the command line. A wide
663           range of commands if provided - see 'tpm help' for details. The
664           command requires a suitable TPM on your board and the correct driver
665           must be enabled.
666
667 config CMD_TPM_TEST
668         bool "Enable the 'tpm test' command"
669         depends on CMD_TPM
670         help
671           This provides a a series of tests to confirm that the TPM is working
672           correctly. The tests cover initialisation, non-volatile RAM, extend,
673           global lock and checking that timing is within expectations. The
674           tests pass correctly on Infineon TPMs but may need to be adjusted
675           for other devices.
676
677 endmenu
678
679 menu "Filesystem commands"
680 config CMD_EXT2
681         bool "ext2 command support"
682         help
683           Enables EXT2 FS command
684
685 config CMD_EXT4
686         bool "ext4 command support"
687         help
688           Enables EXT4 FS command
689
690 config CMD_EXT4_WRITE
691         depends on CMD_EXT4
692         bool "ext4 write command support"
693         help
694           Enables EXT4 FS write command
695
696 config CMD_FAT
697         bool "FAT command support"
698         help
699           Support for the FAT fs
700
701 config CMD_FS_GENERIC
702         bool "filesystem commands"
703         help
704           Enables filesystem commands (e.g. load, ls) that work for multiple
705           fs types.
706 endmenu
707
708 config CMD_UBI
709         tristate "Enable UBI - Unsorted block images commands"
710         select CRC32
711         select MTD_UBI
712         help
713           UBI is a software layer above MTD layer which admits use of LVM-like
714           logical volumes on top of MTD devices, hides some complexities of
715           flash chips like wear and bad blocks and provides some other useful
716           capabilities. Please, consult the MTD web site for more details
717           (www.linux-mtd.infradead.org). Activate this option if you want
718           to use U-Boot UBI commands.
719
720 endmenu