Merge branch 'master' of git://git.denx.de/u-boot-spi
[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 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_SF
315         bool "sf"
316         help
317           SPI Flash support
318
319 config CMD_SPI
320         bool "sspi"
321         help
322           SPI utility command.
323
324 config CMD_I2C
325         bool "i2c"
326         help
327           I2C support.
328
329 config CMD_USB
330         bool "usb"
331         help
332           USB support.
333
334 config CMD_FPGA
335         bool "fpga"
336         default y
337         help
338           FPGA support.
339
340 endmenu
341
342
343 menu "Shell scripting commands"
344
345 config CMD_ECHO
346         bool "echo"
347         default y
348         help
349           Echo args to console
350
351 config CMD_ITEST
352         bool "itest"
353         default y
354         help
355           Return true/false on integer compare.
356
357 config CMD_SOURCE
358         bool "source"
359         default y
360         help
361           Run script from memory
362
363 config CMD_SETEXPR
364         bool "setexpr"
365         default y
366         help
367           Evaluate boolean and math expressions and store the result in an env
368             variable.
369           Also supports loading the value at a memory location into a variable.
370           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
371
372 endmenu
373
374 menu "Network commands"
375
376 config CMD_NET
377         bool "bootp, tftpboot"
378         select NET
379         default y
380         help
381           Network commands.
382           bootp - boot image via network using BOOTP/TFTP protocol
383           tftpboot - boot image via network using TFTP protocol
384
385 config CMD_TFTPPUT
386         bool "tftp put"
387         help
388           TFTP put command, for uploading files to a server
389
390 config CMD_TFTPSRV
391         bool "tftpsrv"
392         help
393           Act as a TFTP server and boot the first received file
394
395 config CMD_RARP
396         bool "rarpboot"
397         help
398           Boot image via network using RARP/TFTP protocol
399
400 config CMD_DHCP
401         bool "dhcp"
402         help
403           Boot image via network using DHCP/TFTP protocol
404
405 config CMD_NFS
406         bool "nfs"
407         default y
408         help
409           Boot image via network using NFS protocol.
410
411 config CMD_PING
412         bool "ping"
413         help
414           Send ICMP ECHO_REQUEST to network host
415
416 config CMD_CDP
417         bool "cdp"
418         help
419           Perform CDP network configuration
420
421 config CMD_SNTP
422         bool "sntp"
423         help
424           Synchronize RTC via network
425
426 config CMD_DNS
427         bool "dns"
428         help
429           Lookup the IP of a hostname
430
431 config CMD_LINK_LOCAL
432         bool "linklocal"
433         help
434           Acquire a network IP address using the link-local protocol
435
436 endmenu
437
438 menu "Misc commands"
439
440 config CMD_TIME
441         bool "time"
442         help
443           Run commands and summarize execution time.
444
445 # TODO: rename to CMD_SLEEP
446 config CMD_MISC
447         bool "sleep"
448         default y
449         help
450           Delay execution for some time
451
452 config CMD_TIMER
453         bool "timer"
454         help
455           Access the system timer.
456
457 config CMD_SETGETDCR
458         bool "getdcr, setdcr, getidcr, setidcr"
459         depends on 4xx
460         default y
461         help
462           getdcr - Get an AMCC PPC 4xx DCR's value
463           setdcr - Set an AMCC PPC 4xx DCR's value
464           getidcr - Get a register value via indirect DCR addressing
465           setidcr - Set a register value via indirect DCR addressing
466
467 config CMD_SOUND
468         bool "sound"
469         depends on SOUND
470         help
471           This provides basic access to the U-Boot's sound support. The main
472           feature is to play a beep.
473
474              sound init   - set up sound system
475              sound play   - play a sound
476
477 endmenu
478
479 menu "Boot timing"
480
481 config BOOTSTAGE
482         bool "Boot timing and reporting"
483         help
484           Enable recording of boot time while booting. To use it, insert
485           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
486           bootstage.h. Only a single entry is recorded for each ID. You can
487           give the entry a name with bootstage_mark_name(). You can also
488           record elapsed time in a particular stage using bootstage_start()
489           before starting and bootstage_accum() when finished. Bootstage will
490           add up all the accumated time and report it.
491
492           Normally, IDs are defined in bootstage.h but a small number of
493           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
494           as the ID.
495
496           Calls to show_boot_progress() wil also result in log entries but
497           these will not have names.
498
499 config BOOTSTAGE_REPORT
500         bool "Display a detailed boot timing report before booting the OS"
501         depends on BOOTSTAGE
502         help
503           Enable output of a boot time report just before the OS is booted.
504           This shows how long it took U-Boot to go through each stage of the
505           boot process. The report looks something like this:
506
507                 Timer summary in microseconds:
508                        Mark    Elapsed  Stage
509                           0          0  reset
510                   3,575,678  3,575,678  board_init_f start
511                   3,575,695         17  arch_cpu_init A9
512                   3,575,777         82  arch_cpu_init done
513                   3,659,598     83,821  board_init_r start
514                   3,910,375    250,777  main_loop
515                  29,916,167 26,005,792  bootm_start
516                  30,361,327    445,160  start_kernel
517
518 config BOOTSTAGE_USER_COUNT
519         hex "Number of boot ID numbers available for user use"
520         default 20
521         help
522           This is the number of available user bootstage records.
523           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
524           a new ID will be allocated from this stash. If you exceed
525           the limit, recording will stop.
526
527 config CMD_BOOTSTAGE
528         bool "Enable the 'bootstage' command"
529         depends on BOOTSTAGE
530         help
531           Add a 'bootstage' command which supports printing a report
532           and un/stashing of bootstage data.
533
534 config BOOTSTAGE_FDT
535         bool "Store boot timing information in the OS device tree"
536         depends on BOOTSTAGE
537         help
538           Stash the bootstage information in the FDT. A root 'bootstage'
539           node is created with each bootstage id as a child. Each child
540           has a 'name' property and either 'mark' containing the
541           mark time in microsecond, or 'accum' containing the
542           accumulated time for that bootstage id in microseconds.
543           For example:
544
545                 bootstage {
546                         154 {
547                                 name = "board_init_f";
548                                 mark = <3575678>;
549                         };
550                         170 {
551                                 name = "lcd";
552                                 accum = <33482>;
553                         };
554                 };
555
556           Code in the Linux kernel can find this in /proc/devicetree.
557
558 config BOOTSTAGE_STASH
559         bool "Stash the boot timing information in memory before booting OS"
560         depends on BOOTSTAGE
561         help
562           Some OSes do not support device tree. Bootstage can instead write
563           the boot timing information in a binary format at a given address.
564           This happens through a call to bootstage_stash(), typically in
565           the CPU's cleanup_before_linux() function. You can use the
566           'bootstage stash' and 'bootstage unstash' commands to do this on
567           the command line.
568
569 config BOOTSTAGE_STASH_ADDR
570         hex "Address to stash boot timing information"
571         default 0
572         help
573           Provide an address which will not be overwritten by the OS when it
574           starts, so that it can read this information when ready.
575
576 config BOOTSTAGE_STASH_SIZE
577         hex "Size of boot timing stash region"
578         default 4096
579         help
580           This should be large enough to hold the bootstage stash. A value of
581           4096 (4KiB) is normally plenty.
582
583 endmenu
584
585 menu "Power commands"
586 config CMD_PMIC
587         bool "Enable Driver Model PMIC command"
588         depends on DM_PMIC
589         help
590           This is the pmic command, based on a driver model pmic's API.
591           Command features are unchanged:
592           - list               - list pmic devices
593           - pmic dev <id>      - show or [set] operating pmic device (NEW)
594           - pmic dump          - dump registers
595           - pmic read address  - read byte of register at address
596           - pmic write address - write byte to register at address
597           The only one change for this command is 'dev' subcommand.
598
599 config CMD_REGULATOR
600         bool "Enable Driver Model REGULATOR command"
601         depends on DM_REGULATOR
602         help
603           This command is based on driver model regulator's API.
604           User interface features:
605           - list               - list regulator devices
606           - regulator dev <id> - show or [set] operating regulator device
607           - regulator info     - print constraints info
608           - regulator status   - print operating status
609           - regulator value <val] <-f> - print/[set] voltage value [uV]
610           - regulator current <val>    - print/[set] current value [uA]
611           - regulator mode <id>        - print/[set] operating mode id
612           - regulator enable           - enable the regulator output
613           - regulator disable          - disable the regulator output
614
615           The '-f' (force) option can be used for set the value which exceeds
616           the limits, which are found in device-tree and are kept in regulator's
617           uclass platdata structure.
618
619 endmenu
620
621 endmenu