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