bc6760e055fe81c56a9171e943928de5e17d18cd
[karo-tx-uboot.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_BOOTZ
152         bool "bootz"
153         default y
154         help
155           Boot a Linux kernel zImage.
156
157 config CMD_BOOTCE
158         bool "bootce"
159         help
160           Boot a WindowsCE image.
161
162 config CMD_GO
163         bool "go"
164         default y
165         help
166           Start an application at a given address.
167
168 config CMD_RUN
169         bool "run"
170         default y
171         help
172           Run the command in the given environment variable.
173
174 config CMD_IMI
175         bool "iminfo"
176         default y
177         help
178           Print header information for application image.
179
180 config CMD_IMLS
181         bool "imls"
182         default !SYS_NO_FLASH
183         help
184           List all images found in flash
185
186 config CMD_XIMG
187         bool "imxtract"
188         default y
189         help
190           Extract a part of a multi-image.
191
192 endmenu
193
194 menu "DTB support"
195
196 config OF_LIBFDT
197         bool "Enable FDT commands"
198
199 config OF_BOARD_SETUP
200         bool "Support DT modifications by board code"
201         depends on OF_LIBFDT
202
203 endmenu
204
205 menu "Environment commands"
206
207 config CMD_EXPORTENV
208         bool "env export"
209         default y
210         help
211           Export environments.
212
213 config CMD_IMPORTENV
214         bool "env import"
215         default y
216         help
217           Import environments.
218
219 config CMD_EDITENV
220         bool "editenv"
221         default y
222         help
223           Edit environment variable.
224
225 config CMD_SAVEENV
226         bool "saveenv"
227         default y
228         help
229           Save all environment variables into the compiled-in persistent
230           storage.
231
232 config CMD_ENV_EXISTS
233         bool "env exists"
234         default y
235         help
236           Check if a variable is defined in the environment for use in
237           shell scripting.
238
239 config UBOOT_IGNORE_ENV
240         bool
241         help
242           Ignore non-volatile environment settings and use default
243           environment only.
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 if !SYS_NO_FLASH
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 MTD_DEVICE
345         bool "MTD device support"
346
347 config CMD_MTDPARTS
348         bool "MTD partitioning support"
349         default y
350         depends on MTD_DEVICE && (CMD_FLASH || CMD_NAND)
351
352 config CMD_NAND
353         bool "nand"
354         help
355           NAND support.
356
357 config CMD_NAND_TRIMFFS
358         bool "Enable nand write.trimffs command"
359         help
360           Enable command to leave page sized runs of 0xff patterns in
361           erased state rather than overwriting them. This is required
362           for using NAND flash filesystems on NAND controllers with
363           a non-0xff ECC code for all 0xff data.
364
365 config CMD_ROMUPDATE
366         bool
367         depends on NAND
368
369 config CMD_MMC
370         bool "mmc/sd"
371         select PARTITIONS
372         help
373           MMC/SD support.
374
375 config CMD_SF
376         bool "sf"
377         help
378           SPI Flash support
379
380 config CMD_SPI
381         bool "sspi"
382         help
383           SPI utility command.
384
385 config CMD_I2C
386         bool "i2c"
387         help
388           I2C support.
389
390 config CMD_USB
391         bool "usb"
392         help
393           USB support.
394
395 config CMD_FPGA
396         bool "fpga"
397         default y
398         help
399           FPGA support.
400
401 endmenu
402
403
404 menu "Shell scripting commands"
405
406 config CMD_ECHO
407         bool "echo"
408         default y
409         help
410           Echo args to console
411
412 config CMD_ITEST
413         bool "itest"
414         default y
415         help
416           Return true/false on integer compare.
417
418 config CMD_SOURCE
419         bool "source"
420         default y
421         help
422           Run script from memory
423
424 config CMD_SETEXPR
425         bool "setexpr"
426         default y
427         help
428           Evaluate boolean and math expressions and store the result in an env
429             variable.
430           Also supports loading the value at a memory location into a variable.
431           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
432
433 endmenu
434
435 menu "Network commands"
436
437 config CMD_NET
438         bool "bootp, tftpboot"
439         default y
440         select NET
441         default y
442         help
443           Network commands.
444           bootp - boot image via network using BOOTP/TFTP protocol
445           tftpboot - boot image via network using TFTP protocol
446
447 config CMD_TFTPPUT
448         bool "tftp put"
449         help
450           TFTP put command, for uploading files to a server
451
452 config CMD_TFTPSRV
453         bool "tftpsrv"
454         help
455           Act as a TFTP server and boot the first received file
456
457 config CMD_RARP
458         bool "rarpboot"
459         help
460           Boot image via network using RARP/TFTP protocol
461
462 config CMD_DHCP
463         bool "dhcp"
464         help
465           Boot image via network using DHCP/TFTP protocol
466
467 if CMD_DHCP
468
469 menu "DHCP options"
470
471 config BOOTP_BOOTFILESIZE
472         bool "obtain bootfile size from DHCP"
473
474 config BOOTP_BOOTPATH
475         bool "obtain bootfile path from DHCP"
476
477 config BOOTP_DNS
478         bool "obtain DNS server IP address from DHCP"
479
480 config BOOTP_DNS2
481         bool "store secondary DNS IP address in dnsip2"
482
483 config BOOTP_GATEWAY
484         bool "obtain gateway IP address from DHCP"
485
486 config BOOTP_ID_CACHE_SIZE
487         int "DHCP transaction ID cache size"
488         default 4
489         help
490           BOOTP packets are uniquely identified using a 32-bit ID. The
491           server will copy the ID from client requests to responses and
492           U-Boot will use this to determine if it is the destination of
493           an incoming response. Some servers will check that addresses
494           aren't in use before handing them out (usually using an ARP
495           ping) and therefore take up to a few hundred milliseconds to
496           respond. Network congestion may also influence the time it
497           takes for a response to make it back to the client. If that
498           time is too long, U-Boot will retransmit requests. In order
499           to allow earlier responses to still be accepted after these
500           retransmissions, U-Boot's BOOTP client keeps a small cache of
501           IDs. The CONFIG_BOOTP_ID_CACHE_SIZE controls the size of this
502           cache. The default is to keep IDs for up to four outstanding
503           requests. Increasing this will allow U-Boot to accept offers
504           from a BOOTP client in networks with unusually high latency.
505
506 config BOOTP_MAY_FAIL
507         bool "Do not start over, if DHCP server is not available"
508         help
509           If the DHCP server is not found after the configured retry
510           count, the call will fail instead of starting over.  This
511           can be used to fail over to Link-local IP address
512           configuration if the DHCP server is not available.
513
514 config BOOTP_NISDOMAIN
515         bool "obtain NIS domain from DHCP"
516
517 config BOOTP_NTPSERVER
518         bool "obtain NTP server IP address from DHCP"
519
520 config BOOTP_RANDOM_DELAY
521         bool "Use a (pseudo) random delay between DHCP retries"
522         select LIB_RAND
523
524 config BOOTP_RANDOM_ID
525         bool "Generate a (pseudo) random transaction ID"
526         select LIB_RAND
527
528 config BOOTP_SEND_HOSTNAME
529         bool "send hostname in DHCP request"
530
531 config BOOTP_SUBNETMASK
532         bool "obtain subnet mask from DHCP"
533
534 config BOOTP_TIMEOFFSET
535         bool "obtain  from DHCP"
536
537 config BOOTP_VENDOREX
538         bool "obtain  from DHCP"
539
540 endmenu
541
542 endif
543
544 config CMD_NFS
545         bool "nfs"
546         default y
547         help
548           Boot image via network using NFS protocol.
549
550 config CMD_PING
551         bool "ping"
552         help
553           Send ICMP ECHO_REQUEST to network host
554
555 config CMD_CDP
556         bool "cdp"
557         help
558           Perform CDP network configuration
559
560 config CMD_SNTP
561         bool "sntp"
562         help
563           Synchronize RTC via network
564
565 config CMD_DNS
566         bool "dns"
567         help
568           Lookup the IP of a hostname
569
570 config CMD_LINK_LOCAL
571         bool "linklocal"
572         help
573           Acquire a network IP address using the link-local protocol
574
575 config CMD_MII
576         bool "MII register access"
577         help
578           Support reading/writing ETH PHY registers via MII bus
579
580 endmenu
581
582 menu "Misc commands"
583
584 config CMD_CACHE
585         bool "cache control"
586         help
587           Enable commands to switch data cache on/off.
588
589 config CMD_TIME
590         bool "time"
591         help
592           Run commands and summarize execution time.
593
594 config CMD_FUSE
595         bool "fuse read/write"
596         help
597           eFuse reading and programming support
598
599 # TODO: rename to CMD_SLEEP
600 config CMD_MISC
601         bool "sleep"
602         default y
603         help
604           Delay execution for some time
605
606 config CMD_TIMER
607         bool "timer"
608         help
609           Access the system timer.
610
611 config CMD_SETGETDCR
612         bool "getdcr, setdcr, getidcr, setidcr"
613         depends on 4xx
614         default y
615         help
616           getdcr - Get an AMCC PPC 4xx DCR's value
617           setdcr - Set an AMCC PPC 4xx DCR's value
618           getidcr - Get a register value via indirect DCR addressing
619           setidcr - Set a register value via indirect DCR addressing
620
621 config CMD_SOUND
622         bool "sound"
623         depends on SOUND
624         help
625           This provides basic access to the U-Boot's sound support. The main
626           feature is to play a beep.
627
628              sound init   - set up sound system
629              sound play   - play a sound
630
631 endmenu
632
633 menu "Boot timing"
634
635 config BOOTSTAGE
636         bool "Boot timing and reporting"
637         help
638           Enable recording of boot time while booting. To use it, insert
639           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
640           bootstage.h. Only a single entry is recorded for each ID. You can
641           give the entry a name with bootstage_mark_name(). You can also
642           record elapsed time in a particular stage using bootstage_start()
643           before starting and bootstage_accum() when finished. Bootstage will
644           add up all the accumated time and report it.
645
646           Normally, IDs are defined in bootstage.h but a small number of
647           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
648           as the ID.
649
650           Calls to show_boot_progress() wil also result in log entries but
651           these will not have names.
652
653 config BOOTSTAGE_REPORT
654         bool "Display a detailed boot timing report before booting the OS"
655         depends on BOOTSTAGE
656         help
657           Enable output of a boot time report just before the OS is booted.
658           This shows how long it took U-Boot to go through each stage of the
659           boot process. The report looks something like this:
660
661                 Timer summary in microseconds:
662                        Mark    Elapsed  Stage
663                           0          0  reset
664                   3,575,678  3,575,678  board_init_f start
665                   3,575,695         17  arch_cpu_init A9
666                   3,575,777         82  arch_cpu_init done
667                   3,659,598     83,821  board_init_r start
668                   3,910,375    250,777  main_loop
669                  29,916,167 26,005,792  bootm_start
670                  30,361,327    445,160  start_kernel
671
672 config BOOTSTAGE_USER_COUNT
673         hex "Number of boot ID numbers available for user use"
674         default 20
675         help
676           This is the number of available user bootstage records.
677           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
678           a new ID will be allocated from this stash. If you exceed
679           the limit, recording will stop.
680
681 config CMD_BOOTSTAGE
682         bool "Enable the 'bootstage' command"
683         depends on BOOTSTAGE
684         help
685           Add a 'bootstage' command which supports printing a report
686           and un/stashing of bootstage data.
687
688 config BOOTSTAGE_FDT
689         bool "Store boot timing information in the OS device tree"
690         depends on BOOTSTAGE
691         help
692           Stash the bootstage information in the FDT. A root 'bootstage'
693           node is created with each bootstage id as a child. Each child
694           has a 'name' property and either 'mark' containing the
695           mark time in microsecond, or 'accum' containing the
696           accumulated time for that bootstage id in microseconds.
697           For example:
698
699                 bootstage {
700                         154 {
701                                 name = "board_init_f";
702                                 mark = <3575678>;
703                         };
704                         170 {
705                                 name = "lcd";
706                                 accum = <33482>;
707                         };
708                 };
709
710           Code in the Linux kernel can find this in /proc/devicetree.
711
712 config BOOTSTAGE_STASH
713         bool "Stash the boot timing information in memory before booting OS"
714         depends on BOOTSTAGE
715         help
716           Some OSes do not support device tree. Bootstage can instead write
717           the boot timing information in a binary format at a given address.
718           This happens through a call to bootstage_stash(), typically in
719           the CPU's cleanup_before_linux() function. You can use the
720           'bootstage stash' and 'bootstage unstash' commands to do this on
721           the command line.
722
723 config BOOTSTAGE_STASH_ADDR
724         hex "Address to stash boot timing information"
725         default 0
726         help
727           Provide an address which will not be overwritten by the OS when it
728           starts, so that it can read this information when ready.
729
730 config BOOTSTAGE_STASH_SIZE
731         hex "Size of boot timing stash region"
732         default 4096
733         help
734           This should be large enough to hold the bootstage stash. A value of
735           4096 (4KiB) is normally plenty.
736
737 endmenu
738
739 menu "Power commands"
740 config CMD_PMIC
741         bool "Enable Driver Model PMIC command"
742         depends on DM_PMIC
743         help
744           This is the pmic command, based on a driver model pmic's API.
745           Command features are unchanged:
746           - list               - list pmic devices
747           - pmic dev <id>      - show or [set] operating pmic device (NEW)
748           - pmic dump          - dump registers
749           - pmic read address  - read byte of register at address
750           - pmic write address - write byte to register at address
751           The only one change for this command is 'dev' subcommand.
752
753 config CMD_REGULATOR
754         bool "Enable Driver Model REGULATOR command"
755         depends on DM_REGULATOR
756         help
757           This command is based on driver model regulator's API.
758           User interface features:
759           - list               - list regulator devices
760           - regulator dev <id> - show or [set] operating regulator device
761           - regulator info     - print constraints info
762           - regulator status   - print operating status
763           - regulator value <val] <-f> - print/[set] voltage value [uV]
764           - regulator current <val>    - print/[set] current value [uA]
765           - regulator mode <id>        - print/[set] operating mode id
766           - regulator enable           - enable the regulator output
767           - regulator disable          - disable the regulator output
768
769           The '-f' (force) option can be used for set the value which exceeds
770           the limits, which are found in device-tree and are kept in regulator's
771           uclass platdata structure.
772
773 endmenu
774
775 menu "Security commands"
776 config CMD_TPM
777         bool "Enable the 'tpm' command"
778         depends on TPM
779         help
780           This provides a means to talk to a TPM from the command line. A wide
781           range of commands if provided - see 'tpm help' for details. The
782           command requires a suitable TPM on your board and the correct driver
783           must be enabled.
784
785 config CMD_TPM_TEST
786         bool "Enable the 'tpm test' command"
787         depends on CMD_TPM
788         help
789           This provides a a series of tests to confirm that the TPM is working
790           correctly. The tests cover initialisation, non-volatile RAM, extend,
791           global lock and checking that timing is within expectations. The
792           tests pass correctly on Infineon TPMs but may need to be adjusted
793           for other devices.
794
795 endmenu
796
797 endmenu
798
799 menu "Environment configuration settings"
800
801 choice
802         prompt "Select environment non-volatile storage"
803
804 config ENV_IS_NOWHERE
805         bool "do not store environment"
806
807 config ENV_IS_IN_NAND
808         bool "store environment in NAND"
809         depends on NAND
810
811 config ENV_IS_IN_MMC
812         bool "store environment in MMC"
813         depends on MMC
814
815 config ENV_IS_IN_SPI_FLASH
816         bool "store environment in SPI flash"
817
818 endchoice
819
820 endmenu
821
822 menu "Display configuration"
823
824 config LCD
825         bool "LCD support"
826
827 config DISPLAY_BOARDINFO
828         bool "Display board info"
829
830 endmenu