libpayload: configs: Add new config.featuretest to broaden CI
[coreboot2.git] / src / vendorcode / google / chromeos / Kconfig
blob60f48fef335b16e87d8b31d874aad00cdd688744
1 ## SPDX-License-Identifier: GPL-2.0-only
3 config MAINBOARD_HAS_CHROMEOS
4         def_bool n
6 menu "ChromeOS"
7         depends on MAINBOARD_HAS_CHROMEOS
9 config CHROMEOS
10         bool "Build for ChromeOS"
11         default n
12         select ELOG if BOOT_DEVICE_SUPPORTS_WRITES
13         select COLLECT_TIMESTAMPS
14         select VBOOT
15         select CHROMEOS_NVS if ACPI_SOC_NVS
16         select VPD
17         select VBOOT_SLOTS_RW_AB
18         help
19           Enable ChromeOS specific features like the GPIO sub table in
20           the coreboot table. NOTE: Enabling this option on an unsupported
21           board will most likely break your build.
23 if CHROMEOS
25 config CHROMEOS_RAMOOPS
26         bool "Reserve space for ChromeOS ramoops"
27         default y
29 config CHROMEOS_RAMOOPS_RAM_SIZE
30         hex "Size of preserved RAM"
31         default 0x00100000
32         depends on CHROMEOS_RAMOOPS
34 config HAVE_REGULATORY_DOMAIN
35         bool "Add regulatory domain methods"
36         default n
37         help
38          This option is needed to add ACPI regulatory domain methods
40 config CHROMEOS_DISABLE_PLATFORM_HIERARCHY_ON_RESUME
41         bool
42         default y
43         depends on TPM2 && RESUME_PATH_SAME_AS_BOOT
44         help
45           Disable the platform hierarchy on resume path if the firmware
46           is involved in resume. The hierarchy is disabled prior to jumping
47           to the OS.  Note that this option is sepcific to TPM2 boards.
48           This option is auto selected if CHROMEOS because it matches with
49           vboot_reference model which disables the platform hierarchy in
50           the boot loader. However, those operations need to be symmetric
51           on normal boot as well as resume and coreboot is only involved
52           in the resume piece w.r.t. the platform hierarchy.
54 config CHROMEOS_USE_EC_WATCHDOG_FLAG
55         bool
56         default n
57         help
58           Use the AP watchdog flag stored in EC.
60 config CHROMEOS_CSE_BOARD_RESET_OVERRIDE
61         bool
62         default n
63         depends on SOC_INTEL_CSE_LITE_SKU
64         help
65           On some boards that run old firmware version in cr50, Embedded Controller (EC) needs
66           to trigger the cold reset of Application Processor (AP) when CSE jumps from RO to RW
67           so that cr50 resets the TPM state. This is required on boards where the cr50 firmware
68           does not understand the new cr50 strap config (applicable only to boards using strap
69           config 0xe). Enabling this config will help to override the default global reset.
71 config CHROMEOS_DRAM_PART_NUMBER_IN_CBI
72         def_bool n
73         depends on EC_GOOGLE_CHROMEEC
74         help
75           Some boards declare the DRAM part number in the CBI instead of the SPD.  This option
76           allows those boards to declare that their DRAM part number is stored in the CBI.
78 config CHROMEOS_NVS
79         bool
80         depends on ACPI_SOC_NVS
82 config CHROMEOS_FW_SPLASH_SCREEN
83         bool "Display Splash Screen in firmware"
84         default n
85         select BMP_LOGO
86         select HAVE_CUSTOM_BMP_LOGO
87         help
88           Select this option to display the manufacturer's logo or
89           custom image (OEM splash screen) early in the boot process.
90           This can enhance the user experience by providing visual
91           feedback while the system starts up. For example, ChromeOS
92           devices use this option to show their logo before the operating
93           system loads.
95 config CHROMEOS_LOGO_PATH
96         string "Path to ChromeOS logo file"
97         depends on CHROMEOS_FW_SPLASH_SCREEN
98         default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/logo.bmp"
100 config CHROMEBOOK_PLUS_LOGO_PATH
101         string "Path to Chromebook Plus logo file"
102         depends on CHROMEOS_FW_SPLASH_SCREEN
103         default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/logo.bmp"
105 config CHROMEOS_ENABLE_ESOL
106         def_bool FSP_UGOP_EARLY_SIGN_OF_LIFE || MAINBOARD_HAS_EARLY_LIBGFXINIT
107         help
108           Early sign-of-life (eSOL) provides an early boot notification during
109           critical firmware updates on Chrome OS devices, particularly for
110           updates requiring a restart (e.g., CSE and FSP).
112           eSOL Implementation Options:
114           - FSP uGOP: Closed-source solution from Intel's Firmware Support
115           Package.
116           - libgfxinit: Open-source graphics initialization library.
118           Platforms before Intel Meteor Lake are expected to use the libgfxinit.
120           Devices from Intel Meteor Lake onwards will utilize the Intel FSP
121           uGOP driver for eSOL.
123           If your platform supports eSOL, enable it by selecting the
124           appropriate option.
126 endif # CHROMEOS
127 endmenu