Merge branch 'master' of git://git.denx.de/u-boot-video
[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 config CMD_POWEROFF
188         bool
189
190 endmenu
191
192 menu "Environment commands"
193
194 config CMD_EXPORTENV
195         bool "env export"
196         default y
197         help
198           Export environments.
199
200 config CMD_IMPORTENV
201         bool "env import"
202         default y
203         help
204           Import environments.
205
206 config CMD_EDITENV
207         bool "editenv"
208         default y
209         help
210           Edit environment variable.
211
212 config CMD_SAVEENV
213         bool "saveenv"
214         default y
215         help
216           Save all environment variables into the compiled-in persistent
217           storage.
218
219 config CMD_ENV_EXISTS
220         bool "env exists"
221         default y
222         help
223           Check if a variable is defined in the environment for use in
224           shell scripting.
225
226 endmenu
227
228 menu "Memory commands"
229
230 config CMD_MEMORY
231         bool "md, mm, nm, mw, cp, cmp, base, loop"
232         default y
233         help
234           Memeory commands.
235             md - memory display
236             mm - memory modify (auto-incrementing address)
237             nm - memory modify (constant address)
238             mw - memory write (fill)
239             cp - memory copy
240             cmp - memory compare
241             base - print or set address offset
242             loop - initinite loop on address range
243
244 config CMD_CRC32
245         bool "crc32"
246         default y
247         help
248           Compute CRC32.
249
250 config LOOPW
251         bool "loopw"
252         help
253           Infinite write loop on address range
254
255 config CMD_MEMTEST
256         bool "memtest"
257         help
258           Simple RAM read/write test.
259
260 config CMD_MX_CYCLIC
261         bool "mdc, mwc"
262         help
263           mdc - memory display cyclic
264           mwc - memory write cyclic
265
266 config CMD_MEMINFO
267         bool "meminfo"
268         help
269           Display memory information.
270
271 endmenu
272
273 menu "Device access commands"
274
275 config CMD_DM
276         bool "dm - Access to driver model information"
277         depends on DM
278         default y
279         help
280           Provides access to driver model data structures and information,
281           such as a list of devices, list of uclasses and the state of each
282           device (e.g. activated). This is not required for operation, but
283           can be useful to see the state of driver model for debugging or
284           interest.
285
286 config CMD_DEMO
287         bool "demo - Demonstration commands for driver model"
288         depends on DM
289         help
290           Provides a 'demo' command which can be used to play around with
291           driver model. To use this properly you will need to enable one or
292           both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
293           Otherwise you will always get an empty list of devices. The demo
294           devices are defined in the sandbox device tree, so the easiest
295           option is to use sandbox and pass the -d point to sandbox's
296           u-boot.dtb file.
297
298 config CMD_LOADB
299         bool "loadb"
300         default y
301         help
302           Load a binary file over serial line.
303
304 config CMD_LOADS
305         bool "loads"
306         default y
307         help
308           Load an S-Record file over serial line
309
310 config CMD_FLASH
311         bool "flinfo, erase, protect"
312         default y
313         help
314           NOR flash support.
315             flinfo - print FLASH memory information
316             erase - FLASH memory
317             protect - enable or disable FLASH write protection
318
319 config CMD_ARMFLASH
320         depends on FLASH_CFI_DRIVER
321         bool "armflash"
322         help
323           ARM Ltd reference designs flash partition access
324
325 config CMD_NAND
326         bool "nand"
327         help
328           NAND support.
329
330 config CMD_SF
331         bool "sf"
332         help
333           SPI Flash support
334
335 config CMD_SPI
336         bool "sspi"
337         help
338           SPI utility command.
339
340 config CMD_I2C
341         bool "i2c"
342         help
343           I2C support.
344
345 config CMD_USB
346         bool "usb"
347         help
348           USB support.
349
350 config CMD_FPGA
351         bool "fpga"
352         default y
353         help
354           FPGA support.
355
356 config CMD_REMOTEPROC
357         bool "remoteproc"
358         depends on REMOTEPROC
359         help
360           Support for Remote Processor control
361
362 config CMD_GPIO
363         bool "gpio"
364         help
365           GPIO support.
366
367 endmenu
368
369
370 menu "Shell scripting commands"
371
372 config CMD_ECHO
373         bool "echo"
374         default y
375         help
376           Echo args to console
377
378 config CMD_ITEST
379         bool "itest"
380         default y
381         help
382           Return true/false on integer compare.
383
384 config CMD_SOURCE
385         bool "source"
386         default y
387         help
388           Run script from memory
389
390 config CMD_SETEXPR
391         bool "setexpr"
392         default y
393         help
394           Evaluate boolean and math expressions and store the result in an env
395             variable.
396           Also supports loading the value at a memory location into a variable.
397           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
398
399 endmenu
400
401 menu "Network commands"
402
403 config CMD_NET
404         bool "bootp, tftpboot"
405         select NET
406         default y
407         help
408           Network commands.
409           bootp - boot image via network using BOOTP/TFTP protocol
410           tftpboot - boot image via network using TFTP protocol
411
412 config CMD_TFTPPUT
413         bool "tftp put"
414         help
415           TFTP put command, for uploading files to a server
416
417 config CMD_TFTPSRV
418         bool "tftpsrv"
419         help
420           Act as a TFTP server and boot the first received file
421
422 config CMD_RARP
423         bool "rarpboot"
424         help
425           Boot image via network using RARP/TFTP protocol
426
427 config CMD_DHCP
428         bool "dhcp"
429         help
430           Boot image via network using DHCP/TFTP protocol
431
432 config CMD_NFS
433         bool "nfs"
434         default y
435         help
436           Boot image via network using NFS protocol.
437
438 config CMD_PING
439         bool "ping"
440         help
441           Send ICMP ECHO_REQUEST to network host
442
443 config CMD_CDP
444         bool "cdp"
445         help
446           Perform CDP network configuration
447
448 config CMD_SNTP
449         bool "sntp"
450         help
451           Synchronize RTC via network
452
453 config CMD_DNS
454         bool "dns"
455         help
456           Lookup the IP of a hostname
457
458 config CMD_LINK_LOCAL
459         bool "linklocal"
460         help
461           Acquire a network IP address using the link-local protocol
462
463 endmenu
464
465 menu "Misc commands"
466
467 config CMD_AMBAPP
468         bool "ambapp"
469         depends on LEON3
470         default y
471         help
472           Lists AMBA Plug-n-Play information.
473
474 config SYS_AMBAPP_PRINT_ON_STARTUP
475         bool "Show AMBA PnP info on startup"
476         depends on CMD_AMBAPP
477         default n
478         help
479           Show AMBA Plug-n-Play information on startup.
480
481 config CMD_TIME
482         bool "time"
483         help
484           Run commands and summarize execution time.
485
486 # TODO: rename to CMD_SLEEP
487 config CMD_MISC
488         bool "sleep"
489         default y
490         help
491           Delay execution for some time
492
493 config CMD_TIMER
494         bool "timer"
495         help
496           Access the system timer.
497
498 config CMD_SETGETDCR
499         bool "getdcr, setdcr, getidcr, setidcr"
500         depends on 4xx
501         default y
502         help
503           getdcr - Get an AMCC PPC 4xx DCR's value
504           setdcr - Set an AMCC PPC 4xx DCR's value
505           getidcr - Get a register value via indirect DCR addressing
506           setidcr - Set a register value via indirect DCR addressing
507
508 config CMD_SOUND
509         bool "sound"
510         depends on SOUND
511         help
512           This provides basic access to the U-Boot's sound support. The main
513           feature is to play a beep.
514
515              sound init   - set up sound system
516              sound play   - play a sound
517
518 endmenu
519
520 menu "Boot timing"
521
522 config BOOTSTAGE
523         bool "Boot timing and reporting"
524         help
525           Enable recording of boot time while booting. To use it, insert
526           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
527           bootstage.h. Only a single entry is recorded for each ID. You can
528           give the entry a name with bootstage_mark_name(). You can also
529           record elapsed time in a particular stage using bootstage_start()
530           before starting and bootstage_accum() when finished. Bootstage will
531           add up all the accumated time and report it.
532
533           Normally, IDs are defined in bootstage.h but a small number of
534           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
535           as the ID.
536
537           Calls to show_boot_progress() wil also result in log entries but
538           these will not have names.
539
540 config BOOTSTAGE_REPORT
541         bool "Display a detailed boot timing report before booting the OS"
542         depends on BOOTSTAGE
543         help
544           Enable output of a boot time report just before the OS is booted.
545           This shows how long it took U-Boot to go through each stage of the
546           boot process. The report looks something like this:
547
548                 Timer summary in microseconds:
549                        Mark    Elapsed  Stage
550                           0          0  reset
551                   3,575,678  3,575,678  board_init_f start
552                   3,575,695         17  arch_cpu_init A9
553                   3,575,777         82  arch_cpu_init done
554                   3,659,598     83,821  board_init_r start
555                   3,910,375    250,777  main_loop
556                  29,916,167 26,005,792  bootm_start
557                  30,361,327    445,160  start_kernel
558
559 config BOOTSTAGE_USER_COUNT
560         hex "Number of boot ID numbers available for user use"
561         default 20
562         help
563           This is the number of available user bootstage records.
564           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
565           a new ID will be allocated from this stash. If you exceed
566           the limit, recording will stop.
567
568 config CMD_BOOTSTAGE
569         bool "Enable the 'bootstage' command"
570         depends on BOOTSTAGE
571         help
572           Add a 'bootstage' command which supports printing a report
573           and un/stashing of bootstage data.
574
575 config BOOTSTAGE_FDT
576         bool "Store boot timing information in the OS device tree"
577         depends on BOOTSTAGE
578         help
579           Stash the bootstage information in the FDT. A root 'bootstage'
580           node is created with each bootstage id as a child. Each child
581           has a 'name' property and either 'mark' containing the
582           mark time in microsecond, or 'accum' containing the
583           accumulated time for that bootstage id in microseconds.
584           For example:
585
586                 bootstage {
587                         154 {
588                                 name = "board_init_f";
589                                 mark = <3575678>;
590                         };
591                         170 {
592                                 name = "lcd";
593                                 accum = <33482>;
594                         };
595                 };
596
597           Code in the Linux kernel can find this in /proc/devicetree.
598
599 config BOOTSTAGE_STASH
600         bool "Stash the boot timing information in memory before booting OS"
601         depends on BOOTSTAGE
602         help
603           Some OSes do not support device tree. Bootstage can instead write
604           the boot timing information in a binary format at a given address.
605           This happens through a call to bootstage_stash(), typically in
606           the CPU's cleanup_before_linux() function. You can use the
607           'bootstage stash' and 'bootstage unstash' commands to do this on
608           the command line.
609
610 config BOOTSTAGE_STASH_ADDR
611         hex "Address to stash boot timing information"
612         default 0
613         help
614           Provide an address which will not be overwritten by the OS when it
615           starts, so that it can read this information when ready.
616
617 config BOOTSTAGE_STASH_SIZE
618         hex "Size of boot timing stash region"
619         default 4096
620         help
621           This should be large enough to hold the bootstage stash. A value of
622           4096 (4KiB) is normally plenty.
623
624 endmenu
625
626 menu "Power commands"
627 config CMD_PMIC
628         bool "Enable Driver Model PMIC command"
629         depends on DM_PMIC
630         help
631           This is the pmic command, based on a driver model pmic's API.
632           Command features are unchanged:
633           - list               - list pmic devices
634           - pmic dev <id>      - show or [set] operating pmic device (NEW)
635           - pmic dump          - dump registers
636           - pmic read address  - read byte of register at address
637           - pmic write address - write byte to register at address
638           The only one change for this command is 'dev' subcommand.
639
640 config CMD_REGULATOR
641         bool "Enable Driver Model REGULATOR command"
642         depends on DM_REGULATOR
643         help
644           This command is based on driver model regulator's API.
645           User interface features:
646           - list               - list regulator devices
647           - regulator dev <id> - show or [set] operating regulator device
648           - regulator info     - print constraints info
649           - regulator status   - print operating status
650           - regulator value <val] <-f> - print/[set] voltage value [uV]
651           - regulator current <val>    - print/[set] current value [uA]
652           - regulator mode <id>        - print/[set] operating mode id
653           - regulator enable           - enable the regulator output
654           - regulator disable          - disable the regulator output
655
656           The '-f' (force) option can be used for set the value which exceeds
657           the limits, which are found in device-tree and are kept in regulator's
658           uclass platdata structure.
659
660 endmenu
661
662 menu "Security commands"
663 config CMD_TPM
664         bool "Enable the 'tpm' command"
665         depends on TPM
666         help
667           This provides a means to talk to a TPM from the command line. A wide
668           range of commands if provided - see 'tpm help' for details. The
669           command requires a suitable TPM on your board and the correct driver
670           must be enabled.
671
672 config CMD_TPM_TEST
673         bool "Enable the 'tpm test' command"
674         depends on CMD_TPM
675         help
676           This provides a a series of tests to confirm that the TPM is working
677           correctly. The tests cover initialisation, non-volatile RAM, extend,
678           global lock and checking that timing is within expectations. The
679           tests pass correctly on Infineon TPMs but may need to be adjusted
680           for other devices.
681
682 endmenu
683
684 endmenu
685
686 config CONSOLE_RECORD
687         bool "Console recording"
688         help
689           This provides a way to record console output (and provide console
690           input) through cirular buffers. This is mostly useful for testing.
691           Console output is recorded even when the console is silent.
692           To enable console recording, call console_record_reset_enable()
693           from your code.
694
695 config CONSOLE_RECORD_OUT_SIZE
696         hex "Output buffer size"
697         depends on CONSOLE_RECORD
698         default 0x400 if CONSOLE_RECORD
699         help
700           Set the size of the console output buffer. When this fills up, no
701           more data will be recorded until some is removed. The buffer is
702           allocated immediately after the malloc() region is ready.
703
704 config CONSOLE_RECORD_IN_SIZE
705         hex "Input buffer size"
706         depends on CONSOLE_RECORD
707         default 0x100 if CONSOLE_RECORD
708         help
709           Set the size of the console input buffer. When this contains data,
710           tstc() and getc() will use this in preference to real device input.
711           The buffer is allocated immediately after the malloc() region is
712           ready.