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