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