common: add CMD_GPIO to Kconfig
[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 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
359 config CMD_GPIO
360         bool "gpio"
361         help
362           GPIO support.
363
364 endmenu
365
366
367 menu "Shell scripting commands"
368
369 config CMD_ECHO
370         bool "echo"
371         default y
372         help
373           Echo args to console
374
375 config CMD_ITEST
376         bool "itest"
377         default y
378         help
379           Return true/false on integer compare.
380
381 config CMD_SOURCE
382         bool "source"
383         default y
384         help
385           Run script from memory
386
387 config CMD_SETEXPR
388         bool "setexpr"
389         default y
390         help
391           Evaluate boolean and math expressions and store the result in an env
392             variable.
393           Also supports loading the value at a memory location into a variable.
394           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
395
396 endmenu
397
398 menu "Network commands"
399
400 config CMD_NET
401         bool "bootp, tftpboot"
402         select NET
403         default y
404         help
405           Network commands.
406           bootp - boot image via network using BOOTP/TFTP protocol
407           tftpboot - boot image via network using TFTP protocol
408
409 config CMD_TFTPPUT
410         bool "tftp put"
411         help
412           TFTP put command, for uploading files to a server
413
414 config CMD_TFTPSRV
415         bool "tftpsrv"
416         help
417           Act as a TFTP server and boot the first received file
418
419 config CMD_RARP
420         bool "rarpboot"
421         help
422           Boot image via network using RARP/TFTP protocol
423
424 config CMD_DHCP
425         bool "dhcp"
426         help
427           Boot image via network using DHCP/TFTP protocol
428
429 config CMD_NFS
430         bool "nfs"
431         default y
432         help
433           Boot image via network using NFS protocol.
434
435 config CMD_PING
436         bool "ping"
437         help
438           Send ICMP ECHO_REQUEST to network host
439
440 config CMD_CDP
441         bool "cdp"
442         help
443           Perform CDP network configuration
444
445 config CMD_SNTP
446         bool "sntp"
447         help
448           Synchronize RTC via network
449
450 config CMD_DNS
451         bool "dns"
452         help
453           Lookup the IP of a hostname
454
455 config CMD_LINK_LOCAL
456         bool "linklocal"
457         help
458           Acquire a network IP address using the link-local protocol
459
460 endmenu
461
462 menu "Misc commands"
463
464 config CMD_AMBAPP
465         bool "ambapp"
466         depends on LEON3
467         default y
468         help
469           Lists AMBA Plug-n-Play information.
470
471 config SYS_AMBAPP_PRINT_ON_STARTUP
472         bool "Show AMBA PnP info on startup"
473         depends on CMD_AMBAPP
474         default n
475         help
476           Show AMBA Plug-n-Play information on startup.
477
478 config CMD_TIME
479         bool "time"
480         help
481           Run commands and summarize execution time.
482
483 # TODO: rename to CMD_SLEEP
484 config CMD_MISC
485         bool "sleep"
486         default y
487         help
488           Delay execution for some time
489
490 config CMD_TIMER
491         bool "timer"
492         help
493           Access the system timer.
494
495 config CMD_SETGETDCR
496         bool "getdcr, setdcr, getidcr, setidcr"
497         depends on 4xx
498         default y
499         help
500           getdcr - Get an AMCC PPC 4xx DCR's value
501           setdcr - Set an AMCC PPC 4xx DCR's value
502           getidcr - Get a register value via indirect DCR addressing
503           setidcr - Set a register value via indirect DCR addressing
504
505 config CMD_SOUND
506         bool "sound"
507         depends on SOUND
508         help
509           This provides basic access to the U-Boot's sound support. The main
510           feature is to play a beep.
511
512              sound init   - set up sound system
513              sound play   - play a sound
514
515 endmenu
516
517 menu "Boot timing"
518
519 config BOOTSTAGE
520         bool "Boot timing and reporting"
521         help
522           Enable recording of boot time while booting. To use it, insert
523           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
524           bootstage.h. Only a single entry is recorded for each ID. You can
525           give the entry a name with bootstage_mark_name(). You can also
526           record elapsed time in a particular stage using bootstage_start()
527           before starting and bootstage_accum() when finished. Bootstage will
528           add up all the accumated time and report it.
529
530           Normally, IDs are defined in bootstage.h but a small number of
531           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
532           as the ID.
533
534           Calls to show_boot_progress() wil also result in log entries but
535           these will not have names.
536
537 config BOOTSTAGE_REPORT
538         bool "Display a detailed boot timing report before booting the OS"
539         depends on BOOTSTAGE
540         help
541           Enable output of a boot time report just before the OS is booted.
542           This shows how long it took U-Boot to go through each stage of the
543           boot process. The report looks something like this:
544
545                 Timer summary in microseconds:
546                        Mark    Elapsed  Stage
547                           0          0  reset
548                   3,575,678  3,575,678  board_init_f start
549                   3,575,695         17  arch_cpu_init A9
550                   3,575,777         82  arch_cpu_init done
551                   3,659,598     83,821  board_init_r start
552                   3,910,375    250,777  main_loop
553                  29,916,167 26,005,792  bootm_start
554                  30,361,327    445,160  start_kernel
555
556 config BOOTSTAGE_USER_COUNT
557         hex "Number of boot ID numbers available for user use"
558         default 20
559         help
560           This is the number of available user bootstage records.
561           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
562           a new ID will be allocated from this stash. If you exceed
563           the limit, recording will stop.
564
565 config CMD_BOOTSTAGE
566         bool "Enable the 'bootstage' command"
567         depends on BOOTSTAGE
568         help
569           Add a 'bootstage' command which supports printing a report
570           and un/stashing of bootstage data.
571
572 config BOOTSTAGE_FDT
573         bool "Store boot timing information in the OS device tree"
574         depends on BOOTSTAGE
575         help
576           Stash the bootstage information in the FDT. A root 'bootstage'
577           node is created with each bootstage id as a child. Each child
578           has a 'name' property and either 'mark' containing the
579           mark time in microsecond, or 'accum' containing the
580           accumulated time for that bootstage id in microseconds.
581           For example:
582
583                 bootstage {
584                         154 {
585                                 name = "board_init_f";
586                                 mark = <3575678>;
587                         };
588                         170 {
589                                 name = "lcd";
590                                 accum = <33482>;
591                         };
592                 };
593
594           Code in the Linux kernel can find this in /proc/devicetree.
595
596 config BOOTSTAGE_STASH
597         bool "Stash the boot timing information in memory before booting OS"
598         depends on BOOTSTAGE
599         help
600           Some OSes do not support device tree. Bootstage can instead write
601           the boot timing information in a binary format at a given address.
602           This happens through a call to bootstage_stash(), typically in
603           the CPU's cleanup_before_linux() function. You can use the
604           'bootstage stash' and 'bootstage unstash' commands to do this on
605           the command line.
606
607 config BOOTSTAGE_STASH_ADDR
608         hex "Address to stash boot timing information"
609         default 0
610         help
611           Provide an address which will not be overwritten by the OS when it
612           starts, so that it can read this information when ready.
613
614 config BOOTSTAGE_STASH_SIZE
615         hex "Size of boot timing stash region"
616         default 4096
617         help
618           This should be large enough to hold the bootstage stash. A value of
619           4096 (4KiB) is normally plenty.
620
621 endmenu
622
623 menu "Power commands"
624 config CMD_PMIC
625         bool "Enable Driver Model PMIC command"
626         depends on DM_PMIC
627         help
628           This is the pmic command, based on a driver model pmic's API.
629           Command features are unchanged:
630           - list               - list pmic devices
631           - pmic dev <id>      - show or [set] operating pmic device (NEW)
632           - pmic dump          - dump registers
633           - pmic read address  - read byte of register at address
634           - pmic write address - write byte to register at address
635           The only one change for this command is 'dev' subcommand.
636
637 config CMD_REGULATOR
638         bool "Enable Driver Model REGULATOR command"
639         depends on DM_REGULATOR
640         help
641           This command is based on driver model regulator's API.
642           User interface features:
643           - list               - list regulator devices
644           - regulator dev <id> - show or [set] operating regulator device
645           - regulator info     - print constraints info
646           - regulator status   - print operating status
647           - regulator value <val] <-f> - print/[set] voltage value [uV]
648           - regulator current <val>    - print/[set] current value [uA]
649           - regulator mode <id>        - print/[set] operating mode id
650           - regulator enable           - enable the regulator output
651           - regulator disable          - disable the regulator output
652
653           The '-f' (force) option can be used for set the value which exceeds
654           the limits, which are found in device-tree and are kept in regulator's
655           uclass platdata structure.
656
657 endmenu
658
659 menu "Security commands"
660 config CMD_TPM
661         bool "Enable the 'tpm' command"
662         depends on TPM
663         help
664           This provides a means to talk to a TPM from the command line. A wide
665           range of commands if provided - see 'tpm help' for details. The
666           command requires a suitable TPM on your board and the correct driver
667           must be enabled.
668
669 config CMD_TPM_TEST
670         bool "Enable the 'tpm test' command"
671         depends on CMD_TPM
672         help
673           This provides a a series of tests to confirm that the TPM is working
674           correctly. The tests cover initialisation, non-volatile RAM, extend,
675           global lock and checking that timing is within expectations. The
676           tests pass correctly on Infineon TPMs but may need to be adjusted
677           for other devices.
678
679 endmenu
680
681 endmenu