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