1 ## SPDX-License-Identifier: GPL-2.0-only
3 config MAINBOARD_HAS_CHROMEOS
7 depends on MAINBOARD_HAS_CHROMEOS
10 bool "Build for ChromeOS"
12 select ELOG if BOOT_DEVICE_SUPPORTS_WRITES
13 select COLLECT_TIMESTAMPS
15 select CHROMEOS_NVS if ACPI_SOC_NVS
17 select VBOOT_SLOTS_RW_AB
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.
25 config CHROMEOS_RAMOOPS
26 bool "Reserve space for ChromeOS ramoops"
29 config CHROMEOS_RAMOOPS_RAM_SIZE
30 hex "Size of preserved RAM"
32 depends on CHROMEOS_RAMOOPS
34 config HAVE_REGULATORY_DOMAIN
35 bool "Add regulatory domain methods"
38 This option is needed to add ACPI regulatory domain methods
40 config CHROMEOS_DISABLE_PLATFORM_HIERARCHY_ON_RESUME
43 depends on TPM2 && RESUME_PATH_SAME_AS_BOOT
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
58 Use the AP watchdog flag stored in EC.
60 config CHROMEOS_CSE_BOARD_RESET_OVERRIDE
63 depends on SOC_INTEL_CSE_LITE_SKU
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
73 depends on EC_GOOGLE_CHROMEEC
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.
80 depends on ACPI_SOC_NVS
82 config CHROMEOS_FW_SPLASH_SCREEN
83 bool "Display Splash Screen in firmware"
86 select HAVE_CUSTOM_BMP_LOGO
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
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
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
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