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