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