cmd: Convert CONFIG_CMD_ELF to Kconfig
[platform/kernel/u-boot.git] / common / Kconfig
1 menu "Command line interface"
2
3 config HUSH_PARSER
4         bool "Use hush shell"
5         select SYS_HUSH_PARSER
6         help
7           This option enables the "hush" shell (from Busybox) as command line
8           interpreter, thus enabling powerful command line syntax like
9           if...then...else...fi conditionals or `&&' and '||'
10           constructs ("shell scripts").
11
12           If disabled, you get the old, much simpler behaviour with a somewhat
13           smaller memory footprint.
14
15 config SYS_HUSH_PARSER
16         bool
17         help
18           Backward compatibility.
19
20 config SYS_PROMPT
21         string "Shell prompt"
22         default "=> "
23         help
24           This string is displayed in the command line to the left of the
25           cursor.
26
27 menu "Autoboot options"
28
29 config AUTOBOOT_KEYED
30         bool "Stop autobooting via specific input key / string"
31         default n
32         help
33           This option enables stopping (aborting) of the automatic
34           boot feature only by issuing a specific input key or
35           string. If not enabled, any input key will abort the
36           U-Boot automatic booting process and bring the device
37           to the U-Boot prompt for user input.
38
39 config AUTOBOOT_PROMPT
40         string "Autoboot stop prompt"
41         depends on AUTOBOOT_KEYED
42         default "Autoboot in %d seconds\\n"
43         help
44           This string is displayed before the boot delay selected by
45           CONFIG_BOOTDELAY starts. If it is not defined there is no
46           output indicating that autoboot is in progress.
47
48           Note that this define is used as the (only) argument to a
49           printf() call, so it may contain '%' format specifications,
50           provided that it also includes, sepearated by commas exactly
51           like in a printf statement, the required arguments. It is
52           the responsibility of the user to select only such arguments
53           that are valid in the given context.
54
55 config AUTOBOOT_ENCRYPTION
56         bool "Enable encryption in autoboot stopping"
57         depends on AUTOBOOT_KEYED
58         default n
59
60 config AUTOBOOT_DELAY_STR
61         string "Delay autobooting via specific input key / string"
62         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
63         help
64           This option delays the automatic boot feature by issuing
65           a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
66           or the environment variable "bootdelaykey" is specified
67           and this string is received from console input before
68           autoboot starts booting, U-Boot gives a command prompt. The
69           U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
70           used, otherwise it never times out.
71
72 config AUTOBOOT_STOP_STR
73         string "Stop autobooting via specific input key / string"
74         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
75         help
76           This option enables stopping (aborting) of the automatic
77           boot feature only by issuing a specific input key or
78           string. If CONFIG_AUTOBOOT_STOP_STR or the environment
79           variable "bootstopkey" is specified and this string is
80           received from console input before autoboot starts booting,
81           U-Boot gives a command prompt. The U-Boot prompt never
82           times out, even if CONFIG_BOOT_RETRY_TIME is used.
83
84 config AUTOBOOT_KEYED_CTRLC
85         bool "Enable Ctrl-C autoboot interruption"
86         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
87         default n
88         help
89           This option allows for the boot sequence to be interrupted
90           by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
91           Setting this variable provides an escape sequence from the
92           limited "password" strings.
93
94 config AUTOBOOT_STOP_STR_SHA256
95         string "Stop autobooting via SHA256 encrypted password"
96         depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
97         help
98           This option adds the feature to only stop the autobooting,
99           and therefore boot into the U-Boot prompt, when the input
100           string / password matches a values that is encypted via
101           a SHA256 hash and saved in the environment.
102
103 endmenu
104
105 comment "Commands"
106
107 menu "Info commands"
108
109 config CMD_BDI
110         bool "bdinfo"
111         default y
112         help
113           Print board info
114
115 config CMD_CONSOLE
116         bool "coninfo"
117         default y
118         help
119           Print console devices and information.
120
121 config CMD_CPU
122         bool "cpu"
123         help
124           Print information about available CPUs. This normally shows the
125           number of CPUs, type (e.g. manufacturer, architecture, product or
126           internal name) and clock frequency. Other information may be
127           available depending on the CPU driver.
128
129 config CMD_LICENSE
130         bool "license"
131         help
132           Print GPL license text
133
134 endmenu
135
136 menu "Boot commands"
137
138 config CMD_BOOTD
139         bool "bootd"
140         default y
141         help
142           Run the command stored in the environment "bootcmd", i.e.
143           "bootd" does the same thing as "run bootcmd".
144
145 config CMD_BOOTM
146         bool "bootm"
147         default y
148         help
149           Boot an application image from the memory.
150
151 config CMD_ELF
152         bool "bootelf, bootvx"
153         default y
154         help
155           Boot an ELF/vxWorks image from the memory.
156
157 config CMD_GO
158         bool "go"
159         default y
160         help
161           Start an application at a given address.
162
163 config CMD_RUN
164         bool "run"
165         default y
166         help
167           Run the command in the given environment variable.
168
169 config CMD_IMI
170         bool "iminfo"
171         default y
172         help
173           Print header information for application image.
174
175 config CMD_IMLS
176         bool "imls"
177         default y
178         help
179           List all images found in flash
180
181 config CMD_XIMG
182         bool "imxtract"
183         default y
184         help
185           Extract a part of a multi-image.
186
187 endmenu
188
189 menu "Environment commands"
190
191 config CMD_EXPORTENV
192         bool "env export"
193         default y
194         help
195           Export environments.
196
197 config CMD_IMPORTENV
198         bool "env import"
199         default y
200         help
201           Import environments.
202
203 config CMD_EDITENV
204         bool "editenv"
205         default y
206         help
207           Edit environment variable.
208
209 config CMD_SAVEENV
210         bool "saveenv"
211         default y
212         help
213           Save all environment variables into the compiled-in persistent
214           storage.
215
216 config CMD_ENV_EXISTS
217         bool "env exists"
218         default y
219         help
220           Check if a variable is defined in the environment for use in
221           shell scripting.
222
223 endmenu
224
225 menu "Memory commands"
226
227 config CMD_MEMORY
228         bool "md, mm, nm, mw, cp, cmp, base, loop"
229         default y
230         help
231           Memeory commands.
232             md - memory display
233             mm - memory modify (auto-incrementing address)
234             nm - memory modify (constant address)
235             mw - memory write (fill)
236             cp - memory copy
237             cmp - memory compare
238             base - print or set address offset
239             loop - initinite loop on address range
240
241 config CMD_CRC32
242         bool "crc32"
243         default y
244         help
245           Compute CRC32.
246
247 config LOOPW
248         bool "loopw"
249         help
250           Infinite write loop on address range
251
252 config CMD_MEMTEST
253         bool "memtest"
254         help
255           Simple RAM read/write test.
256
257 config CMD_MX_CYCLIC
258         bool "mdc, mwc"
259         help
260           mdc - memory display cyclic
261           mwc - memory write cyclic
262
263 config CMD_MEMINFO
264         bool "meminfo"
265         help
266           Display memory information.
267
268 endmenu
269
270 menu "Device access commands"
271
272 config CMD_DM
273         bool "dm - Access to driver model information"
274         depends on DM
275         default y
276         help
277           Provides access to driver model data structures and information,
278           such as a list of devices, list of uclasses and the state of each
279           device (e.g. activated). This is not required for operation, but
280           can be useful to see the state of driver model for debugging or
281           interest.
282
283 config CMD_DEMO
284         bool "demo - Demonstration commands for driver model"
285         depends on DM
286         help
287           Provides a 'demo' command which can be used to play around with
288           driver model. To use this properly you will need to enable one or
289           both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
290           Otherwise you will always get an empty list of devices. The demo
291           devices are defined in the sandbox device tree, so the easiest
292           option is to use sandbox and pass the -d point to sandbox's
293           u-boot.dtb file.
294
295 config CMD_LOADB
296         bool "loadb"
297         default y
298         help
299           Load a binary file over serial line.
300
301 config CMD_LOADS
302         bool "loads"
303         default y
304         help
305           Load an S-Record file over serial line
306
307 config CMD_FLASH
308         bool "flinfo, erase, protect"
309         default y
310         help
311           NOR flash support.
312             flinfo - print FLASH memory information
313             erase - FLASH memory
314             protect - enable or disable FLASH write protection
315
316 config CMD_ARMFLASH
317         depends on FLASH_CFI_DRIVER
318         bool "armflash"
319         help
320           ARM Ltd reference designs flash partition access
321
322 config CMD_NAND
323         bool "nand"
324         help
325           NAND support.
326
327 config CMD_SF
328         bool "sf"
329         help
330           SPI Flash support
331
332 config CMD_SPI
333         bool "sspi"
334         help
335           SPI utility command.
336
337 config CMD_I2C
338         bool "i2c"
339         help
340           I2C support.
341
342 config CMD_USB
343         bool "usb"
344         help
345           USB support.
346
347 config CMD_FPGA
348         bool "fpga"
349         default y
350         help
351           FPGA support.
352
353 endmenu
354
355
356 menu "Shell scripting commands"
357
358 config CMD_ECHO
359         bool "echo"
360         default y
361         help
362           Echo args to console
363
364 config CMD_ITEST
365         bool "itest"
366         default y
367         help
368           Return true/false on integer compare.
369
370 config CMD_SOURCE
371         bool "source"
372         default y
373         help
374           Run script from memory
375
376 config CMD_SETEXPR
377         bool "setexpr"
378         default y
379         help
380           Evaluate boolean and math expressions and store the result in an env
381             variable.
382           Also supports loading the value at a memory location into a variable.
383           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
384
385 endmenu
386
387 menu "Network commands"
388
389 config CMD_NET
390         bool "bootp, tftpboot"
391         select NET
392         default y
393         help
394           Network commands.
395           bootp - boot image via network using BOOTP/TFTP protocol
396           tftpboot - boot image via network using TFTP protocol
397
398 config CMD_TFTPPUT
399         bool "tftp put"
400         help
401           TFTP put command, for uploading files to a server
402
403 config CMD_TFTPSRV
404         bool "tftpsrv"
405         help
406           Act as a TFTP server and boot the first received file
407
408 config CMD_RARP
409         bool "rarpboot"
410         help
411           Boot image via network using RARP/TFTP protocol
412
413 config CMD_DHCP
414         bool "dhcp"
415         help
416           Boot image via network using DHCP/TFTP protocol
417
418 config CMD_NFS
419         bool "nfs"
420         default y
421         help
422           Boot image via network using NFS protocol.
423
424 config CMD_PING
425         bool "ping"
426         help
427           Send ICMP ECHO_REQUEST to network host
428
429 config CMD_CDP
430         bool "cdp"
431         help
432           Perform CDP network configuration
433
434 config CMD_SNTP
435         bool "sntp"
436         help
437           Synchronize RTC via network
438
439 config CMD_DNS
440         bool "dns"
441         help
442           Lookup the IP of a hostname
443
444 config CMD_LINK_LOCAL
445         bool "linklocal"
446         help
447           Acquire a network IP address using the link-local protocol
448
449 endmenu
450
451 menu "Misc commands"
452
453 config CMD_TIME
454         bool "time"
455         help
456           Run commands and summarize execution time.
457
458 # TODO: rename to CMD_SLEEP
459 config CMD_MISC
460         bool "sleep"
461         default y
462         help
463           Delay execution for some time
464
465 config CMD_TIMER
466         bool "timer"
467         help
468           Access the system timer.
469
470 config CMD_SETGETDCR
471         bool "getdcr, setdcr, getidcr, setidcr"
472         depends on 4xx
473         default y
474         help
475           getdcr - Get an AMCC PPC 4xx DCR's value
476           setdcr - Set an AMCC PPC 4xx DCR's value
477           getidcr - Get a register value via indirect DCR addressing
478           setidcr - Set a register value via indirect DCR addressing
479
480 config CMD_SOUND
481         bool "sound"
482         depends on SOUND
483         help
484           This provides basic access to the U-Boot's sound support. The main
485           feature is to play a beep.
486
487              sound init   - set up sound system
488              sound play   - play a sound
489
490 endmenu
491
492 menu "Boot timing"
493
494 config BOOTSTAGE
495         bool "Boot timing and reporting"
496         help
497           Enable recording of boot time while booting. To use it, insert
498           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
499           bootstage.h. Only a single entry is recorded for each ID. You can
500           give the entry a name with bootstage_mark_name(). You can also
501           record elapsed time in a particular stage using bootstage_start()
502           before starting and bootstage_accum() when finished. Bootstage will
503           add up all the accumated time and report it.
504
505           Normally, IDs are defined in bootstage.h but a small number of
506           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
507           as the ID.
508
509           Calls to show_boot_progress() wil also result in log entries but
510           these will not have names.
511
512 config BOOTSTAGE_REPORT
513         bool "Display a detailed boot timing report before booting the OS"
514         depends on BOOTSTAGE
515         help
516           Enable output of a boot time report just before the OS is booted.
517           This shows how long it took U-Boot to go through each stage of the
518           boot process. The report looks something like this:
519
520                 Timer summary in microseconds:
521                        Mark    Elapsed  Stage
522                           0          0  reset
523                   3,575,678  3,575,678  board_init_f start
524                   3,575,695         17  arch_cpu_init A9
525                   3,575,777         82  arch_cpu_init done
526                   3,659,598     83,821  board_init_r start
527                   3,910,375    250,777  main_loop
528                  29,916,167 26,005,792  bootm_start
529                  30,361,327    445,160  start_kernel
530
531 config BOOTSTAGE_USER_COUNT
532         hex "Number of boot ID numbers available for user use"
533         default 20
534         help
535           This is the number of available user bootstage records.
536           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
537           a new ID will be allocated from this stash. If you exceed
538           the limit, recording will stop.
539
540 config CMD_BOOTSTAGE
541         bool "Enable the 'bootstage' command"
542         depends on BOOTSTAGE
543         help
544           Add a 'bootstage' command which supports printing a report
545           and un/stashing of bootstage data.
546
547 config BOOTSTAGE_FDT
548         bool "Store boot timing information in the OS device tree"
549         depends on BOOTSTAGE
550         help
551           Stash the bootstage information in the FDT. A root 'bootstage'
552           node is created with each bootstage id as a child. Each child
553           has a 'name' property and either 'mark' containing the
554           mark time in microsecond, or 'accum' containing the
555           accumulated time for that bootstage id in microseconds.
556           For example:
557
558                 bootstage {
559                         154 {
560                                 name = "board_init_f";
561                                 mark = <3575678>;
562                         };
563                         170 {
564                                 name = "lcd";
565                                 accum = <33482>;
566                         };
567                 };
568
569           Code in the Linux kernel can find this in /proc/devicetree.
570
571 config BOOTSTAGE_STASH
572         bool "Stash the boot timing information in memory before booting OS"
573         depends on BOOTSTAGE
574         help
575           Some OSes do not support device tree. Bootstage can instead write
576           the boot timing information in a binary format at a given address.
577           This happens through a call to bootstage_stash(), typically in
578           the CPU's cleanup_before_linux() function. You can use the
579           'bootstage stash' and 'bootstage unstash' commands to do this on
580           the command line.
581
582 config BOOTSTAGE_STASH_ADDR
583         hex "Address to stash boot timing information"
584         default 0
585         help
586           Provide an address which will not be overwritten by the OS when it
587           starts, so that it can read this information when ready.
588
589 config BOOTSTAGE_STASH_SIZE
590         hex "Size of boot timing stash region"
591         default 4096
592         help
593           This should be large enough to hold the bootstage stash. A value of
594           4096 (4KiB) is normally plenty.
595
596 endmenu
597
598 menu "Power commands"
599 config CMD_PMIC
600         bool "Enable Driver Model PMIC command"
601         depends on DM_PMIC
602         help
603           This is the pmic command, based on a driver model pmic's API.
604           Command features are unchanged:
605           - list               - list pmic devices
606           - pmic dev <id>      - show or [set] operating pmic device (NEW)
607           - pmic dump          - dump registers
608           - pmic read address  - read byte of register at address
609           - pmic write address - write byte to register at address
610           The only one change for this command is 'dev' subcommand.
611
612 config CMD_REGULATOR
613         bool "Enable Driver Model REGULATOR command"
614         depends on DM_REGULATOR
615         help
616           This command is based on driver model regulator's API.
617           User interface features:
618           - list               - list regulator devices
619           - regulator dev <id> - show or [set] operating regulator device
620           - regulator info     - print constraints info
621           - regulator status   - print operating status
622           - regulator value <val] <-f> - print/[set] voltage value [uV]
623           - regulator current <val>    - print/[set] current value [uA]
624           - regulator mode <id>        - print/[set] operating mode id
625           - regulator enable           - enable the regulator output
626           - regulator disable          - disable the regulator output
627
628           The '-f' (force) option can be used for set the value which exceeds
629           the limits, which are found in device-tree and are kept in regulator's
630           uclass platdata structure.
631
632 endmenu
633
634 menu "Security commands"
635 config CMD_TPM
636         bool "Enable the 'tpm' command"
637         depends on TPM
638         help
639           This provides a means to talk to a TPM from the command line. A wide
640           range of commands if provided - see 'tpm help' for details. The
641           command requires a suitable TPM on your board and the correct driver
642           must be enabled.
643
644 config CMD_TPM_TEST
645         bool "Enable the 'tpm test' command"
646         depends on CMD_TPM
647         help
648           This provides a a series of tests to confirm that the TPM is working
649           correctly. The tests cover initialisation, non-volatile RAM, extend,
650           global lock and checking that timing is within expectations. The
651           tests pass correctly on Infineon TPMs but may need to be adjusted
652           for other devices.
653
654 endmenu
655
656 endmenu