]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - common/Kconfig
tpm: Add Kconfig options for TPMs
[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 endmenu
240
241 menu "Memory commands"
242
243 config CMD_MEMORY
244         bool "md, mm, nm, mw, cp, cmp, base, loop"
245         default y
246         help
247           Memeory commands.
248             md - memory display
249             mm - memory modify (auto-incrementing address)
250             nm - memory modify (constant address)
251             mw - memory write (fill)
252             cp - memory copy
253             cmp - memory compare
254             base - print or set address offset
255             loop - initinite loop on address range
256
257 config CMD_CRC32
258         bool "crc32"
259         default y
260         help
261           Compute CRC32.
262
263 config LOOPW
264         bool "loopw"
265         help
266           Infinite write loop on address range
267
268 config CMD_MEMTEST
269         bool "memtest"
270         help
271           Simple RAM read/write test.
272
273 config CMD_MX_CYCLIC
274         bool "mdc, mwc"
275         help
276           mdc - memory display cyclic
277           mwc - memory write cyclic
278
279 config CMD_MEMINFO
280         bool "meminfo"
281         help
282           Display memory information.
283
284 endmenu
285
286 menu "Device access commands"
287
288 config CMD_DM
289         bool "dm - Access to driver model information"
290         depends on DM
291         default y
292         help
293           Provides access to driver model data structures and information,
294           such as a list of devices, list of uclasses and the state of each
295           device (e.g. activated). This is not required for operation, but
296           can be useful to see the state of driver model for debugging or
297           interest.
298
299 config CMD_DEMO
300         bool "demo - Demonstration commands for driver model"
301         depends on DM
302         help
303           Provides a 'demo' command which can be used to play around with
304           driver model. To use this properly you will need to enable one or
305           both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
306           Otherwise you will always get an empty list of devices. The demo
307           devices are defined in the sandbox device tree, so the easiest
308           option is to use sandbox and pass the -d point to sandbox's
309           u-boot.dtb file.
310
311 config CMD_LOADB
312         bool "loadb"
313         default y
314         help
315           Load a binary file over serial line.
316
317 config CMD_LOADS
318         bool "loads"
319         default y
320         help
321           Load an S-Record file over serial line
322
323 config CMD_FLASH
324         bool "flinfo, erase, protect"
325         default y if !SYS_NO_FLASH
326         help
327           NOR flash support.
328             flinfo - print FLASH memory information
329             erase - FLASH memory
330             protect - enable or disable FLASH write protection
331
332 config CMD_ARMFLASH
333         depends on FLASH_CFI_DRIVER
334         bool "armflash"
335         help
336           ARM Ltd reference designs flash partition access
337
338 config MTD_DEVICE
339         bool "MTD device support"
340
341 config CMD_MTDPARTS
342         bool "MTD partitioning support"
343         default y
344         depends on MTD_DEVICE && (CMD_FLASH || CMD_NAND)
345
346 config CMD_NAND
347         bool "nand"
348         help
349           NAND support.
350
351 config CMD_NAND_TRIMFFS
352         bool "Enable nand write.trimffs command"
353         help
354           Enable command to leave page sized runs of 0xff patterns in
355           erased state rather than overwriting them. This is required
356           for using NAND flash filesystems on NAND controllers with
357           a non-0xff ECC code for all 0xff data.
358
359 config CMD_ROMUPDATE
360         bool
361         depends on NAND
362
363 config CMD_MMC
364         bool "mmc/sd"
365         select PARTITIONS
366         help
367           MMC/SD support.
368
369 config CMD_SF
370         bool "sf"
371         help
372           SPI Flash support
373
374 config CMD_SPI
375         bool "sspi"
376         help
377           SPI utility command.
378
379 config CMD_I2C
380         bool "i2c"
381         help
382           I2C support.
383
384 config CMD_USB
385         bool "usb"
386         help
387           USB support.
388
389 config CMD_FPGA
390         bool "fpga"
391         default y
392         help
393           FPGA support.
394
395 endmenu
396
397
398 menu "Shell scripting commands"
399
400 config CMD_ECHO
401         bool "echo"
402         default y
403         help
404           Echo args to console
405
406 config CMD_ITEST
407         bool "itest"
408         default y
409         help
410           Return true/false on integer compare.
411
412 config CMD_SOURCE
413         bool "source"
414         default y
415         help
416           Run script from memory
417
418 config CMD_SETEXPR
419         bool "setexpr"
420         default y
421         help
422           Evaluate boolean and math expressions and store the result in an env
423             variable.
424           Also supports loading the value at a memory location into a variable.
425           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
426
427 endmenu
428
429 menu "Network commands"
430
431 config CMD_NET
432         bool "bootp, tftpboot"
433         default y
434         select NET
435         default y
436         help
437           Network commands.
438           bootp - boot image via network using BOOTP/TFTP protocol
439           tftpboot - boot image via network using TFTP protocol
440
441 config CMD_TFTPPUT
442         bool "tftp put"
443         help
444           TFTP put command, for uploading files to a server
445
446 config CMD_TFTPSRV
447         bool "tftpsrv"
448         help
449           Act as a TFTP server and boot the first received file
450
451 config CMD_RARP
452         bool "rarpboot"
453         help
454           Boot image via network using RARP/TFTP protocol
455
456 config CMD_DHCP
457         bool "dhcp"
458         help
459           Boot image via network using DHCP/TFTP protocol
460
461 if CMD_DHCP
462
463 menu "DHCP options"
464
465 config BOOTP_BOOTFILESIZE
466         bool "obtain bootfile size from DHCP"
467
468 config BOOTP_BOOTPATH
469         bool "obtain bootfile path from DHCP"
470
471 config BOOTP_DNS
472         bool "obtain DNS server IP address from DHCP"
473
474 config BOOTP_DNS2
475         bool "store secondary DNS IP address in dnsip2"
476
477 config BOOTP_GATEWAY
478         bool "obtain gateway IP address from DHCP"
479
480 config BOOTP_ID_CACHE_SIZE
481         int "DHCP transaction ID cache size"
482         default 4
483         help
484           BOOTP packets are uniquely identified using a 32-bit ID. The
485           server will copy the ID from client requests to responses and
486           U-Boot will use this to determine if it is the destination of
487           an incoming response. Some servers will check that addresses
488           aren't in use before handing them out (usually using an ARP
489           ping) and therefore take up to a few hundred milliseconds to
490           respond. Network congestion may also influence the time it
491           takes for a response to make it back to the client. If that
492           time is too long, U-Boot will retransmit requests. In order
493           to allow earlier responses to still be accepted after these
494           retransmissions, U-Boot's BOOTP client keeps a small cache of
495           IDs. The CONFIG_BOOTP_ID_CACHE_SIZE controls the size of this
496           cache. The default is to keep IDs for up to four outstanding
497           requests. Increasing this will allow U-Boot to accept offers
498           from a BOOTP client in networks with unusually high latency.
499
500 config BOOTP_MAY_FAIL
501         bool "Do not start over, if DHCP server is not available"
502         help
503           If the DHCP server is not found after the configured retry
504           count, the call will fail instead of starting over.  This
505           can be used to fail over to Link-local IP address
506           configuration if the DHCP server is not available.
507
508 config BOOTP_NISDOMAIN
509         bool "obtain NIS domain from DHCP"
510
511 config BOOTP_NTPSERVER
512         bool "obtain NTP server IP address from DHCP"
513
514 config BOOTP_RANDOM_DELAY
515         bool "Use a (pseudo) random delay between DHCP retries"
516         select LIB_RAND
517
518 config BOOTP_RANDOM_ID
519         bool "Generate a (pseudo) random transaction ID"
520         select LIB_RAND
521
522 config BOOTP_SEND_HOSTNAME
523         bool "send hostname in DHCP request"
524
525 config BOOTP_SUBNETMASK
526         bool "obtain subnet mask from DHCP"
527
528 config BOOTP_TIMEOFFSET
529         bool "obtain  from DHCP"
530
531 config BOOTP_VENDOREX
532         bool "obtain  from DHCP"
533
534 endmenu
535
536 endif
537
538 config CMD_NFS
539         bool "nfs"
540         default y
541         help
542           Boot image via network using NFS protocol.
543
544 config CMD_PING
545         bool "ping"
546         help
547           Send ICMP ECHO_REQUEST to network host
548
549 config CMD_CDP
550         bool "cdp"
551         help
552           Perform CDP network configuration
553
554 config CMD_SNTP
555         bool "sntp"
556         help
557           Synchronize RTC via network
558
559 config CMD_DNS
560         bool "dns"
561         help
562           Lookup the IP of a hostname
563
564 config CMD_LINK_LOCAL
565         bool "linklocal"
566         help
567           Acquire a network IP address using the link-local protocol
568
569 config CMD_MII
570         bool "MII register access"
571         help
572           Support reading/writing ETH PHY registers via MII bus
573
574 endmenu
575
576 menu "Misc commands"
577
578 config CMD_CACHE
579         bool "cache control"
580         help
581           Enable commands to switch data cache on/off.
582
583 config CMD_TIME
584         bool "time"
585         help
586           Run commands and summarize execution time.
587
588 config CMD_FUSE
589         bool "fuse read/write"
590         help
591           eFuse reading and programming support
592
593 # TODO: rename to CMD_SLEEP
594 config CMD_MISC
595         bool "sleep"
596         default y
597         help
598           Delay execution for some time
599
600 config CMD_TIMER
601         bool "timer"
602         help
603           Access the system timer.
604
605 config CMD_SETGETDCR
606         bool "getdcr, setdcr, getidcr, setidcr"
607         depends on 4xx
608         default y
609         help
610           getdcr - Get an AMCC PPC 4xx DCR's value
611           setdcr - Set an AMCC PPC 4xx DCR's value
612           getidcr - Get a register value via indirect DCR addressing
613           setidcr - Set a register value via indirect DCR addressing
614
615 config CMD_SOUND
616         bool "sound"
617         depends on SOUND
618         help
619           This provides basic access to the U-Boot's sound support. The main
620           feature is to play a beep.
621
622              sound init   - set up sound system
623              sound play   - play a sound
624
625 endmenu
626
627 menu "Boot timing"
628
629 config BOOTSTAGE
630         bool "Boot timing and reporting"
631         help
632           Enable recording of boot time while booting. To use it, insert
633           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
634           bootstage.h. Only a single entry is recorded for each ID. You can
635           give the entry a name with bootstage_mark_name(). You can also
636           record elapsed time in a particular stage using bootstage_start()
637           before starting and bootstage_accum() when finished. Bootstage will
638           add up all the accumated time and report it.
639
640           Normally, IDs are defined in bootstage.h but a small number of
641           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
642           as the ID.
643
644           Calls to show_boot_progress() wil also result in log entries but
645           these will not have names.
646
647 config BOOTSTAGE_REPORT
648         bool "Display a detailed boot timing report before booting the OS"
649         depends on BOOTSTAGE
650         help
651           Enable output of a boot time report just before the OS is booted.
652           This shows how long it took U-Boot to go through each stage of the
653           boot process. The report looks something like this:
654
655                 Timer summary in microseconds:
656                        Mark    Elapsed  Stage
657                           0          0  reset
658                   3,575,678  3,575,678  board_init_f start
659                   3,575,695         17  arch_cpu_init A9
660                   3,575,777         82  arch_cpu_init done
661                   3,659,598     83,821  board_init_r start
662                   3,910,375    250,777  main_loop
663                  29,916,167 26,005,792  bootm_start
664                  30,361,327    445,160  start_kernel
665
666 config BOOTSTAGE_USER_COUNT
667         hex "Number of boot ID numbers available for user use"
668         default 20
669         help
670           This is the number of available user bootstage records.
671           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
672           a new ID will be allocated from this stash. If you exceed
673           the limit, recording will stop.
674
675 config CMD_BOOTSTAGE
676         bool "Enable the 'bootstage' command"
677         depends on BOOTSTAGE
678         help
679           Add a 'bootstage' command which supports printing a report
680           and un/stashing of bootstage data.
681
682 config BOOTSTAGE_FDT
683         bool "Store boot timing information in the OS device tree"
684         depends on BOOTSTAGE
685         help
686           Stash the bootstage information in the FDT. A root 'bootstage'
687           node is created with each bootstage id as a child. Each child
688           has a 'name' property and either 'mark' containing the
689           mark time in microsecond, or 'accum' containing the
690           accumulated time for that bootstage id in microseconds.
691           For example:
692
693                 bootstage {
694                         154 {
695                                 name = "board_init_f";
696                                 mark = <3575678>;
697                         };
698                         170 {
699                                 name = "lcd";
700                                 accum = <33482>;
701                         };
702                 };
703
704           Code in the Linux kernel can find this in /proc/devicetree.
705
706 config BOOTSTAGE_STASH
707         bool "Stash the boot timing information in memory before booting OS"
708         depends on BOOTSTAGE
709         help
710           Some OSes do not support device tree. Bootstage can instead write
711           the boot timing information in a binary format at a given address.
712           This happens through a call to bootstage_stash(), typically in
713           the CPU's cleanup_before_linux() function. You can use the
714           'bootstage stash' and 'bootstage unstash' commands to do this on
715           the command line.
716
717 config BOOTSTAGE_STASH_ADDR
718         hex "Address to stash boot timing information"
719         default 0
720         help
721           Provide an address which will not be overwritten by the OS when it
722           starts, so that it can read this information when ready.
723
724 config BOOTSTAGE_STASH_SIZE
725         hex "Size of boot timing stash region"
726         default 4096
727         help
728           This should be large enough to hold the bootstage stash. A value of
729           4096 (4KiB) is normally plenty.
730
731 endmenu
732
733 menu "Power commands"
734 config CMD_PMIC
735         bool "Enable Driver Model PMIC command"
736         depends on DM_PMIC
737         help
738           This is the pmic command, based on a driver model pmic's API.
739           Command features are unchanged:
740           - list               - list pmic devices
741           - pmic dev <id>      - show or [set] operating pmic device (NEW)
742           - pmic dump          - dump registers
743           - pmic read address  - read byte of register at address
744           - pmic write address - write byte to register at address
745           The only one change for this command is 'dev' subcommand.
746
747 config CMD_REGULATOR
748         bool "Enable Driver Model REGULATOR command"
749         depends on DM_REGULATOR
750         help
751           This command is based on driver model regulator's API.
752           User interface features:
753           - list               - list regulator devices
754           - regulator dev <id> - show or [set] operating regulator device
755           - regulator info     - print constraints info
756           - regulator status   - print operating status
757           - regulator value <val] <-f> - print/[set] voltage value [uV]
758           - regulator current <val>    - print/[set] current value [uA]
759           - regulator mode <id>        - print/[set] operating mode id
760           - regulator enable           - enable the regulator output
761           - regulator disable          - disable the regulator output
762
763           The '-f' (force) option can be used for set the value which exceeds
764           the limits, which are found in device-tree and are kept in regulator's
765           uclass platdata structure.
766
767 endmenu
768
769 menu "Security commands"
770 config CMD_TPM
771         bool "Enable the 'tpm' command"
772         depends on TPM
773         help
774           This provides a means to talk to a TPM from the command line. A wide
775           range of commands if provided - see 'tpm help' for details. The
776           command requires a suitable TPM on your board and the correct driver
777           must be enabled.
778
779 endmenu
780
781 endmenu
782
783 menu "Environment configuration settings"
784
785 choice
786         prompt "Select environment non-volatile storage"
787
788 config ENV_IS_NOWHERE
789         bool "do not store environment"
790
791 config ENV_IS_IN_NAND
792         bool "store environment in NAND"
793         depends on NAND
794
795 config ENV_IS_IN_MMC
796         bool "store environment in MMC"
797         depends on MMC
798
799 config ENV_IS_IN_SPI_FLASH
800         bool "store environment in SPI flash"
801
802 endchoice
803
804 endmenu
805
806 menu "Display configuration"
807
808 config LCD
809         bool "LCD support"
810
811 config DISPLAY_BOARDINFO
812         bool "Display board info"
813
814 endmenu