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