Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-net
[platform/kernel/u-boot.git] / common / Kconfig
1 menu "Console"
2
3 config MENU
4         bool
5         help
6           This is the library functionality to provide a text-based menu of
7           choices for the user to make choices with.
8
9 config CONSOLE_RECORD
10         bool "Console recording"
11         help
12           This provides a way to record console output (and provide console
13           input) through circular buffers. This is mostly useful for testing.
14           Console output is recorded even when the console is silent.
15           To enable console recording, call console_record_reset_enable()
16           from your code.
17
18 config CONSOLE_RECORD_INIT_F
19         bool "Enable console recording during pre-relocation init"
20         depends on CONSOLE_RECORD && SYS_MALLOC_F
21         default y
22         help
23           This option enables console recording during pre-relocation init.
24           CONFIG_SYS_MALLOC_F must be enabled to use this feature.
25
26 config CONSOLE_RECORD_OUT_SIZE
27         hex "Output buffer size"
28         depends on CONSOLE_RECORD
29         default 0x400 if CONSOLE_RECORD
30         help
31           Set the size of the console output buffer. When this fills up, no
32           more data will be recorded until some is removed. The buffer is
33           allocated immediately after the malloc() region is ready.
34
35 config CONSOLE_RECORD_OUT_SIZE_F
36         hex "Output buffer size before relocation"
37         depends on CONSOLE_RECORD
38         default 0x400 if CONSOLE_RECORD
39         help
40           Set the size of the console output buffer before relocation. When
41           this fills up, no more data will be recorded until some is removed.
42           The buffer is allocated immediately after the early malloc() region is
43           ready.
44
45 config CONSOLE_RECORD_IN_SIZE
46         hex "Input buffer size"
47         depends on CONSOLE_RECORD
48         default 0x100 if CONSOLE_RECORD
49         help
50           Set the size of the console input buffer. When this contains data,
51           tstc() and getc() will use this in preference to real device input.
52           The buffer is allocated immediately after the malloc() region is
53           ready.
54
55 config DISABLE_CONSOLE
56         bool "Add functionality to disable console completely"
57         help
58                 Disable console (in & out).
59
60 config IDENT_STRING
61         string "Board specific string to be added to uboot version string"
62         help
63           This options adds the board specific name to u-boot version.
64
65 config LOGLEVEL
66         int "loglevel"
67         default 4
68         range 0 10
69         help
70           All Messages with a loglevel smaller than the console loglevel will
71           be compiled in. The loglevels are defined as follows:
72
73             0 - emergency
74             1 - alert
75             2 - critical
76             3 - error
77             4 - warning
78             5 - note
79             6 - info
80             7 - debug
81             8 - debug content
82             9 - debug hardware I/O
83
84 config SPL_LOGLEVEL
85         int
86         default LOGLEVEL
87
88 config TPL_LOGLEVEL
89         int
90         default LOGLEVEL
91
92 config SILENT_CONSOLE
93         bool "Support a silent console"
94         help
95           This option allows the console to be silenced, meaning that no
96           output will appear on the console devices. This is controlled by
97           setting the environment variable 'silent' to a non-empty value.
98           Note this also silences the console when booting Linux.
99
100           When the console is set up, the variable is checked, and the
101           GD_FLG_SILENT flag is set. Changing the environment variable later
102           will update the flag.
103
104 config SILENT_U_BOOT_ONLY
105         bool "Only silence the U-Boot console"
106         depends on SILENT_CONSOLE
107         help
108           Normally when the U-Boot console is silenced, Linux's console is
109           also silenced (assuming the board boots into Linux). This option
110           allows the linux console to operate normally, even if U-Boot's
111           is silenced.
112
113 config SILENT_CONSOLE_UPDATE_ON_SET
114         bool "Changes to the 'silent' environment variable update immediately"
115         depends on SILENT_CONSOLE
116         default y if SILENT_CONSOLE
117         help
118           When the 'silent' environment variable is changed, update the
119           console silence flag immediately. This allows 'setenv' to be used
120           to silence or un-silence the console.
121
122           The effect is that any change to the variable will affect the
123           GD_FLG_SILENT flag.
124
125 config SILENT_CONSOLE_UPDATE_ON_RELOC
126         bool "Allow flags to take effect on relocation"
127         depends on SILENT_CONSOLE
128         help
129           In some cases the environment is not available until relocation
130           (e.g. NAND). This option makes the value of the 'silent'
131           environment variable take effect at relocation.
132
133 config PRE_CONSOLE_BUFFER
134         bool "Buffer characters before the console is available"
135         help
136           Prior to the console being initialised (i.e. serial UART
137           initialised etc) all console output is silently discarded.
138           Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
139           buffer any console messages prior to the console being
140           initialised to a buffer. The buffer is a circular buffer, so
141           if it overflows, earlier output is discarded.
142
143           Note that this is not currently supported in SPL. It would be
144           useful to be able to share the pre-console buffer with SPL.
145
146 config PRE_CON_BUF_SZ
147         int "Sets the size of the pre-console buffer"
148         depends on PRE_CONSOLE_BUFFER
149         default 4096
150         help
151           The size of the pre-console buffer affects how much console output
152           can be held before it overflows and starts discarding earlier
153           output. Normally there is very little output at this early stage,
154           unless debugging is enabled, so allow enough for ~10 lines of
155           text.
156
157           This is a useful feature if you are using a video console and
158           want to see the full boot output on the console. Without this
159           option only the post-relocation output will be displayed.
160
161 config PRE_CON_BUF_ADDR
162         hex "Address of the pre-console buffer"
163         depends on PRE_CONSOLE_BUFFER
164         default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
165         default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
166         default 0x0f000000 if ROCKCHIP_RK3288
167         default 0x0f200000 if ROCKCHIP_RK3399
168         help
169           This sets the start address of the pre-console buffer. This must
170           be in available memory and is accessed before relocation and
171           possibly before DRAM is set up. Therefore choose an address
172           carefully.
173
174           We should consider removing this option and allocating the memory
175           in board_init_f_init_reserve() instead.
176
177 config CONSOLE_MUX
178         bool "Enable console multiplexing"
179         default y if DM_VIDEO || VIDEO || LCD
180         help
181           This allows multiple devices to be used for each console 'file'.
182           For example, stdout can be set to go to serial and video.
183           Similarly, stdin can be set to come from serial and keyboard.
184           Input can be provided from either source. Console multiplexing
185           adds a small amount of size to U-Boot.  Changes to the environment
186           variables stdout, stdin and stderr will take effect immediately.
187
188 config SYS_CONSOLE_IS_IN_ENV
189         bool "Select console devices from the environment"
190         default y if CONSOLE_MUX
191         help
192           This allows multiple input/output devices to be set at boot time.
193           For example, if stdout is set to "serial,vidconsole" then output
194           will be sent to both the serial and video devices on boot. The
195           environment variables can be updated after boot to change the
196           input/output devices.
197
198 config SYS_CONSOLE_OVERWRITE_ROUTINE
199         bool "Allow board control over console overwriting"
200         help
201           If this is enabled, and the board-specific function
202           overwrite_console() returns 1, the stdin, stderr and stdout are
203           switched to the serial port, else the settings in the environment
204           are used. If this is not enabled, the console will not be switched
205           to serial.
206
207 config SYS_CONSOLE_ENV_OVERWRITE
208         bool "Update environment variables during console init"
209         help
210           The console environment variables (stdout, stdin, stderr) can be
211           used to determine the correct console devices on start-up. This
212           option writes the console devices to these variables on console
213           start-up (after relocation). This causes the environment to be
214           updated to match the console devices actually chosen.
215
216 config SYS_CONSOLE_INFO_QUIET
217         bool "Don't display the console devices on boot"
218         help
219           Normally U-Boot displays the current settings for stdout, stdin
220           and stderr on boot when the post-relocation console is set up.
221           Enable this option to suppress this output. It can be obtained by
222           calling stdio_print_current_devices() from board code.
223
224 config SYS_STDIO_DEREGISTER
225         bool "Allow deregistering stdio devices"
226         default y if USB_KEYBOARD
227         help
228           Generally there is no need to deregister stdio devices since they
229           are never deactivated. But if a stdio device is used which can be
230           removed (for example a USB keyboard) then this option can be
231           enabled to ensure this is handled correctly.
232
233 config SPL_SYS_STDIO_DEREGISTER
234         bool "Allow deregistering stdio devices in SPL"
235         help
236           Generally there is no need to deregister stdio devices since they
237           are never deactivated. But if a stdio device is used which can be
238           removed (for example a USB keyboard) then this option can be
239           enabled to ensure this is handled correctly. This is very rarely
240           needed in SPL.
241
242 config SYS_DEVICE_NULLDEV
243         bool "Enable a null device for stdio"
244         default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
245         help
246           Enable creation of a "nulldev" stdio device. This allows silent
247           operation of the console by setting stdout to "nulldev". Enable
248           this to use a serial console under board control.
249
250 endmenu
251
252 menu "Logging"
253
254 config LOG
255         bool "Enable logging support"
256         depends on DM
257         help
258           This enables support for logging of status and debug messages. These
259           can be displayed on the console, recorded in a memory buffer, or
260           discarded if not needed. Logging supports various categories and
261           levels of severity.
262
263 if LOG
264
265 config LOG_MAX_LEVEL
266         int "Maximum log level to record"
267         default 6
268         range 0 9
269         help
270           This selects the maximum log level that will be recorded. Any value
271           higher than this will be ignored. If possible log statements below
272           this level will be discarded at build time. Levels:
273
274             0 - emergency
275             1 - alert
276             2 - critical
277             3 - error
278             4 - warning
279             5 - note
280             6 - info
281             7 - debug
282             8 - debug content
283             9 - debug hardware I/O
284
285 config LOG_DEFAULT_LEVEL
286         int "Default logging level to display"
287         default LOG_MAX_LEVEL
288         range 0 LOG_MAX_LEVEL
289         help
290           This is the default logging level set when U-Boot starts. It can
291           be adjusted later using the 'log level' command. Note that setting
292           this to a value above LOG_MAX_LEVEL will be ineffective, since the
293           higher levels are not compiled in to U-Boot.
294
295             0 - emergency
296             1 - alert
297             2 - critical
298             3 - error
299             4 - warning
300             5 - note
301             6 - info
302             7 - debug
303             8 - debug content
304             9 - debug hardware I/O
305
306 config LOG_CONSOLE
307         bool "Allow log output to the console"
308         default y
309         help
310           Enables a log driver which writes log records to the console.
311           Generally the console is the serial port or LCD display. Only the
312           log message is shown - other details like level, category, file and
313           line number are omitted.
314
315 config LOGF_FILE
316         bool "Show source file name in log messages by default"
317         help
318           Show the source file name in log messages by default. This value
319           can be overridden using the 'log format' command.
320
321 config LOGF_LINE
322         bool "Show source line number in log messages by default"
323         help
324           Show the source line number in log messages by default. This value
325           can be overridden using the 'log format' command.
326
327 config LOGF_FUNC
328         bool "Show function name in log messages by default"
329         help
330           Show the function name in log messages by default. This value can
331           be overridden using the 'log format' command.
332
333 config LOGF_FUNC_PAD
334         int "Number of characters to use for function"
335         default 20
336         help
337           Sets the field width to use when showing the function. Set this to
338           a larger value if you have lots of long function names, and want
339           things to line up.
340
341 config LOG_SYSLOG
342         bool "Log output to syslog server"
343         depends on NET
344         help
345           Enables a log driver which broadcasts log records via UDP port 514
346           to syslog servers.
347
348 config SPL_LOG
349         bool "Enable logging support in SPL"
350         depends on LOG
351         help
352           This enables support for logging of status and debug messages. These
353           can be displayed on the console, recorded in a memory buffer, or
354           discarded if not needed. Logging supports various categories and
355           levels of severity.
356
357 if SPL_LOG
358
359 config SPL_LOG_MAX_LEVEL
360         int "Maximum log level to record in SPL"
361         depends on SPL_LOG
362         default 3
363         range 0 9
364         help
365           This selects the maximum log level that will be recorded. Any value
366           higher than this will be ignored. If possible log statements below
367           this level will be discarded at build time. Levels:
368
369             0 - emergency
370             1 - alert
371             2 - critical
372             3 - error
373             4 - warning
374             5 - note
375             6 - info
376             7 - debug
377             8 - debug content
378             9 - debug hardware I/O
379
380 config SPL_LOG_CONSOLE
381         bool "Allow log output to the console in SPL"
382         default y
383         help
384           Enables a log driver which writes log records to the console.
385           Generally the console is the serial port or LCD display. Only the
386           log message is shown - other details like level, category, file and
387           line number are omitted.
388
389 endif
390
391 config TPL_LOG
392         bool "Enable logging support in TPL"
393         depends on LOG
394         help
395           This enables support for logging of status and debug messages. These
396           can be displayed on the console, recorded in a memory buffer, or
397           discarded if not needed. Logging supports various categories and
398           levels of severity.
399
400 if TPL_LOG
401
402 config TPL_LOG_MAX_LEVEL
403         int "Maximum log level to record in TPL"
404         depends on TPL_LOG
405         default 3
406         range 0 9
407         help
408           This selects the maximum log level that will be recorded. Any value
409           higher than this will be ignored. If possible log statements below
410           this level will be discarded at build time. Levels:
411
412             0 - emergency
413             1 - alert
414             2 - critical
415             3 - error
416             4 - warning
417             5 - note
418             6 - info
419             7 - debug
420             8 - debug content
421             9 - debug hardware I/O
422
423 config TPL_LOG_CONSOLE
424         bool "Allow log output to the console in TPL"
425         default y
426         help
427           Enables a log driver which writes log records to the console.
428           Generally the console is the serial port or LCD display. Only the
429           log message is shown - other details like level, category, file and
430           line number are omitted.
431
432 endif
433
434 config LOG_ERROR_RETURN
435         bool "Log all functions which return an error"
436         help
437           When an error is returned in U-Boot it is sometimes difficult to
438           figure out the root cause. For example, reading from SPI flash may
439           fail due to a problem in the SPI controller or due to the flash part
440           not returning the expected information. This option changes
441           log_ret() to log any errors it sees. With this option disabled,
442           log_ret() is a nop.
443
444           You can add log_ret() to all functions which return an error code.
445
446 config LOG_TEST
447         bool "Provide a test for logging"
448         depends on UNIT_TEST
449         default y if SANDBOX
450         help
451           This enables a 'log test' command to test logging. It is normally
452           executed from a pytest and simply outputs logging information
453           in various different ways to test that the logging system works
454           correctly with various settings.
455
456 endif
457
458 endmenu
459
460 menu "Init options"
461
462 config BOARD_TYPES
463         bool "Call get_board_type() to get and display the board type"
464         help
465           If this option is enabled, checkboard() will call get_board_type()
466           to get a string containing the board type and this will be
467           displayed immediately after the model is shown on the console
468           early in boot.
469
470 config DISPLAY_CPUINFO
471         bool "Display information about the CPU during start up"
472         default y if ARC|| ARM || NIOS2 || X86 || XTENSA || M68K
473         help
474           Display information about the CPU that U-Boot is running on
475           when U-Boot starts up. The function print_cpuinfo() is called
476           to do this.
477
478 config DISPLAY_BOARDINFO
479         bool "Display information about the board during early start up"
480         default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
481         help
482           Display information about the board that U-Boot is running on
483           when U-Boot starts up. The board function checkboard() is called
484           to do this.
485
486 config DISPLAY_BOARDINFO_LATE
487         bool "Display information about the board during late start up"
488         help
489           Display information about the board that U-Boot is running on after
490           the relocation phase. The board function checkboard() is called to do
491           this.
492
493 menu "Start-up hooks"
494
495 config ARCH_EARLY_INIT_R
496         bool "Call arch-specific init soon after relocation"
497         help
498           With this option U-Boot will call arch_early_init_r() soon after
499           relocation. Driver model is running by this point, and the cache
500           is on. Note that board_early_init_r() is called first, if
501           enabled. This can be used to set up architecture-specific devices.
502
503 config ARCH_MISC_INIT
504         bool "Call arch-specific init after relocation, when console is ready"
505         help
506           With this option U-Boot will call arch_misc_init() after
507           relocation to allow miscellaneous arch-dependent initialisation
508           to be performed. This function should be defined by the board
509           and will be called after the console is set up, after relocation.
510
511 config BOARD_EARLY_INIT_F
512         bool "Call board-specific init before relocation"
513         help
514           Some boards need to perform initialisation as soon as possible
515           after boot. With this option, U-Boot calls board_early_init_f()
516           after driver model is ready in the pre-relocation init sequence.
517           Note that the normal serial console is not yet set up, but the
518           debug UART will be available if enabled.
519
520 config BOARD_EARLY_INIT_R
521         bool "Call board-specific init after relocation"
522         help
523           Some boards need to perform initialisation as directly after
524           relocation. With this option, U-Boot calls board_early_init_r()
525           in the post-relocation init sequence.
526
527 config BOARD_LATE_INIT
528         bool "Execute Board late init"
529         help
530           Sometimes board require some initialization code that might
531           require once the actual init done, example saving board specific env,
532           boot-modes etc. which eventually done at late.
533
534           So this config enable the late init code with the help of board_late_init
535           function which should defined on respective boards.
536
537 config SYS_FSL_CLK
538         bool
539         depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
540                 (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
541         default y
542         help
543           Enable to call get_clocks() in board_init_f() for platforms other
544           than PowerPC or M68k.  This is a legacy option.  If not TARGET_BRPPT2
545
546 config LAST_STAGE_INIT
547         bool "Call board-specific as last setup step"
548         help
549           Some boards need to perform initialisation immediately before control
550           is passed to the command-line interpreter (e.g. for initializations
551           that depend on later phases in the init sequence). With this option,
552           U-Boot calls last_stage_init() before the command-line interpreter is
553           started.
554
555 config MISC_INIT_F
556         bool "Execute pre-relocation misc init"
557         help
558           Enabling this option calls the 'misc_init_f' function in the init
559           sequence just before DRAM is inited.
560
561 config MISC_INIT_R
562         bool "Execute Misc Init"
563         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
564         default y if ARCH_OMAP2PLUS && !AM33XX
565         help
566           Enabling this option calls 'misc_init_r' function
567
568 config ID_EEPROM
569         bool "Enable I2C connected system identifier EEPROM"
570         help
571           A number of different systems and vendors enable a vendor-specified
572           EEPROM that contains various identifying features.
573
574 config PCI_INIT_R
575         bool "Enumerate PCI buses during init"
576         depends on PCI
577         help
578           With this option U-Boot will call pci_init() soon after relocation,
579           which will enumerate PCI buses. This is needed, for instance, in the
580           case of DM PCI-based Ethernet devices, which will not be detected
581           without having the enumeration performed earlier.
582
583 endmenu
584
585 endmenu         # Init options
586
587 menu "Security support"
588
589 config HASH
590         bool # "Support hashing API (SHA1, SHA256, etc.)"
591         help
592           This provides a way to hash data in memory using various supported
593           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
594           and the algorithms it supports are defined in common/hash.c. See
595           also CMD_HASH for command-line access.
596
597 config AVB_VERIFY
598         bool "Build Android Verified Boot operations"
599         depends on LIBAVB
600         depends on MMC
601         depends on PARTITION_UUIDS
602         help
603           This option enables compilation of bootloader-dependent operations,
604           used by Android Verified Boot 2.0 library (libavb). Includes:
605             * Helpers to process strings in order to build OS bootargs.
606             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
607             * Helpers to alloc/init/free avb ops.
608
609 if AVB_VERIFY
610
611 config AVB_BUF_ADDR
612         hex "Define AVB buffer address"
613         default FASTBOOT_BUF_ADDR
614         help
615           AVB requires a buffer for memory transactions. This variable defines the
616           buffer address.
617
618 config AVB_BUF_SIZE
619         hex "Define AVB buffer SIZE"
620         default FASTBOOT_BUF_SIZE
621         help
622           AVB requires a buffer for memory transactions. This variable defines the
623           buffer size.
624
625 endif # AVB_VERIFY
626
627 config SCP03
628         bool "Build SCP03 - Secure Channel Protocol O3 - controls"
629         depends on OPTEE || SANDBOX
630         depends on TEE
631         help
632           This option allows U-Boot to enable and or provision SCP03 on an OPTEE
633           controlled Secured Element.
634
635 config SPL_HASH
636         bool # "Support hashing API (SHA1, SHA256, etc.)"
637         help
638           This provides a way to hash data in memory using various supported
639           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
640           and the algorithms it supports are defined in common/hash.c. See
641           also CMD_HASH for command-line access.
642
643 config TPL_HASH
644         bool # "Support hashing API (SHA1, SHA256, etc.)"
645         help
646           This provides a way to hash data in memory using various supported
647           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
648           and the algorithms it supports are defined in common/hash.c. See
649           also CMD_HASH for command-line access.
650
651 config STACKPROTECTOR
652         bool "Stack Protector buffer overflow detection"
653         help
654           Enable stack smash detection through compiler's stack-protector
655           canary logic
656
657 config SPL_STACKPROTECTOR
658         bool "Stack Protector buffer overflow detection for SPL"
659         depends on STACKPROTECTOR && SPL
660
661 config TPL_STACKPROTECTOR
662         bool "Stack Protector buffer overflow detection for TPL"
663         depends on STACKPROTECTOR && TPL
664
665 endmenu
666
667 menu "Update support"
668
669 config UPDATE_COMMON
670         bool
671         select DFU_WRITE_ALT
672
673 config UPDATE_TFTP
674         bool "Auto-update using fitImage via TFTP"
675         depends on FIT
676         select UPDATE_COMMON
677         help
678           This option allows performing update of NOR with data in fitImage
679           sent via TFTP boot.
680
681 config UPDATE_TFTP_CNT_MAX
682         int "The number of connection retries during auto-update"
683         default 0
684         depends on UPDATE_TFTP
685
686 config UPDATE_TFTP_MSEC_MAX
687         int "Delay in mSec to wait for the TFTP server during auto-update"
688         default 100
689         depends on UPDATE_TFTP
690
691 config UPDATE_FIT
692         bool "Firmware update using fitImage"
693         depends on FIT
694         depends on DFU
695         select UPDATE_COMMON
696         help
697           This option allows performing update of DFU-capable storage with
698           data in fitImage.
699
700 config ANDROID_AB
701         bool "Android A/B updates"
702         help
703           If enabled, adds support for the new Android A/B update model. This
704           allows the bootloader to select which slot to boot from based on the
705           information provided by userspace via the Android boot_ctrl HAL. This
706           allows a bootloader to try a new version of the system but roll back
707           to previous version if the new one didn't boot all the way.
708
709 endmenu
710
711 menu "Blob list"
712
713 config BLOBLIST
714         bool "Support for a bloblist"
715         help
716           This enables support for a bloblist in U-Boot, which can be passed
717           from TPL to SPL to U-Boot proper (and potentially to Linux). The
718           blob list supports multiple binary blobs of data, each with a tag,
719           so that different U-Boot components can store data which can survive
720           through to the next phase of the boot.
721
722 config SPL_BLOBLIST
723         bool "Support for a bloblist in SPL"
724         depends on BLOBLIST
725         default y if SPL
726         help
727           This enables a bloblist in SPL. If this is the first part of U-Boot
728           to run, then the bloblist is set up in SPL and passed to U-Boot
729           proper. If TPL also has a bloblist, then SPL uses the one from there.
730
731 config TPL_BLOBLIST
732         bool "Support for a bloblist in TPL"
733         depends on BLOBLIST
734         default y if TPL
735         help
736           This enables a bloblist in TPL. The bloblist is set up in TPL and
737           passed to SPL and U-Boot proper.
738
739 if BLOBLIST
740
741 choice
742         prompt "Bloblist location"
743         help
744           Select the location of the bloblist, via various means.
745
746 config BLOBLIST_FIXED
747         bool "Place bloblist at a fixed address in memory"
748         help
749           Select this to used a fixed memory address for the bloblist. If the
750           bloblist exists at this address from a previous phase, it used as is.
751           If not it is created at this address in U-Boot.
752
753 config BLOBLIST_ALLOC
754         bool "Allocate bloblist"
755         help
756           Allocate the bloblist using malloc(). This avoids the need to
757           specify a fixed address on systems where this is unknown or can
758           change at runtime.
759
760 endchoice
761
762 config BLOBLIST_ADDR
763         hex "Address of bloblist"
764         default 0xc000 if SANDBOX
765         depends on BLOBLIST_FIXED
766         help
767           Sets the address of the bloblist, set up by the first part of U-Boot
768           which runs. Subsequent U-Boot phases typically use the same address.
769
770           This is not used if BLOBLIST_ALLOC is selected.
771
772 config BLOBLIST_SIZE
773         hex "Size of bloblist"
774         default 0x400
775         help
776           Sets the size of the bloblist in bytes. This must include all
777           overhead (alignment, bloblist header, record header). The bloblist
778           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
779           proper), and this sane bloblist is used for subsequent phases.
780
781 config BLOBLIST_SIZE_RELOC
782         hex "Size of bloblist after relocation"
783         default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
784         default 0 if BLOBLIST_PASSAGE
785         help
786           Sets the size of the bloblist in bytes after relocation. Since U-Boot
787           has a lot more memory available then, it is possible to use a larger
788           size than the one set up by SPL. This bloblist is set up during the
789           relocation process.
790
791 endif # BLOBLIST
792
793 if SPL_BLOBLIST
794
795 choice
796         prompt "Bloblist location in SPL"
797         help
798           Select the location of the bloblist, via various means. Typically
799           you should use the same value for SPL as for U-Boot, since they need
800           to look in the same place. But if BLOBLIST_ALLOC is used, then a
801           fresh bloblist will be created each time, since there is no shared
802           address (between phases) for the bloblist.
803
804 config SPL_BLOBLIST_FIXED
805         bool "Place bloblist at a fixed address in memory"
806         help
807           Select this to used a fixed memory address for the bloblist. If the
808           bloblist exists at this address from a previous phase, it used as is.
809           If not it is created at this address in SPL.
810
811 config SPL_BLOBLIST_ALLOC
812         bool "Allocate bloblist"
813         help
814           Allocate the bloblist using malloc(). This avoids the need to
815           specify a fixed address on systems where this is unknown or can
816           change at runtime.
817
818 endchoice
819
820 endif # SPL_BLOBLIST
821
822 if TPL_BLOBLIST
823
824 choice
825         prompt "Bloblist location in TPL"
826         help
827           Select the location of the bloblist, via various means. Typically
828           you should use the same value for SPL as for U-Boot, since they need
829           to look in the same place. But if BLOBLIST_ALLOC is used, then a
830           fresh bloblist will be created each time, since there is no shared
831           address (between phases) for the bloblist.
832
833 config TPL_BLOBLIST_FIXED
834         bool "Place bloblist at a fixed address in memory"
835         help
836           Select this to used a fixed memory address for the bloblist. If the
837           bloblist exists at this address from a previous phase, it used as is.
838           If not it is created at this address in TPL.
839
840 config TPL_BLOBLIST_ALLOC
841         bool "Allocate bloblist"
842         help
843           Allocate the bloblist using malloc(). This avoids the need to
844           specify a fixed address on systems where this is unknown or can
845           change at runtime.
846
847 endchoice
848
849 endif # TPL_BLOBLIST
850
851 endmenu
852
853 source "common/spl/Kconfig"
854
855 config IMAGE_SIGN_INFO
856         bool
857         select SHA1
858         select SHA256
859         help
860           Enable image_sign_info helper functions.
861
862 if IMAGE_SIGN_INFO
863
864 config SPL_IMAGE_SIGN_INFO
865         bool
866         select SHA1
867         select SHA256
868         help
869           Enable image_sign_info helper functions in SPL.
870
871 endif
872
873 config FDT_SIMPLEFB
874         bool "FDT tools for simplefb support"
875         depends on OF_LIBFDT
876         help
877           Enable the fdt tools to manage the simple fb nodes in device tree.
878           These functions can be used by board to indicate to the OS
879           the presence of the simple frame buffer with associated reserved
880           memory