MSCC: add device tree for Serval pcb105 board
[platform/kernel/u-boot.git] / common / Kconfig
1 menu "Boot timing"
2
3 config BOOTSTAGE
4         bool "Boot timing and reporting"
5         help
6           Enable recording of boot time while booting. To use it, insert
7           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
8           bootstage.h. Only a single entry is recorded for each ID. You can
9           give the entry a name with bootstage_mark_name(). You can also
10           record elapsed time in a particular stage using bootstage_start()
11           before starting and bootstage_accum() when finished. Bootstage will
12           add up all the accumulated time and report it.
13
14           Normally, IDs are defined in bootstage.h but a small number of
15           additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC
16           as the ID.
17
18           Calls to show_boot_progress() will also result in log entries but
19           these will not have names.
20
21 config SPL_BOOTSTAGE
22         bool "Boot timing and reported in SPL"
23         depends on BOOTSTAGE
24         help
25           Enable recording of boot time in SPL. To make this visible to U-Boot
26           proper, enable BOOTSTAGE_STASH as well. This will stash the timing
27           information when SPL finishes and load it when U-Boot proper starts
28           up.
29
30 config TPL_BOOTSTAGE
31         bool "Boot timing and reported in TPL"
32         depends on BOOTSTAGE
33         help
34           Enable recording of boot time in SPL. To make this visible to U-Boot
35           proper, enable BOOTSTAGE_STASH as well. This will stash the timing
36           information when TPL finishes and load it when U-Boot proper starts
37           up.
38
39 config BOOTSTAGE_REPORT
40         bool "Display a detailed boot timing report before booting the OS"
41         depends on BOOTSTAGE
42         help
43           Enable output of a boot time report just before the OS is booted.
44           This shows how long it took U-Boot to go through each stage of the
45           boot process. The report looks something like this:
46
47                 Timer summary in microseconds:
48                        Mark    Elapsed  Stage
49                           0          0  reset
50                   3,575,678  3,575,678  board_init_f start
51                   3,575,695         17  arch_cpu_init A9
52                   3,575,777         82  arch_cpu_init done
53                   3,659,598     83,821  board_init_r start
54                   3,910,375    250,777  main_loop
55                  29,916,167 26,005,792  bootm_start
56                  30,361,327    445,160  start_kernel
57
58 config BOOTSTAGE_RECORD_COUNT
59         int "Number of boot stage records to store"
60         default 30
61         help
62           This is the size of the bootstage record list and is the maximum
63           number of bootstage records that can be recorded.
64
65 config SPL_BOOTSTAGE_RECORD_COUNT
66         int "Number of boot stage records to store for SPL"
67         default 5
68         help
69           This is the size of the bootstage record list and is the maximum
70           number of bootstage records that can be recorded.
71
72 config BOOTSTAGE_FDT
73         bool "Store boot timing information in the OS device tree"
74         depends on BOOTSTAGE
75         help
76           Stash the bootstage information in the FDT. A root 'bootstage'
77           node is created with each bootstage id as a child. Each child
78           has a 'name' property and either 'mark' containing the
79           mark time in microseconds, or 'accum' containing the
80           accumulated time for that bootstage id in microseconds.
81           For example:
82
83                 bootstage {
84                         154 {
85                                 name = "board_init_f";
86                                 mark = <3575678>;
87                         };
88                         170 {
89                                 name = "lcd";
90                                 accum = <33482>;
91                         };
92                 };
93
94           Code in the Linux kernel can find this in /proc/devicetree.
95
96 config BOOTSTAGE_STASH
97         bool "Stash the boot timing information in memory before booting OS"
98         depends on BOOTSTAGE
99         help
100           Some OSes do not support device tree. Bootstage can instead write
101           the boot timing information in a binary format at a given address.
102           This happens through a call to bootstage_stash(), typically in
103           the CPU's cleanup_before_linux() function. You can use the
104           'bootstage stash' and 'bootstage unstash' commands to do this on
105           the command line.
106
107 config BOOTSTAGE_STASH_ADDR
108         hex "Address to stash boot timing information"
109         default 0
110         help
111           Provide an address which will not be overwritten by the OS when it
112           starts, so that it can read this information when ready.
113
114 config BOOTSTAGE_STASH_SIZE
115         hex "Size of boot timing stash region"
116         default 0x1000
117         help
118           This should be large enough to hold the bootstage stash. A value of
119           4096 (4KiB) is normally plenty.
120
121 endmenu
122
123 menu "Boot media"
124
125 config NOR_BOOT
126         bool "Support for booting from NOR flash"
127         depends on NOR
128         help
129           Enabling this will make a U-Boot binary that is capable of being
130           booted via NOR.  In this case we will enable certain pinmux early
131           as the ROM only partially sets up pinmux.  We also default to using
132           NOR for environment.
133
134 config NAND_BOOT
135         bool "Support for booting from NAND flash"
136         default n
137         imply NAND
138         help
139           Enabling this will make a U-Boot binary that is capable of being
140           booted via NAND flash. This is not a must, some SoCs need this,
141           some not.
142
143 config ONENAND_BOOT
144         bool "Support for booting from ONENAND"
145         default n
146         imply NAND
147         help
148           Enabling this will make a U-Boot binary that is capable of being
149           booted via ONENAND. This is not a must, some SoCs need this,
150           some not.
151
152 config QSPI_BOOT
153         bool "Support for booting from QSPI flash"
154         default n
155         help
156           Enabling this will make a U-Boot binary that is capable of being
157           booted via QSPI flash. This is not a must, some SoCs need this,
158           some not.
159
160 config SATA_BOOT
161         bool "Support for booting from SATA"
162         default n
163         help
164           Enabling this will make a U-Boot binary that is capable of being
165           booted via SATA. This is not a must, some SoCs need this,
166           some not.
167
168 config SD_BOOT
169         bool "Support for booting from SD/EMMC"
170         default n
171         help
172           Enabling this will make a U-Boot binary that is capable of being
173           booted via SD/EMMC. This is not a must, some SoCs need this,
174           some not.
175
176 config SPI_BOOT
177         bool "Support for booting from SPI flash"
178         default n
179         help
180           Enabling this will make a U-Boot binary that is capable of being
181           booted via SPI flash. This is not a must, some SoCs need this,
182           some not.
183
184 endmenu
185
186 config BOOTDELAY
187         int "delay in seconds before automatically booting"
188         default 2
189         depends on AUTOBOOT
190         help
191           Delay before automatically running bootcmd;
192           set to 0 to autoboot with no delay, but you can stop it by key input.
193           set to -1 to disable autoboot.
194           set to -2 to autoboot with no delay and not check for abort
195
196           If this value is >= 0 then it is also used for the default delay
197           before starting the default entry in bootmenu. If it is < 0 then
198           a default value of 10s is used.
199
200           See doc/README.autoboot for details.
201
202 config USE_BOOTARGS
203         bool "Enable boot arguments"
204         help
205           Provide boot arguments to bootm command. Boot arguments are specified
206           in CONFIG_BOOTARGS option. Enable this option to be able to specify
207           CONFIG_BOOTARGS string. If this option is disabled, CONFIG_BOOTARGS
208           will be undefined and won't take any space in U-Boot image.
209
210 config BOOTARGS
211         string "Boot arguments"
212         depends on USE_BOOTARGS
213         help
214           This can be used to pass arguments to the bootm command. The value of
215           CONFIG_BOOTARGS goes into the environment value "bootargs". Note that
216           this value will also override the "chosen" node in FDT blob.
217
218 config USE_BOOTCOMMAND
219         bool "Enable a default value for bootcmd"
220         help
221           Provide a default value for the bootcmd entry in the environment.  If
222           autoboot is enabled this is what will be run automatically.  Enable
223           this option to be able to specify CONFIG_BOOTCOMMAND as a string.  If
224           this option is disabled, CONFIG_BOOTCOMMAND will be undefined and
225           won't take any space in U-Boot image.
226
227 config BOOTCOMMAND
228         string "bootcmd value"
229         depends on USE_BOOTCOMMAND
230         default "run distro_bootcmd" if DISTRO_DEFAULTS
231         help
232           This is the string of commands that will be used as bootcmd and if
233           AUTOBOOT is set, automatically run.
234
235 menu "Console"
236
237 config MENU
238         bool
239         help
240           This is the library functionality to provide a text-based menu of
241           choices for the user to make choices with.
242
243 config CONSOLE_RECORD
244         bool "Console recording"
245         help
246           This provides a way to record console output (and provide console
247           input) through circular buffers. This is mostly useful for testing.
248           Console output is recorded even when the console is silent.
249           To enable console recording, call console_record_reset_enable()
250           from your code.
251
252 config CONSOLE_RECORD_OUT_SIZE
253         hex "Output buffer size"
254         depends on CONSOLE_RECORD
255         default 0x400 if CONSOLE_RECORD
256         help
257           Set the size of the console output buffer. When this fills up, no
258           more data will be recorded until some is removed. The buffer is
259           allocated immediately after the malloc() region is ready.
260
261 config CONSOLE_RECORD_IN_SIZE
262         hex "Input buffer size"
263         depends on CONSOLE_RECORD
264         default 0x100 if CONSOLE_RECORD
265         help
266           Set the size of the console input buffer. When this contains data,
267           tstc() and getc() will use this in preference to real device input.
268           The buffer is allocated immediately after the malloc() region is
269           ready.
270
271 config DISABLE_CONSOLE
272         bool "Add functionality to disable console completely"
273         help
274                 Disable console (in & out).
275
276 config IDENT_STRING
277         string "Board specific string to be added to uboot version string"
278         help
279           This options adds the board specific name to u-boot version.
280
281 config LOGLEVEL
282         int "loglevel"
283         default 4
284         range 0 8
285         help
286           All Messages with a loglevel smaller than the console loglevel will
287           be compiled in. The loglevels are defined as follows:
288
289           0 (KERN_EMERG)          system is unusable
290           1 (KERN_ALERT)          action must be taken immediately
291           2 (KERN_CRIT)           critical conditions
292           3 (KERN_ERR)            error conditions
293           4 (KERN_WARNING)        warning conditions
294           5 (KERN_NOTICE)         normal but significant condition
295           6 (KERN_INFO)           informational
296           7 (KERN_DEBUG)          debug-level messages
297
298 config SPL_LOGLEVEL
299         int
300         default LOGLEVEL
301
302 config TPL_LOGLEVEL
303         int
304         default LOGLEVEL
305
306 config SILENT_CONSOLE
307         bool "Support a silent console"
308         help
309           This option allows the console to be silenced, meaning that no
310           output will appear on the console devices. This is controlled by
311           setting the environment variable 'silent' to a non-empty value.
312           Note this also silences the console when booting Linux.
313
314           When the console is set up, the variable is checked, and the
315           GD_FLG_SILENT flag is set. Changing the environment variable later
316           will update the flag.
317
318 config SILENT_U_BOOT_ONLY
319         bool "Only silence the U-Boot console"
320         depends on SILENT_CONSOLE
321         help
322           Normally when the U-Boot console is silenced, Linux's console is
323           also silenced (assuming the board boots into Linux). This option
324           allows the linux console to operate normally, even if U-Boot's
325           is silenced.
326
327 config SILENT_CONSOLE_UPDATE_ON_SET
328         bool "Changes to the 'silent' environment variable update immediately"
329         depends on SILENT_CONSOLE
330         default y if SILENT_CONSOLE
331         help
332           When the 'silent' environment variable is changed, update the
333           console silence flag immediately. This allows 'setenv' to be used
334           to silence or un-silence the console.
335
336           The effect is that any change to the variable will affect the
337           GD_FLG_SILENT flag.
338
339 config SILENT_CONSOLE_UPDATE_ON_RELOC
340         bool "Allow flags to take effect on relocation"
341         depends on SILENT_CONSOLE
342         help
343           In some cases the environment is not available until relocation
344           (e.g. NAND). This option makes the value of the 'silent'
345           environment variable take effect at relocation.
346
347 config PRE_CONSOLE_BUFFER
348         bool "Buffer characters before the console is available"
349         help
350           Prior to the console being initialised (i.e. serial UART
351           initialised etc) all console output is silently discarded.
352           Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
353           buffer any console messages prior to the console being
354           initialised to a buffer. The buffer is a circular buffer, so
355           if it overflows, earlier output is discarded.
356
357           Note that this is not currently supported in SPL. It would be
358           useful to be able to share the pre-console buffer with SPL.
359
360 config PRE_CON_BUF_SZ
361         int "Sets the size of the pre-console buffer"
362         depends on PRE_CONSOLE_BUFFER
363         default 4096
364         help
365           The size of the pre-console buffer affects how much console output
366           can be held before it overflows and starts discarding earlier
367           output. Normally there is very little output at this early stage,
368           unless debugging is enabled, so allow enough for ~10 lines of
369           text.
370
371           This is a useful feature if you are using a video console and
372           want to see the full boot output on the console. Without this
373           option only the post-relocation output will be displayed.
374
375 config PRE_CON_BUF_ADDR
376         hex "Address of the pre-console buffer"
377         depends on PRE_CONSOLE_BUFFER
378         default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
379         default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
380         help
381           This sets the start address of the pre-console buffer. This must
382           be in available memory and is accessed before relocation and
383           possibly before DRAM is set up. Therefore choose an address
384           carefully.
385
386           We should consider removing this option and allocating the memory
387           in board_init_f_init_reserve() instead.
388
389 config CONSOLE_MUX
390         bool "Enable console multiplexing"
391         default y if DM_VIDEO || VIDEO || LCD
392         help
393           This allows multiple devices to be used for each console 'file'.
394           For example, stdout can be set to go to serial and video.
395           Similarly, stdin can be set to come from serial and keyboard.
396           Input can be provided from either source. Console multiplexing
397           adds a small amount of size to U-Boot.  Changes to the environment
398           variables stdout, stdin and stderr will take effect immediately.
399
400 config SYS_CONSOLE_IS_IN_ENV
401         bool "Select console devices from the environment"
402         default y if CONSOLE_MUX
403         help
404           This allows multiple input/output devices to be set at boot time.
405           For example, if stdout is set to "serial,video" then output will
406           be sent to both the serial and video devices on boot. The
407           environment variables can be updated after boot to change the
408           input/output devices.
409
410 config SYS_CONSOLE_OVERWRITE_ROUTINE
411         bool "Allow board control over console overwriting"
412         help
413           If this is enabled, and the board-specific function
414           overwrite_console() returns 1, the stdin, stderr and stdout are
415           switched to the serial port, else the settings in the environment
416           are used. If this is not enabled, the console will not be switched
417           to serial.
418
419 config SYS_CONSOLE_ENV_OVERWRITE
420         bool "Update environment variables during console init"
421         help
422           The console environment variables (stdout, stdin, stderr) can be
423           used to determine the correct console devices on start-up. This
424           option writes the console devices to these variables on console
425           start-up (after relocation). This causes the environment to be
426           updated to match the console devices actually chosen.
427
428 config SYS_CONSOLE_INFO_QUIET
429         bool "Don't display the console devices on boot"
430         help
431           Normally U-Boot displays the current settings for stdout, stdin
432           and stderr on boot when the post-relocation console is set up.
433           Enable this option to suppress this output. It can be obtained by
434           calling stdio_print_current_devices() from board code.
435
436 config SYS_STDIO_DEREGISTER
437         bool "Allow deregistering stdio devices"
438         default y if USB_KEYBOARD
439         help
440           Generally there is no need to deregister stdio devices since they
441           are never deactivated. But if a stdio device is used which can be
442           removed (for example a USB keyboard) then this option can be
443           enabled to ensure this is handled correctly.
444
445 endmenu
446
447 menu "Logging"
448
449 config LOG
450         bool "Enable logging support"
451         depends on DM
452         help
453           This enables support for logging of status and debug messages. These
454           can be displayed on the console, recorded in a memory buffer, or
455           discarded if not needed. Logging supports various categories and
456           levels of severity.
457
458 config SPL_LOG
459         bool "Enable logging support in SPL"
460         depends on LOG
461         help
462           This enables support for logging of status and debug messages. These
463           can be displayed on the console, recorded in a memory buffer, or
464           discarded if not needed. Logging supports various categories and
465           levels of severity.
466
467 config TPL_LOG
468         bool "Enable logging support in TPL"
469         depends on LOG
470         help
471           This enables support for logging of status and debug messages. These
472           can be displayed on the console, recorded in a memory buffer, or
473           discarded if not needed. Logging supports various categories and
474           levels of severity.
475
476 config LOG_MAX_LEVEL
477         int "Maximum log level to record"
478         depends on LOG
479         default 5
480         help
481           This selects the maximum log level that will be recorded. Any value
482           higher than this will be ignored. If possible log statements below
483           this level will be discarded at build time. Levels:
484
485             0 - panic
486             1 - critical
487             2 - error
488             3 - warning
489             4 - note
490             5 - info
491             6 - detail
492             7 - debug
493
494 config SPL_LOG_MAX_LEVEL
495         int "Maximum log level to record in SPL"
496         depends on SPL_LOG
497         default 3
498         help
499           This selects the maximum log level that will be recorded. Any value
500           higher than this will be ignored. If possible log statements below
501           this level will be discarded at build time. Levels:
502
503             0 - panic
504             1 - critical
505             2 - error
506             3 - warning
507             4 - note
508             5 - info
509             6 - detail
510             7 - debug
511
512 config TPL_LOG_MAX_LEVEL
513         int "Maximum log level to record in TPL"
514         depends on TPL_LOG
515         default 3
516         help
517           This selects the maximum log level that will be recorded. Any value
518           higher than this will be ignored. If possible log statements below
519           this level will be discarded at build time. Levels:
520
521             0 - panic
522             1 - critical
523             2 - error
524             3 - warning
525             4 - note
526             5 - info
527             6 - detail
528             7 - debug
529
530 config LOG_CONSOLE
531         bool "Allow log output to the console"
532         depends on LOG
533         default y
534         help
535           Enables a log driver which writes log records to the console.
536           Generally the console is the serial port or LCD display. Only the
537           log message is shown - other details like level, category, file and
538           line number are omitted.
539
540 config SPL_LOG_CONSOLE
541         bool "Allow log output to the console in SPL"
542         depends on SPL_LOG
543         default y
544         help
545           Enables a log driver which writes log records to the console.
546           Generally the console is the serial port or LCD display. Only the
547           log message is shown - other details like level, category, file and
548           line number are omitted.
549
550 config TPL_LOG_CONSOLE
551         bool "Allow log output to the console in SPL"
552         depends on TPL_LOG
553         default y
554         help
555           Enables a log driver which writes log records to the console.
556           Generally the console is the serial port or LCD display. Only the
557           log message is shown - other details like level, category, file and
558           line number are omitted.
559
560 config LOG_TEST
561         bool "Provide a test for logging"
562         depends on LOG
563         default y if SANDBOX
564         help
565           This enables a 'log test' command to test logging. It is normally
566           executed from a pytest and simply outputs logging information
567           in various different ways to test that the logging system works
568           correctly with various settings.
569
570 config LOG_ERROR_RETURN
571         bool "Log all functions which return an error"
572         depends on LOG
573         help
574           When an error is returned in U-Boot it is sometimes difficult to
575           figure out the root cause. For example, reading from SPI flash may
576           fail due to a problem in the SPI controller or due to the flash part
577           not returning the expected information. This option changes
578           log_ret() to log any errors it sees. With this option disabled,
579           log_ret() is a nop.
580
581           You can add log_ret() to all functions which return an error code.
582
583 endmenu
584
585 config SUPPORT_RAW_INITRD
586         bool "Enable raw initrd images"
587         help
588           Note, defining the SUPPORT_RAW_INITRD allows user to supply
589           kernel with raw initrd images. The syntax is slightly different, the
590           address of the initrd must be augmented by it's size, in the following
591           format: "<initrd address>:<initrd size>".
592
593 config DEFAULT_FDT_FILE
594         string "Default fdt file"
595         help
596           This option is used to set the default fdt file to boot OS.
597
598 config MISC_INIT_R
599         bool "Execute Misc Init"
600         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
601         default y if ARCH_OMAP2PLUS && !AM33XX
602         help
603           Enabling this option calls 'misc_init_r' function
604
605 config VERSION_VARIABLE
606         bool "add U-Boot environment variable vers"
607         default n
608         help
609           If this variable is defined, an environment variable
610           named "ver" is created by U-Boot showing the U-Boot
611           version as printed by the "version" command.
612           Any change to this variable will be reverted at the
613           next reset.
614
615 config BOARD_LATE_INIT
616         bool "Execute Board late init"
617         help
618           Sometimes board require some initialization code that might
619           require once the actual init done, example saving board specific env,
620           boot-modes etc. which eventually done at late.
621
622           So this config enable the late init code with the help of board_late_init
623           function which should defined on respective boards.
624
625 config DISPLAY_CPUINFO
626         bool "Display information about the CPU during start up"
627         default y if ARC|| ARM || NIOS2 || X86 || XTENSA || M68K
628         help
629           Display information about the CPU that U-Boot is running on
630           when U-Boot starts up. The function print_cpuinfo() is called
631           to do this.
632
633 config DISPLAY_BOARDINFO
634         bool "Display information about the board during early start up"
635         default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
636         help
637           Display information about the board that U-Boot is running on
638           when U-Boot starts up. The board function checkboard() is called
639           to do this.
640
641 config DISPLAY_BOARDINFO_LATE
642         bool "Display information about the board during late start up"
643         help
644           Display information about the board that U-Boot is running on after
645           the relocation phase. The board function checkboard() is called to do
646           this.
647
648 config BOUNCE_BUFFER
649         bool "Include bounce buffer API"
650         help
651           Some peripherals support DMA from a subset of physically
652           addressable memory only.  To support such peripherals, the
653           bounce buffer API uses a temporary buffer: it copies data
654           to/from DMA regions while managing cache operations.
655
656           A second possible use of bounce buffers is their ability to
657           provide aligned buffers for DMA operations.
658
659 menu "Start-up hooks"
660
661 config ARCH_EARLY_INIT_R
662         bool "Call arch-specific init soon after relocation"
663         help
664           With this option U-Boot will call arch_early_init_r() soon after
665           relocation. Driver model is running by this point, and the cache
666           is on. Note that board_early_init_r() is called first, if
667           enabled. This can be used to set up architecture-specific devices.
668
669 config ARCH_MISC_INIT
670         bool "Call arch-specific init after relocation, when console is ready"
671         help
672           With this option U-Boot will call arch_misc_init() after
673           relocation to allow miscellaneous arch-dependent initialisation
674           to be performed. This function should be defined by the board
675           and will be called after the console is set up, after relocation.
676
677 config BOARD_EARLY_INIT_F
678         bool "Call board-specific init before relocation"
679         help
680           Some boards need to perform initialisation as soon as possible
681           after boot. With this option, U-Boot calls board_early_init_f()
682           after driver model is ready in the pre-relocation init sequence.
683           Note that the normal serial console is not yet set up, but the
684           debug UART will be available if enabled.
685
686 config BOARD_EARLY_INIT_R
687         bool "Call board-specific init after relocation"
688         help
689           Some boards need to perform initialisation as directly after
690           relocation. With this option, U-Boot calls board_early_init_r()
691           in the post-relocation init sequence.
692
693 config LAST_STAGE_INIT
694         bool "Call board-specific as last setup step"
695         help
696           Some boards need to perform initialisation immediately before control
697           is passed to the command-line interpreter (e.g. for initializations
698           that depend on later phases in the init sequence). With this option,
699           U-Boot calls last_stage_init() before the command-line interpreter is
700           started.
701
702 endmenu
703
704 menu "Security support"
705
706 config HASH
707         bool # "Support hashing API (SHA1, SHA256, etc.)"
708         help
709           This provides a way to hash data in memory using various supported
710           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
711           and the algorithms it supports are defined in common/hash.c. See
712           also CMD_HASH for command-line access.
713
714 config AVB_VERIFY
715         bool "Build Android Verified Boot operations"
716         depends on LIBAVB && FASTBOOT
717         depends on PARTITION_UUIDS
718         help
719           This option enables compilation of bootloader-dependent operations,
720           used by Android Verified Boot 2.0 library (libavb). Includes:
721             * Helpers to process strings in order to build OS bootargs.
722             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
723             * Helpers to alloc/init/free avb ops.
724
725 config SPL_HASH
726         bool # "Support hashing API (SHA1, SHA256, etc.)"
727         help
728           This provides a way to hash data in memory using various supported
729           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
730           and the algorithms it supports are defined in common/hash.c. See
731           also CMD_HASH for command-line access.
732
733 config TPL_HASH
734         bool # "Support hashing API (SHA1, SHA256, etc.)"
735         help
736           This provides a way to hash data in memory using various supported
737           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
738           and the algorithms it supports are defined in common/hash.c. See
739           also CMD_HASH for command-line access.
740
741 endmenu
742
743 menu "Update support"
744
745 config UPDATE_TFTP
746         bool "Auto-update using fitImage via TFTP"
747         depends on FIT
748         help
749           This option allows performing update of NOR with data in fitImage
750           sent via TFTP boot.
751
752 config UPDATE_TFTP_CNT_MAX
753         int "The number of connection retries during auto-update"
754         default 0
755         depends on UPDATE_TFTP
756
757 config UPDATE_TFTP_MSEC_MAX
758         int "Delay in mSec to wait for the TFTP server during auto-update"
759         default 100
760         depends on UPDATE_TFTP
761
762 endmenu
763
764 menu "Blob list"
765
766 config BLOBLIST
767         bool "Support for a bloblist"
768         help
769           This enables support for a bloblist in U-Boot, which can be passed
770           from TPL to SPL to U-Boot proper (and potentially to Linux). The
771           blob list supports multiple binary blobs of data, each with a tag,
772           so that different U-Boot components can store data which can survive
773           through to the next stage of the boot.
774
775 config SPL_BLOBLIST
776         bool "Support for a bloblist in SPL"
777         depends on BLOBLIST
778         default y if SPL
779         help
780           This enables a bloblist in SPL. If this is the first part of U-Boot
781           to run, then the bloblist is set up in SPL and passed to U-Boot
782           proper. If TPL also has a bloblist, then SPL uses the one from there.
783
784 config TPL_BLOBLIST
785         bool "Support for a bloblist in TPL"
786         depends on BLOBLIST
787         default y if TPL
788         help
789           This enables a bloblist in TPL. The bloblist is set up in TPL and
790           passed to SPL and U-Boot proper.
791
792 config BLOBLIST_SIZE
793         hex "Size of bloblist"
794         depends on BLOBLIST
795         default 0x400
796         help
797           Sets the size of the bloblist in bytes. This must include all
798           overhead (alignment, bloblist header, record header). The bloblist
799           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
800           proper), and this sane bloblist is used for subsequent stages.
801
802 config BLOBLIST_ADDR
803         hex "Address of bloblist"
804         depends on BLOBLIST
805         default 0xe000 if SANDBOX
806         help
807           Sets the address of the bloblist, set up by the first part of U-Boot
808           which runs. Subsequent U-Boot stages typically use the same address.
809
810 endmenu
811
812 source "common/spl/Kconfig"