Merge branch '2022-03-03-Kconfig-migrations' into next
[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_POSTCLK_INIT
528         bool "Call board_postclk_init"
529         help
530           Some boards need this to initialize select items, after clocks /
531           timebase and before env / serial.
532
533 config BOARD_LATE_INIT
534         bool "Execute Board late init"
535         help
536           Sometimes board require some initialization code that might
537           require once the actual init done, example saving board specific env,
538           boot-modes etc. which eventually done at late.
539
540           So this config enable the late init code with the help of board_late_init
541           function which should defined on respective boards.
542
543 config SYS_FSL_CLK
544         bool
545         depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
546                 (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
547         default y
548         help
549           Enable to call get_clocks() in board_init_f() for platforms other
550           than PowerPC or M68k.  This is a legacy option.  If not TARGET_BRPPT2
551
552 config LAST_STAGE_INIT
553         bool "Call board-specific as last setup step"
554         help
555           Some boards need to perform initialisation immediately before control
556           is passed to the command-line interpreter (e.g. for initializations
557           that depend on later phases in the init sequence). With this option,
558           U-Boot calls last_stage_init() before the command-line interpreter is
559           started.
560
561 config MISC_INIT_F
562         bool "Execute pre-relocation misc init"
563         help
564           Enabling this option calls the 'misc_init_f' function in the init
565           sequence just before DRAM is inited.
566
567 config MISC_INIT_R
568         bool "Execute Misc Init"
569         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
570         default y if ARCH_OMAP2PLUS && !AM33XX
571         help
572           Enabling this option calls 'misc_init_r' function
573
574 config ID_EEPROM
575         bool "Enable I2C connected system identifier EEPROM"
576         help
577           A number of different systems and vendors enable a vendor-specified
578           EEPROM that contains various identifying features.
579
580 config PCI_INIT_R
581         bool "Enumerate PCI buses during init"
582         depends on PCI
583         help
584           With this option U-Boot will call pci_init() soon after relocation,
585           which will enumerate PCI buses. This is needed, for instance, in the
586           case of DM PCI-based Ethernet devices, which will not be detected
587           without having the enumeration performed earlier.
588
589 endmenu
590
591 endmenu         # Init options
592
593 menu "Security support"
594
595 config HASH
596         bool # "Support hashing API (SHA1, SHA256, etc.)"
597         help
598           This provides a way to hash data in memory using various supported
599           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
600           and the algorithms it supports are defined in common/hash.c. See
601           also CMD_HASH for command-line access.
602
603 config AVB_VERIFY
604         bool "Build Android Verified Boot operations"
605         depends on LIBAVB
606         depends on MMC
607         depends on PARTITION_UUIDS
608         help
609           This option enables compilation of bootloader-dependent operations,
610           used by Android Verified Boot 2.0 library (libavb). Includes:
611             * Helpers to process strings in order to build OS bootargs.
612             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
613             * Helpers to alloc/init/free avb ops.
614
615 if AVB_VERIFY
616
617 config AVB_BUF_ADDR
618         hex "Define AVB buffer address"
619         default FASTBOOT_BUF_ADDR
620         help
621           AVB requires a buffer for memory transactions. This variable defines the
622           buffer address.
623
624 config AVB_BUF_SIZE
625         hex "Define AVB buffer SIZE"
626         default FASTBOOT_BUF_SIZE
627         help
628           AVB requires a buffer for memory transactions. This variable defines the
629           buffer size.
630
631 endif # AVB_VERIFY
632
633 config SCP03
634         bool "Build SCP03 - Secure Channel Protocol O3 - controls"
635         depends on OPTEE || SANDBOX
636         depends on TEE
637         help
638           This option allows U-Boot to enable and or provision SCP03 on an OPTEE
639           controlled Secured Element.
640
641 config SPL_HASH
642         bool # "Support hashing API (SHA1, SHA256, etc.)"
643         help
644           This provides a way to hash data in memory using various supported
645           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
646           and the algorithms it supports are defined in common/hash.c. See
647           also CMD_HASH for command-line access.
648
649 config TPL_HASH
650         bool # "Support hashing API (SHA1, SHA256, etc.)"
651         help
652           This provides a way to hash data in memory using various supported
653           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
654           and the algorithms it supports are defined in common/hash.c. See
655           also CMD_HASH for command-line access.
656
657 config STACKPROTECTOR
658         bool "Stack Protector buffer overflow detection"
659         help
660           Enable stack smash detection through compiler's stack-protector
661           canary logic
662
663 config SPL_STACKPROTECTOR
664         bool "Stack Protector buffer overflow detection for SPL"
665         depends on STACKPROTECTOR && SPL
666
667 config TPL_STACKPROTECTOR
668         bool "Stack Protector buffer overflow detection for TPL"
669         depends on STACKPROTECTOR && TPL
670
671 endmenu
672
673 menu "Update support"
674
675 config UPDATE_COMMON
676         bool
677         select DFU_WRITE_ALT
678
679 config UPDATE_TFTP
680         bool "Auto-update using fitImage via TFTP"
681         depends on FIT
682         select UPDATE_COMMON
683         help
684           This option allows performing update of NOR with data in fitImage
685           sent via TFTP boot.
686
687 config UPDATE_TFTP_CNT_MAX
688         int "The number of connection retries during auto-update"
689         default 0
690         depends on UPDATE_TFTP
691
692 config UPDATE_TFTP_MSEC_MAX
693         int "Delay in mSec to wait for the TFTP server during auto-update"
694         default 100
695         depends on UPDATE_TFTP
696
697 config UPDATE_FIT
698         bool "Firmware update using fitImage"
699         depends on FIT
700         depends on DFU
701         select UPDATE_COMMON
702         help
703           This option allows performing update of DFU-capable storage with
704           data in fitImage.
705
706 config ANDROID_AB
707         bool "Android A/B updates"
708         help
709           If enabled, adds support for the new Android A/B update model. This
710           allows the bootloader to select which slot to boot from based on the
711           information provided by userspace via the Android boot_ctrl HAL. This
712           allows a bootloader to try a new version of the system but roll back
713           to previous version if the new one didn't boot all the way.
714
715 endmenu
716
717 menu "Blob list"
718
719 config BLOBLIST
720         bool "Support for a bloblist"
721         help
722           This enables support for a bloblist in U-Boot, which can be passed
723           from TPL to SPL to U-Boot proper (and potentially to Linux). The
724           blob list supports multiple binary blobs of data, each with a tag,
725           so that different U-Boot components can store data which can survive
726           through to the next phase of the boot.
727
728 config SPL_BLOBLIST
729         bool "Support for a bloblist in SPL"
730         depends on BLOBLIST
731         default y if SPL
732         help
733           This enables a bloblist in SPL. If this is the first part of U-Boot
734           to run, then the bloblist is set up in SPL and passed to U-Boot
735           proper. If TPL also has a bloblist, then SPL uses the one from there.
736
737 config TPL_BLOBLIST
738         bool "Support for a bloblist in TPL"
739         depends on BLOBLIST
740         default y if TPL
741         help
742           This enables a bloblist in TPL. The bloblist is set up in TPL and
743           passed to SPL and U-Boot proper.
744
745 if BLOBLIST
746
747 choice
748         prompt "Bloblist location"
749         help
750           Select the location of the bloblist, via various means.
751
752 config BLOBLIST_FIXED
753         bool "Place bloblist at a fixed address in memory"
754         help
755           Select this to used a fixed memory address for the bloblist. If the
756           bloblist exists at this address from a previous phase, it used as is.
757           If not it is created at this address in U-Boot.
758
759 config BLOBLIST_ALLOC
760         bool "Allocate bloblist"
761         help
762           Allocate the bloblist using malloc(). This avoids the need to
763           specify a fixed address on systems where this is unknown or can
764           change at runtime.
765
766 endchoice
767
768 config BLOBLIST_ADDR
769         hex "Address of bloblist"
770         default 0xc000 if SANDBOX
771         depends on BLOBLIST_FIXED
772         help
773           Sets the address of the bloblist, set up by the first part of U-Boot
774           which runs. Subsequent U-Boot phases typically use the same address.
775
776           This is not used if BLOBLIST_ALLOC is selected.
777
778 config BLOBLIST_SIZE
779         hex "Size of bloblist"
780         default 0x400
781         help
782           Sets the size of the bloblist in bytes. This must include all
783           overhead (alignment, bloblist header, record header). The bloblist
784           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
785           proper), and this sane bloblist is used for subsequent phases.
786
787 config BLOBLIST_SIZE_RELOC
788         hex "Size of bloblist after relocation"
789         default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
790         default 0 if BLOBLIST_PASSAGE
791         help
792           Sets the size of the bloblist in bytes after relocation. Since U-Boot
793           has a lot more memory available then, it is possible to use a larger
794           size than the one set up by SPL. This bloblist is set up during the
795           relocation process.
796
797 endif # BLOBLIST
798
799 if SPL_BLOBLIST
800
801 choice
802         prompt "Bloblist location in SPL"
803         help
804           Select the location of the bloblist, via various means. Typically
805           you should use the same value for SPL as for U-Boot, since they need
806           to look in the same place. But if BLOBLIST_ALLOC is used, then a
807           fresh bloblist will be created each time, since there is no shared
808           address (between phases) for the bloblist.
809
810 config SPL_BLOBLIST_FIXED
811         bool "Place bloblist at a fixed address in memory"
812         help
813           Select this to used a fixed memory address for the bloblist. If the
814           bloblist exists at this address from a previous phase, it used as is.
815           If not it is created at this address in SPL.
816
817 config SPL_BLOBLIST_ALLOC
818         bool "Allocate bloblist"
819         help
820           Allocate the bloblist using malloc(). This avoids the need to
821           specify a fixed address on systems where this is unknown or can
822           change at runtime.
823
824 endchoice
825
826 endif # SPL_BLOBLIST
827
828 if TPL_BLOBLIST
829
830 choice
831         prompt "Bloblist location in TPL"
832         help
833           Select the location of the bloblist, via various means. Typically
834           you should use the same value for SPL as for U-Boot, since they need
835           to look in the same place. But if BLOBLIST_ALLOC is used, then a
836           fresh bloblist will be created each time, since there is no shared
837           address (between phases) for the bloblist.
838
839 config TPL_BLOBLIST_FIXED
840         bool "Place bloblist at a fixed address in memory"
841         help
842           Select this to used a fixed memory address for the bloblist. If the
843           bloblist exists at this address from a previous phase, it used as is.
844           If not it is created at this address in TPL.
845
846 config TPL_BLOBLIST_ALLOC
847         bool "Allocate bloblist"
848         help
849           Allocate the bloblist using malloc(). This avoids the need to
850           specify a fixed address on systems where this is unknown or can
851           change at runtime.
852
853 endchoice
854
855 endif # TPL_BLOBLIST
856
857 endmenu
858
859 source "common/spl/Kconfig"
860
861 config IMAGE_SIGN_INFO
862         bool
863         select SHA1
864         select SHA256
865         help
866           Enable image_sign_info helper functions.
867
868 if IMAGE_SIGN_INFO
869
870 config SPL_IMAGE_SIGN_INFO
871         bool
872         select SHA1
873         select SHA256
874         help
875           Enable image_sign_info helper functions in SPL.
876
877 endif
878
879 config FDT_SIMPLEFB
880         bool "FDT tools for simplefb support"
881         depends on OF_LIBFDT
882         help
883           Enable the fdt tools to manage the simple fb nodes in device tree.
884           These functions can be used by board to indicate to the OS
885           the presence of the simple frame buffer with associated reserved
886           memory