kconfig: remove redundant 'default n'
[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         help
32           This option enables stopping (aborting) of the automatic
33           boot feature only by issuing a specific input key or
34           string. If not enabled, any input key will abort the
35           U-Boot automatic booting process and bring the device
36           to the U-Boot prompt for user input.
37
38 config AUTOBOOT_PROMPT
39         string "Autoboot stop prompt"
40         depends on AUTOBOOT_KEYED
41         default "Autoboot in %d seconds\\n"
42         help
43           This string is displayed before the boot delay selected by
44           CONFIG_BOOTDELAY starts. If it is not defined there is no
45           output indicating that autoboot is in progress.
46
47           Note that this define is used as the (only) argument to a
48           printf() call, so it may contain '%' format specifications,
49           provided that it also includes, sepearated by commas exactly
50           like in a printf statement, the required arguments. It is
51           the responsibility of the user to select only such arguments
52           that are valid in the given context.
53
54 config AUTOBOOT_ENCRYPTION
55         bool "Enable encryption in autoboot stopping"
56         depends on AUTOBOOT_KEYED
57
58 config AUTOBOOT_DELAY_STR
59         string "Delay autobooting via specific input key / string"
60         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
61         help
62           This option delays the automatic boot feature by issuing
63           a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
64           or the environment variable "bootdelaykey" is specified
65           and this string is received from console input before
66           autoboot starts booting, U-Boot gives a command prompt. The
67           U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
68           used, otherwise it never times out.
69
70 config AUTOBOOT_STOP_STR
71         string "Stop autobooting via specific input key / string"
72         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
73         help
74           This option enables stopping (aborting) of the automatic
75           boot feature only by issuing a specific input key or
76           string. If CONFIG_AUTOBOOT_STOP_STR or the environment
77           variable "bootstopkey" is specified and this string is
78           received from console input before autoboot starts booting,
79           U-Boot gives a command prompt. The U-Boot prompt never
80           times out, even if CONFIG_BOOT_RETRY_TIME is used.
81
82 config AUTOBOOT_KEYED_CTRLC
83         bool "Enable Ctrl-C autoboot interruption"
84         depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
85         help
86           This option allows for the boot sequence to be interrupted
87           by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
88           Setting this variable provides an escape sequence from the
89           limited "password" strings.
90
91 config AUTOBOOT_STOP_STR_SHA256
92         string "Stop autobooting via SHA256 encrypted password"
93         depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
94         help
95           This option adds the feature to only stop the autobooting,
96           and therefore boot into the U-Boot prompt, when the input
97           string / password matches a values that is encypted via
98           a SHA256 hash and saved in the environment.
99
100 endmenu
101
102 comment "Commands"
103
104 menu "Info commands"
105
106 config CMD_BDI
107         bool "bdinfo"
108         default y
109         help
110           Print board info
111
112 config CMD_CONSOLE
113         bool "coninfo"
114         default y
115         help
116           Print console devices and information.
117
118 config CMD_CPU
119         bool "cpu"
120         help
121           Print information about available CPUs. This normally shows the
122           number of CPUs, type (e.g. manufacturer, architecture, product or
123           internal name) and clock frequency. Other information may be
124           available depending on the CPU driver.
125
126 config CMD_LICENSE
127         bool "license"
128         help
129           Print GPL license text
130
131 endmenu
132
133 menu "Boot commands"
134
135 config CMD_BOOTD
136         bool "bootd"
137         default y
138         help
139           Run the command stored in the environment "bootcmd", i.e.
140           "bootd" does the same thing as "run bootcmd".
141
142 config CMD_BOOTM
143         bool "bootm"
144         default y
145         help
146           Boot an application image from the memory.
147
148 config CMD_BOOTZ
149         bool "bootz"
150         default y
151         help
152           Boot a Linux kernel zImage.
153
154 config CMD_BOOTCE
155         bool "bootce"
156         help
157           Boot a WindowsCE image.
158
159 config CMD_GO
160         bool "go"
161         default y
162         help
163           Start an application at a given address.
164
165 config CMD_RUN
166         bool "run"
167         default y
168         help
169           Run the command in the given environment variable.
170
171 config CMD_IMI
172         bool "iminfo"
173         default y
174         help
175           Print header information for application image.
176
177 config CMD_IMLS
178         bool "imls"
179         default !SYS_NO_FLASH
180         help
181           List all images found in flash
182
183 config CMD_XIMG
184         bool "imxtract"
185         default y
186         help
187           Extract a part of a multi-image.
188
189 endmenu
190
191 menu "DTB support"
192
193 config OF_LIBFDT
194         bool "Enable FDT commands"
195
196 config OF_BOARD_SETUP
197         bool "Support DT modifications by board code"
198         depends on OF_LIBFDT
199
200 endmenu
201
202 menu "Environment commands"
203
204 config CMD_EXPORTENV
205         bool "env export"
206         default y
207         help
208           Export environments.
209
210 config CMD_IMPORTENV
211         bool "env import"
212         default y
213         help
214           Import environments.
215
216 config CMD_EDITENV
217         bool "editenv"
218         default y
219         help
220           Edit environment variable.
221
222 config CMD_SAVEENV
223         bool "saveenv"
224         default y
225         help
226           Save all environment variables into the compiled-in persistent
227           storage.
228
229 config CMD_ENV_EXISTS
230         bool "env exists"
231         default y
232         help
233           Check if a variable is defined in the environment for use in
234           shell scripting.
235
236 config UBOOT_IGNORE_ENV
237         bool
238         help
239           Ignore non-volatile environment settings and use default
240           environment only.
241
242 endmenu
243
244 menu "Memory commands"
245
246 config CMD_MEMORY
247         bool "md, mm, nm, mw, cp, cmp, base, loop"
248         default y
249         help
250           Memeory commands.
251             md - memory display
252             mm - memory modify (auto-incrementing address)
253             nm - memory modify (constant address)
254             mw - memory write (fill)
255             cp - memory copy
256             cmp - memory compare
257             base - print or set address offset
258             loop - initinite loop on address range
259
260 config CMD_CRC32
261         bool "crc32"
262         default y
263         help
264           Compute CRC32.
265
266 config LOOPW
267         bool "loopw"
268         help
269           Infinite write loop on address range
270
271 config CMD_MEMTEST
272         bool "memtest"
273         help
274           Simple RAM read/write test.
275
276 config CMD_MX_CYCLIC
277         bool "mdc, mwc"
278         help
279           mdc - memory display cyclic
280           mwc - memory write cyclic
281
282 config CMD_MEMINFO
283         bool "meminfo"
284         help
285           Display memory information.
286
287 endmenu
288
289 menu "Device access commands"
290
291 config CMD_DM
292         bool "dm - Access to driver model information"
293         depends on DM
294         default y
295         help
296           Provides access to driver model data structures and information,
297           such as a list of devices, list of uclasses and the state of each
298           device (e.g. activated). This is not required for operation, but
299           can be useful to see the state of driver model for debugging or
300           interest.
301
302 config CMD_DEMO
303         bool "demo - Demonstration commands for driver model"
304         depends on DM
305         help
306           Provides a 'demo' command which can be used to play around with
307           driver model. To use this properly you will need to enable one or
308           both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
309           Otherwise you will always get an empty list of devices. The demo
310           devices are defined in the sandbox device tree, so the easiest
311           option is to use sandbox and pass the -d point to sandbox's
312           u-boot.dtb file.
313
314 config CMD_LOADB
315         bool "loadb"
316         default y
317         help
318           Load a binary file over serial line.
319
320 config CMD_LOADS
321         bool "loads"
322         default y
323         help
324           Load an S-Record file over serial line
325
326 config CMD_FLASH
327         bool "flinfo, erase, protect"
328         default y if !SYS_NO_FLASH
329         help
330           NOR flash support.
331             flinfo - print FLASH memory information
332             erase - FLASH memory
333             protect - enable or disable FLASH write protection
334
335 config CMD_ARMFLASH
336         depends on FLASH_CFI_DRIVER
337         bool "armflash"
338         help
339           ARM Ltd reference designs flash partition access
340
341 config MTD_DEVICE
342         bool "MTD device support"
343
344 config CMD_MTDPARTS
345         bool "MTD partitioning support"
346         default y
347         depends on MTD_DEVICE && (CMD_FLASH || CMD_NAND)
348
349 config CMD_NAND
350         bool "nand"
351         help
352           NAND support.
353
354 config CMD_NAND_TRIMFFS
355         bool "Enable nand write.trimffs command"
356         help
357           Enable command to leave page sized runs of 0xff patterns in
358           erased state rather than overwriting them. This is required
359           for using NAND flash filesystems on NAND controllers with
360           a non-0xff ECC code for all 0xff data.
361
362 config CMD_ROMUPDATE
363         bool
364         depends on NAND
365
366 config CMD_MMC
367         bool "mmc/sd"
368         select PARTITIONS
369         help
370           MMC/SD support.
371
372 config CMD_SF
373         bool "sf"
374         help
375           SPI Flash support
376
377 config CMD_SPI
378         bool "sspi"
379         help
380           SPI utility command.
381
382 config CMD_I2C
383         bool "i2c"
384         help
385           I2C support.
386
387 config CMD_USB
388         bool "usb"
389         help
390           USB support.
391
392 config CMD_FPGA
393         bool "fpga"
394         default y
395         help
396           FPGA support.
397
398 endmenu
399
400
401 menu "Shell scripting commands"
402
403 config CMD_ECHO
404         bool "echo"
405         default y
406         help
407           Echo args to console
408
409 config CMD_ITEST
410         bool "itest"
411         default y
412         help
413           Return true/false on integer compare.
414
415 config CMD_SOURCE
416         bool "source"
417         default y
418         help
419           Run script from memory
420
421 config CMD_SETEXPR
422         bool "setexpr"
423         default y
424         help
425           Evaluate boolean and math expressions and store the result in an env
426             variable.
427           Also supports loading the value at a memory location into a variable.
428           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
429
430 endmenu
431
432 menu "Network commands"
433
434 config CMD_NET
435         bool "bootp, tftpboot"
436         default y
437         select NET
438         default y
439         help
440           Network commands.
441           bootp - boot image via network using BOOTP/TFTP protocol
442           tftpboot - boot image via network using TFTP protocol
443
444 config CMD_TFTPPUT
445         bool "tftp put"
446         help
447           TFTP put command, for uploading files to a server
448
449 config CMD_TFTPSRV
450         bool "tftpsrv"
451         help
452           Act as a TFTP server and boot the first received file
453
454 config CMD_RARP
455         bool "rarpboot"
456         help
457           Boot image via network using RARP/TFTP protocol
458
459 config CMD_DHCP
460         bool "dhcp"
461         help
462           Boot image via network using DHCP/TFTP protocol
463
464 if CMD_DHCP
465
466 menu "DHCP options"
467
468 config BOOTP_BOOTFILESIZE
469         bool "obtain bootfile size from DHCP"
470
471 config BOOTP_BOOTPATH
472         bool "obtain bootfile path from DHCP"
473
474 config BOOTP_DNS
475         bool "obtain DNS server IP address from DHCP"
476
477 config BOOTP_DNS2
478         bool "store secondary DNS IP address in dnsip2"
479
480 config BOOTP_GATEWAY
481         bool "obtain gateway IP address from DHCP"
482
483 config BOOTP_ID_CACHE_SIZE
484         int "DHCP transaction ID cache size"
485         default 4
486         help
487           BOOTP packets are uniquely identified using a 32-bit ID. The
488           server will copy the ID from client requests to responses and
489           U-Boot will use this to determine if it is the destination of
490           an incoming response. Some servers will check that addresses
491           aren't in use before handing them out (usually using an ARP
492           ping) and therefore take up to a few hundred milliseconds to
493           respond. Network congestion may also influence the time it
494           takes for a response to make it back to the client. If that
495           time is too long, U-Boot will retransmit requests. In order
496           to allow earlier responses to still be accepted after these
497           retransmissions, U-Boot's BOOTP client keeps a small cache of
498           IDs. The CONFIG_BOOTP_ID_CACHE_SIZE controls the size of this
499           cache. The default is to keep IDs for up to four outstanding
500           requests. Increasing this will allow U-Boot to accept offers
501           from a BOOTP client in networks with unusually high latency.
502
503 config BOOTP_MAY_FAIL
504         bool "Do not start over, if DHCP server is not available"
505         help
506           If the DHCP server is not found after the configured retry
507           count, the call will fail instead of starting over.  This
508           can be used to fail over to Link-local IP address
509           configuration if the DHCP server is not available.
510
511 config BOOTP_NISDOMAIN
512         bool "obtain NIS domain from DHCP"
513
514 config BOOTP_NTPSERVER
515         bool "obtain NTP server IP address from DHCP"
516
517 config BOOTP_RANDOM_DELAY
518         bool "Use a (pseudo) random delay between DHCP retries"
519         select LIB_RAND
520
521 config BOOTP_RANDOM_ID
522         bool "Generate a (pseudo) random transaction ID"
523         select LIB_RAND
524
525 config BOOTP_SEND_HOSTNAME
526         bool "send hostname in DHCP request"
527
528 config BOOTP_SUBNETMASK
529         bool "obtain subnet mask from DHCP"
530
531 config BOOTP_TIMEOFFSET
532         bool "obtain  from DHCP"
533
534 config BOOTP_VENDOREX
535         bool "obtain  from DHCP"
536
537 endmenu
538
539 endif
540
541 config CMD_NFS
542         bool "nfs"
543         default y
544         help
545           Boot image via network using NFS protocol.
546
547 config CMD_PING
548         bool "ping"
549         help
550           Send ICMP ECHO_REQUEST to network host
551
552 config CMD_CDP
553         bool "cdp"
554         help
555           Perform CDP network configuration
556
557 config CMD_SNTP
558         bool "sntp"
559         help
560           Synchronize RTC via network
561
562 config CMD_DNS
563         bool "dns"
564         help
565           Lookup the IP of a hostname
566
567 config CMD_LINK_LOCAL
568         bool "linklocal"
569         help
570           Acquire a network IP address using the link-local protocol
571
572 config CMD_MII
573         bool "MII register access"
574         help
575           Support reading/writing ETH PHY registers via MII bus
576
577 endmenu
578
579 menu "Misc commands"
580
581 config CMD_CACHE
582         bool "cache control"
583         help
584           Enable commands to switch data cache on/off.
585
586 config CMD_TIME
587         bool "time"
588         help
589           Run commands and summarize execution time.
590
591 config CMD_FUSE
592         bool "fuse read/write"
593         help
594           eFuse reading and programming support
595
596 # TODO: rename to CMD_SLEEP
597 config CMD_MISC
598         bool "sleep"
599         default y
600         help
601           Delay execution for some time
602
603 config CMD_TIMER
604         bool "timer"
605         help
606           Access the system timer.
607
608 config CMD_SETGETDCR
609         bool "getdcr, setdcr, getidcr, setidcr"
610         depends on 4xx
611         default y
612         help
613           getdcr - Get an AMCC PPC 4xx DCR's value
614           setdcr - Set an AMCC PPC 4xx DCR's value
615           getidcr - Get a register value via indirect DCR addressing
616           setidcr - Set a register value via indirect DCR addressing
617
618 config CMD_SOUND
619         bool "sound"
620         depends on SOUND
621         help
622           This provides basic access to the U-Boot's sound support. The main
623           feature is to play a beep.
624
625              sound init   - set up sound system
626              sound play   - play a sound
627
628 endmenu
629
630 menu "Boot timing"
631
632 config BOOTSTAGE
633         bool "Boot timing and reporting"
634         help
635           Enable recording of boot time while booting. To use it, insert
636           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
637           bootstage.h. Only a single entry is recorded for each ID. You can
638           give the entry a name with bootstage_mark_name(). You can also
639           record elapsed time in a particular stage using bootstage_start()
640           before starting and bootstage_accum() when finished. Bootstage will
641           add up all the accumated time and report it.
642
643           Normally, IDs are defined in bootstage.h but a small number of
644           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
645           as the ID.
646
647           Calls to show_boot_progress() wil also result in log entries but
648           these will not have names.
649
650 config BOOTSTAGE_REPORT
651         bool "Display a detailed boot timing report before booting the OS"
652         depends on BOOTSTAGE
653         help
654           Enable output of a boot time report just before the OS is booted.
655           This shows how long it took U-Boot to go through each stage of the
656           boot process. The report looks something like this:
657
658                 Timer summary in microseconds:
659                        Mark    Elapsed  Stage
660                           0          0  reset
661                   3,575,678  3,575,678  board_init_f start
662                   3,575,695         17  arch_cpu_init A9
663                   3,575,777         82  arch_cpu_init done
664                   3,659,598     83,821  board_init_r start
665                   3,910,375    250,777  main_loop
666                  29,916,167 26,005,792  bootm_start
667                  30,361,327    445,160  start_kernel
668
669 config BOOTSTAGE_USER_COUNT
670         hex "Number of boot ID numbers available for user use"
671         default 20
672         help
673           This is the number of available user bootstage records.
674           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
675           a new ID will be allocated from this stash. If you exceed
676           the limit, recording will stop.
677
678 config CMD_BOOTSTAGE
679         bool "Enable the 'bootstage' command"
680         depends on BOOTSTAGE
681         help
682           Add a 'bootstage' command which supports printing a report
683           and un/stashing of bootstage data.
684
685 config BOOTSTAGE_FDT
686         bool "Store boot timing information in the OS device tree"
687         depends on BOOTSTAGE
688         help
689           Stash the bootstage information in the FDT. A root 'bootstage'
690           node is created with each bootstage id as a child. Each child
691           has a 'name' property and either 'mark' containing the
692           mark time in microsecond, or 'accum' containing the
693           accumulated time for that bootstage id in microseconds.
694           For example:
695
696                 bootstage {
697                         154 {
698                                 name = "board_init_f";
699                                 mark = <3575678>;
700                         };
701                         170 {
702                                 name = "lcd";
703                                 accum = <33482>;
704                         };
705                 };
706
707           Code in the Linux kernel can find this in /proc/devicetree.
708
709 config BOOTSTAGE_STASH
710         bool "Stash the boot timing information in memory before booting OS"
711         depends on BOOTSTAGE
712         help
713           Some OSes do not support device tree. Bootstage can instead write
714           the boot timing information in a binary format at a given address.
715           This happens through a call to bootstage_stash(), typically in
716           the CPU's cleanup_before_linux() function. You can use the
717           'bootstage stash' and 'bootstage unstash' commands to do this on
718           the command line.
719
720 config BOOTSTAGE_STASH_ADDR
721         hex "Address to stash boot timing information"
722         default 0
723         help
724           Provide an address which will not be overwritten by the OS when it
725           starts, so that it can read this information when ready.
726
727 config BOOTSTAGE_STASH_SIZE
728         hex "Size of boot timing stash region"
729         default 4096
730         help
731           This should be large enough to hold the bootstage stash. A value of
732           4096 (4KiB) is normally plenty.
733
734 endmenu
735
736 menu "Power commands"
737 config CMD_PMIC
738         bool "Enable Driver Model PMIC command"
739         depends on DM_PMIC
740         help
741           This is the pmic command, based on a driver model pmic's API.
742           Command features are unchanged:
743           - list               - list pmic devices
744           - pmic dev <id>      - show or [set] operating pmic device (NEW)
745           - pmic dump          - dump registers
746           - pmic read address  - read byte of register at address
747           - pmic write address - write byte to register at address
748           The only one change for this command is 'dev' subcommand.
749
750 config CMD_REGULATOR
751         bool "Enable Driver Model REGULATOR command"
752         depends on DM_REGULATOR
753         help
754           This command is based on driver model regulator's API.
755           User interface features:
756           - list               - list regulator devices
757           - regulator dev <id> - show or [set] operating regulator device
758           - regulator info     - print constraints info
759           - regulator status   - print operating status
760           - regulator value <val] <-f> - print/[set] voltage value [uV]
761           - regulator current <val>    - print/[set] current value [uA]
762           - regulator mode <id>        - print/[set] operating mode id
763           - regulator enable           - enable the regulator output
764           - regulator disable          - disable the regulator output
765
766           The '-f' (force) option can be used for set the value which exceeds
767           the limits, which are found in device-tree and are kept in regulator's
768           uclass platdata structure.
769
770 endmenu
771
772 menu "Security commands"
773 config CMD_TPM
774         bool "Enable the 'tpm' command"
775         depends on TPM
776         help
777           This provides a means to talk to a TPM from the command line. A wide
778           range of commands if provided - see 'tpm help' for details. The
779           command requires a suitable TPM on your board and the correct driver
780           must be enabled.
781
782 config CMD_TPM_TEST
783         bool "Enable the 'tpm test' command"
784         depends on CMD_TPM
785         help
786           This provides a a series of tests to confirm that the TPM is working
787           correctly. The tests cover initialisation, non-volatile RAM, extend,
788           global lock and checking that timing is within expectations. The
789           tests pass correctly on Infineon TPMs but may need to be adjusted
790           for other devices.
791
792 endmenu
793
794 endmenu
795
796 menu "Environment configuration settings"
797
798 choice
799         prompt "Select environment non-volatile storage"
800
801 config ENV_IS_NOWHERE
802         bool "do not store environment"
803
804 config ENV_IS_IN_NAND
805         bool "store environment in NAND"
806         depends on NAND
807
808 config ENV_IS_IN_MMC
809         bool "store environment in MMC"
810         depends on MMC
811
812 config ENV_IS_IN_SPI_FLASH
813         bool "store environment in SPI flash"
814
815 endchoice
816
817 endmenu
818
819 menu "Display configuration"
820
821 config LCD
822         bool "LCD support"
823
824 config DISPLAY_BOARDINFO
825         bool "Display board info"
826
827 endmenu