soc/amd/glinda: Update MCA banks
[coreboot2.git] / src / Kconfig
blob55fad952bb14a3c4e5732e789a314b1f79391784
1 ## SPDX-License-Identifier: GPL-2.0-only
3 mainmenu "coreboot configuration"
5 menu "General setup"
7 config LOCALVERSION
8         string "Local version string"
9         help
10           Append an extra string to the end of the coreboot version.
12           This can be useful if, for instance, you want to append the
13           respective board's hostname or some other identifying string to
14           the coreboot version number, so that you can easily distinguish
15           boot logs of different boards from each other.
17 config CONFIGURABLE_CBFS_PREFIX
18         bool
19         help
20           Select this to prompt to use to configure the prefix for cbfs files.
22 choice
23         prompt "CBFS prefix to use"
24         depends on CONFIGURABLE_CBFS_PREFIX
25         default CBFS_PREFIX_FALLBACK
27 config CBFS_PREFIX_FALLBACK
28         bool "fallback"
30 config CBFS_PREFIX_NORMAL
31         bool "normal"
33 config CBFS_PREFIX_DIY
34         bool "Define your own cbfs prefix"
36 endchoice
38 config CBFS_PREFIX
39         string "CBFS prefix to use" if CBFS_PREFIX_DIY
40         default "fallback" if !CONFIGURABLE_CBFS_PREFIX || CBFS_PREFIX_FALLBACK
41         default "normal" if CBFS_PREFIX_NORMAL
42         help
43           Select the prefix to all files put into the image. It's "fallback"
44           by default, "normal" is a common alternative.
46 config DEFAULT_COMPILER_LLVM_CLANG
47         bool
48         help
49           Allows to override the default compiler. This can for instance be
50           set in site-local/Kconfig.
52 choice
53         prompt "Compiler to use"
54         default COMPILER_LLVM_CLANG if DEFAULT_COMPILER_LLVM_CLANG
55         default COMPILER_GCC
56         help
57           This option allows you to select the compiler used for building
58           coreboot.
59           You must build the coreboot crosscompiler for the board that you
60           have selected.
62           To build all the GCC crosscompilers (takes a LONG time), run:
63             make crossgcc
65           For help on individual architectures, run the command:
66             make help_toolchain
68 config COMPILER_GCC
69         bool "GCC"
70         help
71           Use the GNU Compiler Collection (GCC) to build coreboot.
73           For details see http://gcc.gnu.org.
75 config COMPILER_LLVM_CLANG
76         bool "LLVM/clang"
77         depends on ALLOW_EXPERIMENTAL_CLANG || !CLANG_UNSUPPORTED
78         help
79           Use LLVM/clang to build coreboot.  To use this, you must build the
80           coreboot version of the clang compiler.  Run the command
81             make clang
82           Note that Clang is not currently working on all architectures.
84           For details see http://clang.llvm.org.
86 endchoice
88 config CLANG_UNSUPPORTED
89         bool
90         help
91           Set this flag on platforms that do not support building with the
92           clang compiler.
94 config ALLOW_EXPERIMENTAL_CLANG
95         bool "Allow experimental LLVM/Clang"
96         depends on CLANG_UNSUPPORTED
97         help
98           On some architectures CLANG does not work that well.
99           Use this only to try to get CLANG working.
101 config ANY_TOOLCHAIN
102         bool "Allow building with any toolchain"
103         default n
104         help
105           Many toolchains break when building coreboot since it uses quite
106           unusual linker features. Unless developers explicitly request it,
107           we'll have to assume that they use their distro compiler by mistake.
108           Make sure that using patched compilers is a conscious decision.
110 config CCACHE
111         bool "Use ccache to speed up (re)compilation"
112         help
113           Enables the use of ccache for faster builds.
115           Requires the ccache utility in your system $PATH.
117           For details see https://ccache.samba.org.
119 config LTO
120         bool "Use link time optimization (LTO) (experimental)"
121         default n
122         help
123           Compile with link time optimization. This can often decrease the
124           final binary size, but may increase compilation time.
126 config IWYU
127         bool "Test platform with include-what-you-use"
128         help
129           This runs each source file through the include-what-you-use tool
130           to check the header includes.
132 config FMD_GENPARSER
133         bool "Generate flashmap descriptor parser using flex and bison"
134         default n
135         help
136           Enable this option if you are working on the flashmap descriptor
137           parser and made changes to fmd_scanner.l or fmd_parser.y.
139           Otherwise, say N to use the provided pregenerated scanner/parser.
141 config UTIL_GENPARSER
142         bool "Generate parsers for bincfg, sconfig and kconfig locally"
143         default n
144         help
145           Enable this option if you are working on the sconfig device tree
146           parser or bincfg and made changes to the .l or .y files.
148           Otherwise, say N to use the provided pregenerated scanner/parser.
150 choice
151         prompt "Option backend to use"
152         default USE_MAINBOARD_SPECIFIC_OPTION_BACKEND if HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
153         default USE_OPTION_TABLE if NVRAMCUI_SECONDARY_PAYLOAD
154         default USE_UEFI_VARIABLE_STORE if DRIVERS_EFI_VARIABLE_STORE && \
155                 PAYLOAD_EDK2 && SMMSTORE_V2
157 config OPTION_BACKEND_NONE
158         bool "None"
160 config USE_OPTION_TABLE
161         bool "Use CMOS for configuration values"
162         depends on HAVE_OPTION_TABLE
163         help
164           Enable this option if coreboot shall read options from the "CMOS"
165           NVRAM instead of using hard-coded values.
167 config USE_UEFI_VARIABLE_STORE
168         bool "Use UEFI variable-store in SPI flash as option backend"
169         depends on DRIVERS_EFI_VARIABLE_STORE
170         depends on SMMSTORE_V2
171         help
172           Enable this option if coreboot shall read/write options from the
173           SMMSTORE region within the SPI flash. The region must be formatted
174           by the payload first before it can be used.
176 config USE_MAINBOARD_SPECIFIC_OPTION_BACKEND
177         bool "Use mainboard-specific option backend"
178         depends on HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
179         help
180           Use a mainboard-specific mechanism to access runtime-configurable
181           options.
183 endchoice
185 config STATIC_OPTION_TABLE
186         bool "Load default configuration values into CMOS on each boot"
187         depends on USE_OPTION_TABLE
188         help
189           Enable this option to reset "CMOS" NVRAM values to default on
190           every boot.  Use this if you want the NVRAM configuration to
191           never be modified from its default values.
193 config MB_COMPRESS_RAMSTAGE_LZ4
194         bool
195         help
196           Select this in a mainboard to use LZ4 compression by default
198 choice
199         prompt "Ramstage compression"
200         depends on HAVE_RAMSTAGE && !UNCOMPRESSED_RAMSTAGE
201         default COMPRESS_RAMSTAGE_LZ4 if MB_COMPRESS_RAMSTAGE_LZ4
202         default COMPRESS_RAMSTAGE_LZMA
204 config COMPRESS_RAMSTAGE_LZMA
205         bool "Compress ramstage with LZMA"
206         help
207           Compress ramstage with LZMA to save memory in the flash image.
209 config COMPRESS_RAMSTAGE_LZ4
210         bool "Compress ramstage with LZ4"
211         help
212           LZ4 doesn't give as good compression as LZMA, but decompresses much
213           faster. For large binaries such as ramstage, it's typically best to
214           use LZMA, but there can be cases where the faster decompression of
215           LZ4 can lead to a faster boot time. Testing on each individual board
216           is typically going to be needed due to the large number of factors
217           that can influence the decision. Binary size, CPU speed, ROM read
218           speed, cache, and other factors all play a part.
220           If you're not sure, stick with LZMA.
222 endchoice
224 config COMPRESS_PRERAM_STAGES
225         bool "Compress romstage and verstage with LZ4"
226         depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
227         # Default value set at the end of the file
228         help
229           Compress romstage and (if it exists) verstage with LZ4 to save flash
230           space and speed up boot, since the time for reading the image from SPI
231           (and in the vboot case verifying it) is usually much greater than the
232           time spent decompressing. Doesn't work for XIP stages for obvious
233           reasons.
235 config COMPRESS_BOOTBLOCK
236         bool
237         depends on HAVE_BOOTBLOCK
238         help
239           This option can be used to compress the bootblock with LZ4 and attach
240           a small self-decompression stub to its front. This can drastically
241           reduce boot time on platforms where the bootblock is loaded over a
242           very slow connection and bootblock size trumps all other factors for
243           speed. Since using this option usually requires changes to the
244           SoC memlayout and possibly extra support code, it should not be
245           user-selectable. (There's no real point in offering this to the user
246           anyway... if it works and saves boot time, you would always want it.)
248 config SEPARATE_ROMSTAGE
249         bool "Build a separate romstage"
250         help
251           Build a separate romstage that is loaded by bootblock. With this
252           option disabled the romstage sources are linked inside the bootblock
253           as a single stage.
255 config INCLUDE_CONFIG_FILE
256         bool "Include the coreboot .config file into the ROM image"
257         # Default value set at the end of the file
258         help
259           Include the .config file that was used to compile coreboot
260           in the (CBFS) ROM image. This is useful if you want to know which
261           options were used to build a specific coreboot.rom image.
263           Saying Y here will increase the image size by 2-3KB.
265           You can then use cbfstool to extract the config from a final image:
267             cbfstool coreboot.rom extract -n config -f <output file path>
269           Alternatively, you can also use cbfstool to print the image
270           contents (including the raw 'config' item we're looking for).
272           Example:
274             $ cbfstool coreboot.rom print
275             coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
276                                                        offset 0x0
277             Alignment: 64 bytes
279             Name                           Offset     Type         Size
280             cmos_layout.bin                0x0        CMOS layout  1159
281             fallback/romstage              0x4c0      stage        339756
282             fallback/ramstage              0x53440    stage        186664
283             fallback/payload               0x80dc0    payload      51526
284             config                         0x8d740    raw          3324
285             (empty)                        0x8e480    null         3610440
287 config COLLECT_TIMESTAMPS
288         bool "Create a table of timestamps collected during boot"
289         default y if ARCH_X86
290         help
291           Make coreboot create a table of timer-ID/timer-value pairs to
292           allow measuring time spent at different phases of the boot process.
294 config TIMESTAMPS_ON_CONSOLE
295         bool "Print the timestamp values on the console"
296         default n
297         depends on COLLECT_TIMESTAMPS
298         help
299           Print the timestamps to the debug console if enabled at level info.
301 config USE_BLOBS
302         bool "Allow use of binary-only repository"
303         default y
304         help
305           This draws in the blobs repository, which contains binary files that
306           might be required for some chipsets or boards.
307           This flag ensures that a "Free" option remains available for users.
309 config USE_AMD_BLOBS
310         bool "Allow AMD blobs repository (with license agreement)"
311         depends on USE_BLOBS
312         help
313           This draws in the amd_blobs repository, which contains binary files
314           distributed by AMD, including VBIOS, PSP bootloaders, SMU firmwares,
315           etc.  Selecting this item to download or clone the repo implies your
316           agreement to the AMD license agreement.  A copy of the license text
317           may be reviewed by reading Documentation/soc/amd/amdblobs_license.md,
318           and your copy of the license is present in the repo once downloaded.
320           Note that for some products, omitting PSP, SMU images, or other items
321           may result in a nonbooting coreboot.rom.
323 config USE_QC_BLOBS
324         bool "Allow QC blobs repository (selecting this agrees to the license!)"
325         depends on USE_BLOBS
326         help
327           This draws in the qc_blobs repository, which contains binary files
328           distributed by Qualcomm that are required to build firmware for
329           certain Qualcomm SoCs (including QcLib, QC-SEC, qtiseclib and QUP
330           firmware). If you say Y here you are implicitly agreeing to the
331           Qualcomm license agreement which can be found at:
332           https://review.coreboot.org/cgit/qc_blobs.git/tree/LICENSE
334           *****************************************************
335           PLEASE MAKE SURE YOU READ AND AGREE TO ALL TERMS IN
336           ABOVE LICENSE AGREEMENT BEFORE SELECTING THIS OPTION!
337           *****************************************************
339           Not selecting this option means certain Qualcomm SoCs and related
340           mainboards cannot be built and will be hidden from the "Mainboards"
341           section.
343 config COVERAGE
344         bool "Code coverage support"
345         depends on COMPILER_GCC
346         help
347           Add code coverage support for coreboot. This will store code
348           coverage information in CBMEM for extraction from user space.
349           If unsure, say N.
351 config UBSAN
352         bool "Undefined behavior sanitizer support"
353         default n
354         help
355           Instrument the code with checks for undefined behavior. If unsure,
356           say N because it adds a small performance penalty and may abort
357           on code that happens to work in spite of the UB.
359 config HAVE_ASAN_IN_ROMSTAGE
360         bool
361         default n
363 config ASAN_IN_ROMSTAGE
364         bool
365         default n
366         help
367           Enable address sanitizer in romstage for platform.
369 config HAVE_ASAN_IN_RAMSTAGE
370         bool
371         default n
373 config ASAN_IN_RAMSTAGE
374         bool
375         default n
376         help
377           Enable address sanitizer in ramstage for platform.
379 config ASAN
380         bool "Address sanitizer support"
381         default n
382         select ASAN_IN_ROMSTAGE if HAVE_ASAN_IN_ROMSTAGE
383         select ASAN_IN_RAMSTAGE if HAVE_ASAN_IN_RAMSTAGE
384         depends on COMPILER_GCC
385         help
386           Enable address sanitizer - runtime memory debugger,
387           designed to find out-of-bounds accesses and use-after-scope bugs.
389           This feature consumes up to 1/8 of available memory and brings about
390           ~1.5x performance slowdown.
392           If unsure, say N.
394 if ASAN
395         comment "Before using this feature, make sure that           "
396         comment "asan_shadow_offset_callback patch is applied to GCC."
397 endif
399 choice
400         prompt "Stage Cache for ACPI S3 resume"
401         default NO_STAGE_CACHE if !HAVE_ACPI_RESUME || MAINBOARD_DISABLE_STAGE_CACHE
402         default TSEG_STAGE_CACHE if SMM_TSEG
404 config NO_STAGE_CACHE
405         bool "Disabled"
406         help
407           Do not save any component in stage cache for resume path. On resume,
408           all components would be read back from CBFS again.
410 config TSEG_STAGE_CACHE
411         bool "TSEG"
412         depends on SMM_TSEG
413         help
414           The option enables stage cache support for platform. Platform
415           can stash copies of postcar, ramstage and raw runtime data
416           inside SMM TSEG, to be restored on S3 resume path.
418 config CBMEM_STAGE_CACHE
419         bool "CBMEM"
420         depends on !SMM_TSEG
421         help
422           The option enables stage cache support for platform. Platform
423           can stash copies of postcar, ramstage and raw runtime data
424           inside CBMEM.
426           While the approach is faster than reloading stages from boot media
427           it is also a possible attack scenario via which OS can possibly
428           circumvent SMM locks and SPI write protections.
430           If unsure, select 'N'
432 endchoice
434 config MAINBOARD_DISABLE_STAGE_CACHE
435         bool
436         help
437           Selected by mainboards which wish to disable the stage cache.
438           E.g. mainboards which don't use S3 resume in the field may wish to
439           disable it to save boot time at the cost of increasing S3 resume time.
441 config UPDATE_IMAGE
442         bool "Update existing coreboot.rom image"
443         help
444           If this option is enabled, no new coreboot.rom file
445           is created. Instead it is expected that there already
446           is a suitable file for further processing.
447           The bootblock will not be modified.
449           If unsure, select 'N'
451 config BOOTSPLASH_IMAGE
452         bool "Add a bootsplash image"
453         help
454           Select this option if you have a bootsplash image that you would
455           like to add to your ROM.
457           This will only add the image to the ROM. To actually run it check
458           options under 'Display' section.
460 config BOOTSPLASH_FILE
461         string "Bootsplash path and filename"
462         depends on BOOTSPLASH_IMAGE
463         # Default value set at the end of the file
464         help
465           The path and filename of the file to use as graphical bootsplash
466           screen. The file format has to be JPEG with YCC 4:2:0 color sampling
467           unless converted with "Pre-process bootsplash file with ImageMagick".
469           The image can only be displayed by coreboot if it's smaller or has
470           the same size as the framebuffer resolution. Width and height have
471           to be a multiple of 16 pixels.
473           Setting these constraints allows a leaner implementation in coreboot.
474           The minimum necessary ImageMagick command line seems to be:
475           $ convert input.img -colorspace YCC -sampling-factor 4:2:0 bootsplash.jpg
477 config BOOTSPLASH_CONVERT
478         bool "Pre-process bootsplash file with ImageMagick"
479         depends on BOOTSPLASH_IMAGE
480         help
481           Use ImageMagick (`convert` program) to convert a bootsplash image
482           to the supported JPEG format.
484 config BOOTSPLASH_CONVERT_QUALITY
485         int "Bootsplash JPEG target quality (%)"
486         depends on BOOTSPLASH_CONVERT
487         range 1 100
488         # Default value set at the end of the file
490 config BOOTSPLASH_CONVERT_RESIZE
491         bool "Resize bootsplash image"
492         depends on BOOTSPLASH_CONVERT
493         help
494           Resize the image to the given resolution. Aspect ratio will be kept,
495           adding black bars as necessary.
497 config BOOTSPLASH_CONVERT_RESOLUTION
498         string "Bootsplash image target size"
499         depends on BOOTSPLASH_CONVERT_RESIZE
500         # Default value set at the end of the file
501         help
502           Target image resolution given as <width>x<height>, e.g. 1024x768.
503           Values not divisible by 16 will be rounded down.
505           When using coreboot to display the bootsplash image (CONFIG_BOOTSPLASH),
506           set this lower or equal to the minimum resolution you expect.
508 config BOOTSPLASH_CONVERT_COLORSWAP
509         bool "Swap red and blue color channels"
510         depends on BOOTSPLASH_CONVERT
511         help
512           The JPEG decoder currently ignores the framebuffer color order.
513           If your colors seem all wrong, try this option.
515 config FW_CONFIG
516         bool
517         help
518           Enable support for probing devices with fw_config.  This is a simple
519           bitmask broken into fields and options for probing.
520           Select this option in the Mainboard Kconfig.
522 config FW_CONFIG_SOURCE_CHROMEEC_CBI
523         bool
524         depends on FW_CONFIG && EC_GOOGLE_CHROMEEC
525         help
526           This option tells coreboot to read the firmware configuration value
527           from the Google Chrome Embedded Controller CBI interface.  This source
528           is not tried if FW_CONFIG_SOURCE_CBFS is enabled and the value was
529           found in CBFS.
530           Select this option in the Mainboard Kconfig.
532 config FW_CONFIG_SOURCE_CBFS
533         bool "Obtain Firmware Configuration value from CBFS"
534         depends on FW_CONFIG
535         help
536           With this option enabled coreboot will look for the 32bit firmware
537           configuration value in CBFS at the selected prefix with the file name
538           "fw_config".  This option gets run if no value is found with CBI, so acts
539           as a FW_CONFIG_SOURCE_CHROMEEC_CBI fallback option.
541 config FW_CONFIG_SOURCE_VPD
542         bool "Obtain Firmware Configuration value from VPD"
543         depends on FW_CONFIG && VPD
544         help
545           With this option enabled coreboot will look for the 32bit firmware
546           configuration value in VPD key name "fw_config".  This option runs if no
547           FW_CONFIG value is set by either CBI or CBFS.
549 config HAVE_RAMPAYLOAD
550         bool
552 config RAMPAYLOAD
553         bool "Enable coreboot flow without executing ramstage"
554         default y if ARCH_X86
555         depends on HAVE_RAMPAYLOAD
556         help
557           If this option is enabled, coreboot flow will skip ramstage
558           loading and execution of ramstage to load payload.
560           Instead it is expected to load payload from postcar stage itself.
562           In this flow coreboot will perform basic x86 initialization
563           (DRAM resource allocation), MTRR programming,
564           Skip PCI enumeration logic and only allocate BAR for fixed devices
565           (bootable devices, TPM over GSPI).
567 config HAVE_CONFIGURABLE_RAMSTAGE
568         bool
570 config CONFIGURABLE_RAMSTAGE
571         bool "Enable a configurable ramstage."
572         default y if ARCH_X86
573         depends on HAVE_CONFIGURABLE_RAMSTAGE
574         help
575           A configurable ramstage allows you to select which parts of the ramstage
576           to run. Currently, we can only select a minimal PCI scanning step.
577           The minimal PCI scanning will only check those parts that are enabled
578           in the devicetree.cb. By convention none of those devices should be bridges.
580 config MINIMAL_PCI_SCANNING
581         bool "Enable minimal PCI scanning"
582         depends on CONFIGURABLE_RAMSTAGE && PCI
583         help
584           If this option is enabled, coreboot will scan only PCI devices
585           marked as mandatory in devicetree.cb
587 menu "Software Bill Of Materials (SBOM)"
589 source "src/sbom/Kconfig"
591 endmenu
592 endmenu
594 menu "Mainboard"
596 source "src/mainboard/Kconfig"
598 config DEVICETREE
599         string
600         default "devicetree.cb"
601         help
602           This symbol allows mainboards to select a different file under their
603           mainboard directory for the devicetree.cb file.  This allows the board
604           variants that need different devicetrees to be in the same directory.
606           Examples: "devicetree.variant.cb"
607                     "variant/devicetree.cb"
609 config OVERRIDE_DEVICETREE
610         string
611         default ""
612         help
613           This symbol allows variants to provide an override devicetree file to
614           override the registers and/or add new devices on top of the ones
615           provided by baseboard devicetree using CONFIG_DEVICETREE.
617           Examples: "devicetree.variant-override.cb"
618                     "variant/devicetree-override.cb"
620 config FMDFILE
621         string "fmap description file in fmd format"
622         default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
623         default ""
624         help
625           The build system creates a default FMAP from ROM_SIZE and CBFS_SIZE,
626           but in some cases more complex setups are required.
627           When an fmd is specified, it overrides the default format.
629 config CBFS_SIZE
630         hex "Size of CBFS filesystem in ROM"
631         depends on FMDFILE = ""
632         # Default value set at the end of the file
633         help
634           This is the part of the ROM actually managed by CBFS, located at the
635           end of the ROM (passed through cbfstool -o) on x86 and at the start
636           of the ROM (passed through cbfstool -s) everywhere else. It defaults
637           to span the whole ROM on all but Intel systems that use an Intel Firmware
638           Descriptor.  It can be overridden to make coreboot live alongside other
639           components like ChromeOS's vboot/FMAP or Intel's IFD / ME / TXE
640           binaries. This symbol should only be used to generate a default FMAP and
641           is unused when a non-default fmd file is provided via CONFIG_FMDFILE.
643 endmenu
645 # load site-local kconfig to allow user specific defaults and overrides
646 source "site-local/Kconfig"
648 config SYSTEM_TYPE_LAPTOP
649         default n
650         bool
652 config SYSTEM_TYPE_TABLET
653         default n
654         bool
656 config SYSTEM_TYPE_DETACHABLE
657         default n
658         bool
660 config SYSTEM_TYPE_CONVERTIBLE
661         default n
662         bool
664 config CBFS_AUTOGEN_ATTRIBUTES
665         default n
666         bool
667         help
668           If this option is selected, every file in cbfs which has a constraint
669           regarding position or alignment will get an additional file attribute
670           which describes this constraint.
672 menu "Chipset"
674 comment "SoC"
675 source "src/soc/*/*/Kconfig"
676 source "src/soc/*/*/Kconfig.common"
677 comment "CPU"
678 source "src/cpu/Kconfig"
679 comment "Northbridge"
680 source "src/northbridge/*/*/Kconfig"
681 source "src/northbridge/*/*/Kconfig.common"
682 comment "Southbridge"
683 source "src/southbridge/*/*/Kconfig"
684 source "src/southbridge/*/*/Kconfig.common"
685 comment "Super I/O"
686 source "src/superio/*/*/Kconfig"
687 comment "Embedded Controllers"
688 source "src/ec/acpi/Kconfig"
689 source "src/ec/*/*/Kconfig"
691 source "src/southbridge/intel/common/firmware/Kconfig"
692 source "src/vendorcode/*/Kconfig"
694 source "src/arch/*/Kconfig"
696 config CHIPSET_DEVICETREE
697         string
698         default ""
699         help
700           This symbol allows a chipset to provide a set of default settings in
701           a devicetree which are common to all mainboards. This may include
702           devices (including alias names), chip drivers, register settings,
703           and others. This path is relative to the src/ directory.
705           Example: "chipset.cb"
707 endmenu
709 source "src/device/Kconfig"
711 menu "Generic Drivers"
712 source "src/drivers/*/Kconfig"
713 source "src/drivers/*/*/Kconfig"
714 source "src/drivers/*/*/*/Kconfig"
715 source "src/commonlib/storage/Kconfig"
716 endmenu
718 menu "Security"
720 source "src/security/Kconfig"
721 source "src/vendorcode/eltan/security/Kconfig"
723 endmenu
725 source "src/acpi/Kconfig"
727 # This option is for the current boards/chipsets where SPI flash
728 # is not the boot device. Currently nearly all boards/chipsets assume
729 # SPI flash is the boot device.
730 config BOOT_DEVICE_NOT_SPI_FLASH
731         bool
732         default n
734 config BOOT_DEVICE_SPI_FLASH
735         bool
736         default y if !BOOT_DEVICE_NOT_SPI_FLASH
737         default n
739 config BOOT_DEVICE_MEMORY_MAPPED
740         bool
741         default y if ARCH_X86 && BOOT_DEVICE_SPI_FLASH
742         default n
743         help
744           Inform system if SPI is memory-mapped or not.
746 config BOOT_DEVICE_SUPPORTS_WRITES
747         bool
748         default n
749         help
750           Indicate that the platform has writable boot device
751           support.
753 config RTC
754         bool
755         default n
757 config HEAP_SIZE
758         hex
759         default 0x100000
761 config STACK_SIZE
762         hex
763         default 0x2000 if ARCH_X86
764         default 0x0
766 config MAX_CPUS
767         int
768         default 1
770 source "src/console/Kconfig"
772 config ACPI_S1_NOT_SUPPORTED
773         bool
774         default n
775         help
776           Set this to 'y' on platforms that do not support ACPI S1 state.
778 config HAVE_ACPI_RESUME
779         bool
780         default n
782 config DISABLE_ACPI_HIBERNATE
783         bool
784         default n
785         help
786           Removes S4 from the available sleepstates
788 config RESUME_PATH_SAME_AS_BOOT
789         bool
790         default y if ARCH_X86
791         depends on HAVE_ACPI_RESUME
792         help
793           This option indicates that when a system resumes it takes the
794           same path as a regular boot. e.g. an x86 system runs from the
795           reset vector at 0xfffffff0 on both resume and warm/cold boot.
797 config NO_MONOTONIC_TIMER
798         def_bool n
800 config HAVE_MONOTONIC_TIMER
801         bool
802         depends on !NO_MONOTONIC_TIMER
803         default y
804         help
805          The board/chipset provides a monotonic timer.
807 config GENERIC_UDELAY
808         bool
809         depends on HAVE_MONOTONIC_TIMER
810         default y if !ARCH_X86
811         help
812          The board/chipset uses a generic udelay function utilizing the
813          monotonic timer.
815 config TIMER_QUEUE
816         def_bool n
817         depends on HAVE_MONOTONIC_TIMER
818         help
819           Provide a timer queue for performing time-based callbacks.
821 config COOP_MULTITASKING
822         def_bool n
823         select TIMER_QUEUE
824         depends on ARCH_X86
825         help
826           Cooperative multitasking allows callbacks to be multiplexed on the
827           main thread. With this enabled it allows for multiple execution paths
828           to take place when they have udelay() calls within their code.
830 config NUM_THREADS
831         int
832         default 4
833         depends on COOP_MULTITASKING
834         help
835           How many execution threads to cooperatively multitask with.
837 config HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
838         bool
839         help
840           Selected by mainboards which implement a mainboard-specific mechanism
841           to access the values for runtime-configurable options. For example, a
842           custom BMC interface or an EEPROM with an externally-imposed layout.
844 config HAVE_OPTION_TABLE
845         bool
846         default n
847         help
848           This variable specifies whether a given board has a cmos.layout
849           file containing NVRAM/CMOS bit definitions.
850           It defaults to 'n' but can be selected in mainboard/*/Kconfig.
852 config CMOS_LAYOUT_FILE
853         string
854         default "src/mainboard/\$(MAINBOARDDIR)/cmos.layout"
855         depends on HAVE_OPTION_TABLE
857 config PCI_IO_CFG_EXT
858         bool
859         default n
861 config IOAPIC
862         bool
863         default y if SMP
864         default n
866 config USE_WATCHDOG_ON_BOOT
867         bool
868         default n
870 config GFXUMA
871         bool
872         default n
873         help
874           Enable Unified Memory Architecture for graphics.
876 config HAVE_MP_TABLE
877         bool
878         help
879           This variable specifies whether a given board has MP table support.
880           It is usually set in mainboard/*/Kconfig.
881           Whether or not the MP table is actually generated by coreboot
882           is configurable by the user via GENERATE_MP_TABLE.
884 config HAVE_PIRQ_TABLE
885         bool
886         help
887           This variable specifies whether a given board has PIRQ table support.
888           It is usually set in mainboard/*/Kconfig.
889           Whether or not the PIRQ table is actually generated by coreboot
890           is configurable by the user via GENERATE_PIRQ_TABLE.
892 config ACPI_NHLT
893         bool
894         default n
895         help
896           Build support for NHLT (non HD Audio) ACPI table generation.
898 #These Options are here to avoid "undefined" warnings.
899 #The actual selection and help texts are in the following menu.
901 menu "System tables"
903 config GENERATE_MP_TABLE
904         prompt "Generate an MP table" if HAVE_MP_TABLE
905         bool
906         depends on !ECAM_MMCONF_SUPPORT || ECAM_MMCONF_BUS_NUMBER <= 256
907         default HAVE_MP_TABLE
908         help
909           Generate an MP table (conforming to the Intel MultiProcessor
910           specification 1.4) for this board.
912           If unsure, say Y.
914 config GENERATE_PIRQ_TABLE
915         prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
916         bool
917         default HAVE_PIRQ_TABLE
918         help
919           Generate a PIRQ table for this board.
921           If unsure, say Y.
923 config GENERATE_SMBIOS_TABLES
924         depends on ARCH_X86 || ARCH_ARM64
925         bool "Generate SMBIOS tables"
926         default n if ARCH_ARM64
927         default y
928         help
929           Generate SMBIOS tables for this board.
931           If unsure, say Y.
933 config SMBIOS_TYPE41_PROVIDED_BY_DEVTREE
934         bool
935         depends on ARCH_X86
936         help
937           If enabled, only generate SMBIOS Type 41 entries for PCI devices in
938           the devicetree for which Type 41 information is provided, e.g. with
939           the `smbios_dev_info` devicetree syntax. This is useful to manually
940           assign specific instance IDs to onboard devices irrespective of the
941           device traversal order. It is assumed that instance IDs for devices
942           of the same class are unique.
943           When disabled, coreboot autogenerates SMBIOS Type 41 entries for all
944           appropriate PCI devices in the devicetree. Instance IDs are assigned
945           successive numbers from a monotonically increasing counter, with one
946           counter for each device class.
948 config SMBIOS_PROVIDED_BY_MOBO
949         bool
950         default n
952 if GENERATE_SMBIOS_TABLES
954 config BIOS_VENDOR
955         prompt "SMBIOS BIOS Vendor name"
956         string
957         default "coreboot"
958         help
959           The BIOS Vendor name to store in the SMBIOS Type0 table.
961 config MAINBOARD_SERIAL_NUMBER
962         prompt "SMBIOS Serial Number" if !SMBIOS_PROVIDED_BY_MOBO
963         string
964         default "123456789"
965         help
966           The Serial Number to store in SMBIOS structures.
968 config MAINBOARD_VERSION
969         prompt "SMBIOS Version Number" if !SMBIOS_PROVIDED_BY_MOBO
970         string
971         default "1.0"
972         help
973           The Version Number to store in SMBIOS structures.
975 config MAINBOARD_SMBIOS_MANUFACTURER
976         prompt "SMBIOS Manufacturer" if !SMBIOS_PROVIDED_BY_MOBO
977         string
978         default MAINBOARD_VENDOR
979         help
980           Override the default Manufacturer stored in SMBIOS structures.
982 config MAINBOARD_SMBIOS_PRODUCT_NAME
983         prompt "SMBIOS Product name" if !SMBIOS_PROVIDED_BY_MOBO
984         string
985         default MAINBOARD_PART_NUMBER
986         help
987           Override the default Product name stored in SMBIOS structures.
989 config VPD_SMBIOS_VERSION
990         bool "Populates SMBIOS type 0 version from the VPD_RO variable 'firmware_version'"
991         default n
992         depends on VPD
993         help
994           Selecting this option will read firmware_version from
995           VPD_RO and override SMBIOS type 0 version. One special
996           scenario of using this feature is to assign a BIOS version
997           to a coreboot image without the need to rebuild from source.
999 endif
1001 endmenu
1003 source "payloads/Kconfig"
1005 menu "Debugging"
1007 comment "CPU Debug Settings"
1008 source "src/cpu/*/Kconfig.debug_cpu"
1010 comment "Vendorcode Debug Settings"
1011         source "src/vendorcode/*/*/Kconfig.debug"
1013 comment "BLOB Debug Settings"
1014 source "src/drivers/intel/fsp*/Kconfig.debug_blob"
1016 comment "General Debug Settings"
1018 # TODO: Better help text and detailed instructions.
1019 config GDB_STUB
1020         bool "GDB debugging support"
1021         default n
1022 # FIXME Not implemented in long mode
1023         depends on DRIVERS_UART && !USE_X86_64_SUPPORT
1024         help
1025           If enabled, you will be able to set breakpoints for gdb debugging.
1026           See src/arch/x86/c_start.S for details.
1028 config GDB_WAIT
1029         bool "Wait for a GDB connection in the ramstage"
1030         default n
1031         depends on GDB_STUB
1032         help
1033           If enabled, coreboot will wait for a GDB connection in the ramstage.
1036 config FATAL_ASSERTS
1037         bool "Halt when hitting a BUG() or assertion error"
1038         default n
1039         help
1040           If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
1042 config HAVE_DEBUG_GPIO
1043         bool
1045 config DEBUG_GPIO
1046         bool "Output verbose GPIO debug messages"
1047         depends on HAVE_DEBUG_GPIO
1049 config DEBUG_CBFS
1050         bool "Output verbose CBFS debug messages"
1051         default n
1052         help
1053           This option enables additional CBFS related debug messages.
1055 config HAVE_DEBUG_RAM_SETUP
1056         def_bool n
1058 config DEBUG_RAM_SETUP
1059         bool "Output verbose RAM init debug messages"
1060         default n
1061         depends on HAVE_DEBUG_RAM_SETUP
1062         help
1063           This option enables additional RAM init related debug messages.
1064           It is recommended to enable this when debugging issues on your
1065           board which might be RAM init related.
1067           Note: This option will increase the size of the coreboot image.
1069           If unsure, say N.
1071 config DEBUG_PIRQ
1072         bool "Check PIRQ table consistency"
1073         default n
1074         depends on GENERATE_PIRQ_TABLE
1075         help
1076           If unsure, say N.
1078 config HAVE_DEBUG_SMBUS
1079         def_bool n
1081 config DEBUG_SMBUS
1082         bool "Output verbose SMBus debug messages"
1083         default n
1084         depends on HAVE_DEBUG_SMBUS
1085         help
1086           This option enables additional SMBus (and SPD) debug messages.
1088           Note: This option will increase the size of the coreboot image.
1090           If unsure, say N.
1092 config DEBUG_SMI
1093         bool "Output verbose SMI debug messages"
1094         default n
1095         depends on HAVE_SMI_HANDLER
1096         select SPI_FLASH_SMM if EM100PRO_SPI_CONSOLE || CONSOLE_SPI_FLASH
1097         help
1098           This option enables additional SMI related debug messages.
1100           Note: This option will increase the size of the coreboot image.
1102           If unsure, say N.
1104 config DEBUG_PERIODIC_SMI
1105         bool "Trigger SMI periodically"
1106         depends on DEBUG_SMI
1108 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1109 # printk(BIOS_DEBUG, ...) calls.
1110 config DEBUG_MALLOC
1111         prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1112         bool
1113         default n
1114         help
1115           This option enables additional malloc related debug messages.
1117           Note: This option will increase the size of the coreboot image.
1119           If unsure, say N.
1121 # Only visible if DEBUG_SPEW (8) is set.
1122 config DEBUG_RESOURCES
1123         bool "Output verbose PCI MEM and IO resource debug messages" if DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1124         default n
1125         help
1126           This option enables additional PCI memory and IO debug messages.
1127           Note: This option will increase the size of the coreboot image.
1128           If unsure, say N.
1130 config DEBUG_CONSOLE_INIT
1131         bool "Debug console initialisation code"
1132         default n
1133         help
1134           With this option printk()'s are attempted before console hardware
1135           initialisation has been completed. Your mileage may vary.
1137           Typically you will need to modify source in console_hw_init() such
1138           that a working console appears before the one you want to debug.
1140           If unsure, say N.
1142 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1143 # printk(BIOS_DEBUG, ...) calls.
1144 config REALMODE_DEBUG
1145         prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1146         bool
1147         default n
1148         depends on PCI_OPTION_ROM_RUN_REALMODE
1149         help
1150           This option enables additional x86emu related debug messages.
1152           Note: This option will increase the time to emulate a ROM.
1154           If unsure, say N.
1156 config X86EMU_DEBUG
1157         bool "Output verbose x86emu debug messages"
1158         default n
1159         depends on PCI_OPTION_ROM_RUN_YABEL
1160         help
1161           This option enables additional x86emu related debug messages.
1163           Note: This option will increase the size of the coreboot image.
1165           If unsure, say N.
1167 if X86EMU_DEBUG
1169 config X86EMU_DEBUG_JMP
1170         bool "Trace JMP/RETF"
1171         default n
1172         help
1173           Print information about JMP and RETF opcodes from x86emu.
1175           Note: This option will increase the size of the coreboot image.
1177           If unsure, say N.
1179 config X86EMU_DEBUG_TRACE
1180         bool "Trace all opcodes"
1181         default n
1182         help
1183           Print _all_ opcodes that are executed by x86emu.
1185           WARNING: This will produce a LOT of output and take a long time.
1187           Note: This option will increase the size of the coreboot image.
1189           If unsure, say N.
1191 config X86EMU_DEBUG_PNP
1192         bool "Log Plug&Play accesses"
1193         default n
1194         help
1195           Print Plug And Play accesses made by option ROMs.
1197           Note: This option will increase the size of the coreboot image.
1199           If unsure, say N.
1201 config X86EMU_DEBUG_DISK
1202         bool "Log Disk I/O"
1203         default n
1204         help
1205           Print Disk I/O related messages.
1207           Note: This option will increase the size of the coreboot image.
1209           If unsure, say N.
1211 config X86EMU_DEBUG_PMM
1212         bool "Log PMM"
1213         default n
1214         help
1215           Print messages related to POST Memory Manager (PMM).
1217           Note: This option will increase the size of the coreboot image.
1219           If unsure, say N.
1222 config X86EMU_DEBUG_VBE
1223         bool "Debug VESA BIOS Extensions"
1224         default n
1225         help
1226           Print messages related to VESA BIOS Extension (VBE) functions.
1228           Note: This option will increase the size of the coreboot image.
1230           If unsure, say N.
1232 config X86EMU_DEBUG_INT10
1233         bool "Redirect INT10 output to console"
1234         default n
1235         help
1236           Let INT10 (i.e. character output) calls print messages to debug output.
1238           Note: This option will increase the size of the coreboot image.
1240           If unsure, say N.
1242 config X86EMU_DEBUG_INTERRUPTS
1243         bool "Log intXX calls"
1244         default n
1245         help
1246           Print messages related to interrupt handling.
1248           Note: This option will increase the size of the coreboot image.
1250           If unsure, say N.
1252 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
1253         bool "Log special memory accesses"
1254         default n
1255         help
1256           Print messages related to accesses to certain areas of the virtual
1257           memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1259           Note: This option will increase the size of the coreboot image.
1261           If unsure, say N.
1263 config X86EMU_DEBUG_MEM
1264         bool "Log all memory accesses"
1265         default n
1266         help
1267           Print memory accesses made by option ROM.
1268           Note: This also includes accesses to fetch instructions.
1270           Note: This option will increase the size of the coreboot image.
1272           If unsure, say N.
1274 config X86EMU_DEBUG_IO
1275         bool "Log IO accesses"
1276         default n
1277         help
1278           Print I/O accesses made by option ROM.
1280           Note: This option will increase the size of the coreboot image.
1282           If unsure, say N.
1284 config X86EMU_DEBUG_TIMINGS
1285         bool "Output timing information"
1286         default n
1287         depends on HAVE_MONOTONIC_TIMER
1288         help
1289           Print timing information needed by i915tool.
1291           If unsure, say N.
1293 endif
1295 config DEBUG_SPI_FLASH
1296         bool "Output verbose SPI flash debug messages"
1297         default n
1298         depends on SPI_FLASH
1299         help
1300           This option enables additional SPI flash related debug messages.
1302 config DEBUG_IPMI
1303         bool "Output verbose IPMI debug messages"
1304         default n
1305         depends on IPMI_KCS
1306         help
1307           This option enables additional IPMI related debug messages.
1309 if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1310 # Only visible with the right southbridge and loglevel.
1311 config DEBUG_INTEL_ME
1312         bool "Verbose logging for Intel Management Engine"
1313         default n
1314         help
1315           Enable verbose logging for Intel Management Engine driver that
1316           is present on Intel 6-series chipsets.
1317 endif
1319 config DEBUG_FUNC
1320         bool "Enable function entry and exit reporting macros" if DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1321         default n
1322         help
1323           This option enables additional function entry and exit debug messages
1324           for select functions.
1325           Note: This option will increase the size of the coreboot image.
1326           If unsure, say N.
1328 config DEBUG_COVERAGE
1329         bool "Debug code coverage"
1330         default n
1331         depends on COVERAGE
1332         help
1333           If enabled, the code coverage hooks in coreboot will output some
1334           information about the coverage data that is dumped.
1336 config DEBUG_BOOT_STATE
1337         bool "Debug boot state machine"
1338         default n
1339         help
1340           Control debugging of the boot state machine.  When selected displays
1341           the state boundaries in ramstage.
1343 config DEBUG_ADA_CODE
1344         bool "Compile debug code in Ada sources"
1345         default n
1346         help
1347           Add the compiler switch `-gnata` to compile code guarded by
1348           `pragma Debug`.
1350 config HAVE_EM100_SUPPORT
1351         bool
1352         help
1353           This is enabled by platforms which can support using the EM100.
1355 config EM100
1356         bool "Configure image for EM100 usage"
1357         depends on HAVE_EM100_SUPPORT
1358         help
1359           The Dediprog EM100 SPI emulator allows fast loading of new SPI images
1360           over USB. However it only supports a maximum SPI clock of 20MHz and
1361           single data output. Enable this option to use a 20MHz SPI clock and
1362           disable "Dual Output Fast Read" Support.
1364           On AMD platforms this changes the SPI speed at run-time if the
1365           mainboard code supports this. On supported Intel platforms this works
1366           by changing the settings in the descriptor.bin file.
1368 config DEBUG_ACPICA_COMPATIBLE
1369         bool "Print out ACPI tables in ACPICA compatible format"
1370         depends on HAVE_ACPI_TABLES
1371         help
1372           Select this to print out ACPI tables in an ACPICA compatible
1373           format. Set the console loglevel to verbosity 'SPEW'.
1374           To analyze ACPI tables capture the coreboot log between
1375           "Printing ACPI in ACPICA compatible table" and "Done printing
1376           ACPI in ACPICA compatible table".
1377           Remove the prefix "[SPEW ]  " and then issue 'acpixtract -a dump'
1378           to extract all the tables. Then use 'iasl -d' on the .dat files
1379           to decompile the tables.
1381 endmenu
1383 ###############################################################################
1384 # Set variables with no prompt - these can be set anywhere, and putting at
1385 # the end of this file gives the most flexibility.
1387 source "src/lib/Kconfig"
1389 config WARNINGS_ARE_ERRORS
1390         bool
1391         default y
1393 # The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1394 # POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1395 # mutually exclusive. One of these options must be selected in the
1396 # mainboard Kconfig if the chipset supports enabling and disabling of
1397 # the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1398 # in mainboard/Kconfig to know if the button should be enabled or not.
1400 config POWER_BUTTON_DEFAULT_ENABLE
1401         def_bool n
1402         help
1403           Select when the board has a power button which can optionally be
1404           disabled by the user.
1406 config POWER_BUTTON_DEFAULT_DISABLE
1407         def_bool n
1408         help
1409           Select when the board has a power button which can optionally be
1410           enabled by the user, e.g. when the board ships with a jumper over
1411           the power switch contacts.
1413 config POWER_BUTTON_FORCE_ENABLE
1414         def_bool n
1415         help
1416           Select when the board requires that the power button is always
1417           enabled.
1419 config POWER_BUTTON_FORCE_DISABLE
1420         def_bool n
1421         help
1422           Select when the board requires that the power button is always
1423           disabled, e.g. when it has been hardwired to ground.
1425 config POWER_BUTTON_IS_OPTIONAL
1426         bool
1427         default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1428         default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1429         help
1430           Internal option that controls ENABLE_POWER_BUTTON visibility.
1432 config REG_SCRIPT
1433         bool
1434         default n
1435         help
1436           Internal option that controls whether we compile in register scripts.
1438 config MAX_REBOOT_CNT
1439         int
1440         default 3
1441         help
1442           Internal option that sets the maximum number of bootblock executions allowed
1443           with the normal image enabled before assuming the normal image is defective
1444           and switching to the fallback image.
1446 config UNCOMPRESSED_RAMSTAGE
1447         bool
1449 config NO_XIP_EARLY_STAGES
1450         bool
1451         default n if ARCH_X86
1452         default y
1453         help
1454           Identify if early stages are eXecute-In-Place(XIP).
1456 config EARLY_CBMEM_LIST
1457         bool
1458         default n
1459         help
1460           Enable display of CBMEM during romstage and postcar.
1462 config RELOCATABLE_MODULES
1463         bool
1464         help
1465           If RELOCATABLE_MODULES is selected then support is enabled for
1466           building relocatable modules in the RAM stage. Those modules can be
1467           loaded anywhere and all the relocations are handled automatically.
1469 config GENERIC_GPIO_LIB
1470         bool
1471         help
1472           If enabled, compile the generic GPIO library. A "generic" GPIO
1473           implies configurability usually found on SoCs, particularly the
1474           ability to control internal pull resistors.
1476 config BOOTBLOCK_CUSTOM
1477         # To be selected by arch, SoC or mainboard if it does not want use the normal
1478         # src/lib/bootblock.c#main() C entry point.
1479         bool
1481 config BOOTBLOCK_IN_CBFS
1482         bool
1483         default y if ARCH_X86
1484         help
1485           Select this on platforms that have a top aligned bootblock inside cbfs.
1487 config MEMLAYOUT_LD_FILE
1488         string
1489         default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/memlayout.ld"
1490         help
1491           This variable allows SoC/mainboard to supply in a custom linker file
1492           if required. This determines the linker file used for all the stages
1493           (bootblock, romstage, verstage, ramstage, postcar) in
1494           src/arch/${ARCH}/Makefile.mk.
1496 ###############################################################################
1497 # Set default values for symbols created before mainboards.  This allows the
1498 # option to be displayed in the general menu, but the default to be loaded in
1499 # the mainboard if desired.
1500 config COMPRESS_PRERAM_STAGES
1501         depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
1502         default y
1504 config INCLUDE_CONFIG_FILE
1505         default y
1507 config BOOTSPLASH_FILE
1508         depends on BOOTSPLASH_IMAGE
1509         default "bootsplash.jpg"
1511 config BOOTSPLASH_CONVERT_QUALITY
1512         depends on BOOTSPLASH_CONVERT
1513         default 80
1515 config BOOTSPLASH_CONVERT_RESOLUTION
1516         depends on BOOTSPLASH_CONVERT_RESIZE
1517         default "1024x768"
1519 config CBFS_SIZE
1520         default ROM_SIZE
1522 config HAVE_BOOTBLOCK
1523         bool
1524         default y
1526 config HAVE_VERSTAGE
1527         bool
1528         depends on VBOOT_SEPARATE_VERSTAGE
1529         default y
1531 config HAVE_ROMSTAGE
1532         bool
1533         depends on SEPARATE_ROMSTAGE
1534         default y
1536 config HAVE_RAMSTAGE
1537         bool
1538         default n if RAMPAYLOAD
1539         default y
1541 config SEPARATE_ROMSTAGE
1542         default y