From 6560bc04129f16ef9587f973f55c252b8aa119c4 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Sat, 24 Jan 2026 11:54:20 -0600 Subject: [PATCH] mb/google: Set CBFS_SIZE to IFD BIOS size for Intel-based boards Set CBFS_SIZE to match the SI_BIOS region size defined in each board's chromeos.fmd file, up to a maximum of 16MiB. This ensures the largest possible region is available for CBFS use without requiring manual CBFS_SIZE overrides. The size is capped at 16MiB as that is the largest area that can be memory mapped, the FIT pointer must be located in the top 16MiB. This change applies to all Intel-based Google mainboards with ChromeOS FMD layouts that explicitly define SI_BIOS region sizes, and which do not define a default non-ChromeOS FMAP layout (octopus, reef). For boards with multiple ChromeOS FMD files, CBFS_SIZE is set conditionally based on ROM size or silicon variant, using the same logic as to select the ChromeOS FMD file. This eliminates the need to override CBFS_SIZE when using larger payloads (e.g., edk2) or multiple payloads, making the default configuration more flexible. TEST=build/boot various google boards with edk2 payload without overriding CBFS_SIZE. Change-Id: If7ef6cc96afcdd025958c578ad80fd0db641582a Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/90883 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Alicja Michalska --- src/mainboard/google/auron/Kconfig | 3 +++ src/mainboard/google/beltino/Kconfig | 3 +++ src/mainboard/google/brox/Kconfig | 3 +++ src/mainboard/google/brya/Kconfig | 4 ++++ src/mainboard/google/butterfly/Kconfig | 3 +++ src/mainboard/google/dedede/Kconfig | 4 ++++ src/mainboard/google/drallion/Kconfig | 3 +++ src/mainboard/google/eve/Kconfig | 3 +++ src/mainboard/google/fatcat/Kconfig | 3 +++ src/mainboard/google/fizz/Kconfig | 3 +++ src/mainboard/google/glados/Kconfig | 3 +++ src/mainboard/google/hatch/Kconfig | 4 ++++ src/mainboard/google/jecht/Kconfig | 3 +++ src/mainboard/google/kahlee/Kconfig | 3 +++ src/mainboard/google/link/Kconfig | 3 +++ src/mainboard/google/ocelot/Kconfig | 3 +++ src/mainboard/google/parrot/Kconfig | 3 +++ src/mainboard/google/poppy/Kconfig | 3 +++ src/mainboard/google/puff/Kconfig | 4 ++++ src/mainboard/google/rambi/Kconfig | 3 +++ src/mainboard/google/rex/Kconfig | 3 +++ src/mainboard/google/sarien/Kconfig | 3 +++ src/mainboard/google/slippy/Kconfig | 3 +++ src/mainboard/google/stout/Kconfig | 3 +++ src/mainboard/google/volteer/Kconfig | 3 +++ 25 files changed, 79 insertions(+) diff --git a/src/mainboard/google/auron/Kconfig b/src/mainboard/google/auron/Kconfig index a9039912db..10d9a35191 100644 --- a/src/mainboard/google/auron/Kconfig +++ b/src/mainboard/google/auron/Kconfig @@ -71,6 +71,9 @@ config MAINBOARD_PART_NUMBER config OVERRIDE_DEVICETREE default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/beltino/Kconfig b/src/mainboard/google/beltino/Kconfig index 9f061c2aae..0b5be0d535 100644 --- a/src/mainboard/google/beltino/Kconfig +++ b/src/mainboard/google/beltino/Kconfig @@ -66,6 +66,9 @@ config MAINBOARD_FAMILY config INTEL_GMA_VBT_FILE default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" if !BOARD_GOOGLE_MONROE +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/brox/Kconfig b/src/mainboard/google/brox/Kconfig index 44db591f32..45e989c8e5 100644 --- a/src/mainboard/google/brox/Kconfig +++ b/src/mainboard/google/brox/Kconfig @@ -213,6 +213,9 @@ config HAVE_WWAN_POWER_SEQUENCE config HAVE_PCIE_WWAN def_bool n +config CBFS_SIZE + default 0x1000000 + config USE_PM_ACPI_TIMER default n diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig index 6a4082dfdf..707ffc9b4d 100644 --- a/src/mainboard/google/brya/Kconfig +++ b/src/mainboard/google/brya/Kconfig @@ -1186,6 +1186,10 @@ config UART_FOR_CONSOLE int default 0 +config CBFS_SIZE + default 0xc60000 if BOARD_ROMSIZE_KB_16384 + default 0x1000000 if BOARD_ROMSIZE_KB_32768 + config HAVE_WWAN_POWER_SEQUENCE def_bool n help diff --git a/src/mainboard/google/butterfly/Kconfig b/src/mainboard/google/butterfly/Kconfig index 432374bb97..09ef13511b 100644 --- a/src/mainboard/google/butterfly/Kconfig +++ b/src/mainboard/google/butterfly/Kconfig @@ -35,6 +35,9 @@ config MAINBOARD_DIR config MAINBOARD_PART_NUMBER default "Butterfly" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_VENDOR string default "Hewlett-Packard" diff --git a/src/mainboard/google/dedede/Kconfig b/src/mainboard/google/dedede/Kconfig index d6af56057d..7e470d6b87 100644 --- a/src/mainboard/google/dedede/Kconfig +++ b/src/mainboard/google/dedede/Kconfig @@ -310,6 +310,10 @@ config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-16MiB.fmd" if CHROMEOS && BOARD_ROMSIZE_KB_16384 default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-32MiB.fmd" if CHROMEOS && BOARD_ROMSIZE_KB_32768 +config CBFS_SIZE + default 0xc7f000 if BOARD_ROMSIZE_KB_16384 + default 0x1000000 if BOARD_ROMSIZE_KB_32768 + config MAINBOARD_DIR default "google/dedede" diff --git a/src/mainboard/google/drallion/Kconfig b/src/mainboard/google/drallion/Kconfig index 34c9da5a8e..1353447ee2 100644 --- a/src/mainboard/google/drallion/Kconfig +++ b/src/mainboard/google/drallion/Kconfig @@ -98,4 +98,7 @@ config VBOOT config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/default.fmd" if !CHROMEOS +config CBFS_SIZE + default 0x1000000 + endif # BOARD_GOOGLE_BASEBOARD_DRALLION diff --git a/src/mainboard/google/eve/Kconfig b/src/mainboard/google/eve/Kconfig index b473d502bf..cd4c5ad5e6 100644 --- a/src/mainboard/google/eve/Kconfig +++ b/src/mainboard/google/eve/Kconfig @@ -74,6 +74,9 @@ config UART_FOR_CONSOLE int default 2 +config CBFS_SIZE + default 0xe00000 + config USE_PM_ACPI_TIMER default n endif diff --git a/src/mainboard/google/fatcat/Kconfig b/src/mainboard/google/fatcat/Kconfig index 15b149b226..20889dbdf0 100644 --- a/src/mainboard/google/fatcat/Kconfig +++ b/src/mainboard/google/fatcat/Kconfig @@ -244,6 +244,9 @@ config UART_FOR_CONSOLE int default 0 +config CBFS_SIZE + default 0x1000000 + config USE_PM_ACPI_TIMER default n diff --git a/src/mainboard/google/fizz/Kconfig b/src/mainboard/google/fizz/Kconfig index d07ce2ff10..daaf81410a 100644 --- a/src/mainboard/google/fizz/Kconfig +++ b/src/mainboard/google/fizz/Kconfig @@ -102,6 +102,9 @@ config UART_FOR_CONSOLE int default 2 +config CBFS_SIZE + default 0xe00000 + config USE_PM_ACPI_TIMER default n diff --git a/src/mainboard/google/glados/Kconfig b/src/mainboard/google/glados/Kconfig index 6786d1b5f1..746e326c04 100644 --- a/src/mainboard/google/glados/Kconfig +++ b/src/mainboard/google/glados/Kconfig @@ -128,6 +128,9 @@ config UART_FOR_CONSOLE int default 2 +config CBFS_SIZE + default 0xe00000 + config CONSOLE_SERIAL bool default n diff --git a/src/mainboard/google/hatch/Kconfig b/src/mainboard/google/hatch/Kconfig index 1336c65eed..1f9a7d2eb0 100644 --- a/src/mainboard/google/hatch/Kconfig +++ b/src/mainboard/google/hatch/Kconfig @@ -125,6 +125,10 @@ config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-16MiB.fmd" if BOARD_ROMSIZE_KB_16384 && CHROMEOS default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-32MiB.fmd" if BOARD_ROMSIZE_KB_32768 && CHROMEOS +config CBFS_SIZE + default 0xc00000 if BOARD_ROMSIZE_KB_16384 + default 0x1000000 if BOARD_ROMSIZE_KB_32768 + config MAINBOARD_DIR default "google/hatch" diff --git a/src/mainboard/google/jecht/Kconfig b/src/mainboard/google/jecht/Kconfig index 0ced2cd61d..0edbf5ebab 100644 --- a/src/mainboard/google/jecht/Kconfig +++ b/src/mainboard/google/jecht/Kconfig @@ -55,6 +55,9 @@ config MAINBOARD_PART_NUMBER config INTEL_GMA_VBT_FILE default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" if !BOARD_GOOGLE_TIDUS +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/kahlee/Kconfig b/src/mainboard/google/kahlee/Kconfig index b3fb71a04e..157c317a62 100644 --- a/src/mainboard/google/kahlee/Kconfig +++ b/src/mainboard/google/kahlee/Kconfig @@ -103,6 +103,9 @@ config FMDFILE but in some cases more complex setups are required. When an fmd is specified, it overrides the default format. +config CBFS_SIZE + default 0x1000000 + config MAX_CPUS int default 4 diff --git a/src/mainboard/google/link/Kconfig b/src/mainboard/google/link/Kconfig index df85382246..ab889f1c24 100644 --- a/src/mainboard/google/link/Kconfig +++ b/src/mainboard/google/link/Kconfig @@ -38,6 +38,9 @@ config MAINBOARD_DIR config MAINBOARD_PART_NUMBER default "Link" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/ocelot/Kconfig b/src/mainboard/google/ocelot/Kconfig index b20ef17289..d5e37c742f 100644 --- a/src/mainboard/google/ocelot/Kconfig +++ b/src/mainboard/google/ocelot/Kconfig @@ -210,6 +210,9 @@ config UART_FOR_CONSOLE int default 0 +config CBFS_SIZE + default 0x1000000 + config USE_PM_ACPI_TIMER default n diff --git a/src/mainboard/google/parrot/Kconfig b/src/mainboard/google/parrot/Kconfig index dc0e8606fe..2fa7420a14 100644 --- a/src/mainboard/google/parrot/Kconfig +++ b/src/mainboard/google/parrot/Kconfig @@ -36,6 +36,9 @@ config MAINBOARD_DIR config MAINBOARD_PART_NUMBER default "Parrot" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig index ac9aa54e56..cef94552f7 100644 --- a/src/mainboard/google/poppy/Kconfig +++ b/src/mainboard/google/poppy/Kconfig @@ -225,6 +225,9 @@ config UART_FOR_CONSOLE int default 2 +config CBFS_SIZE + default 0xe00000 + config USE_PM_ACPI_TIMER default n diff --git a/src/mainboard/google/puff/Kconfig b/src/mainboard/google/puff/Kconfig index 2ec9d996b9..ebf9ea523b 100644 --- a/src/mainboard/google/puff/Kconfig +++ b/src/mainboard/google/puff/Kconfig @@ -120,6 +120,10 @@ config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-16MiB.fmd" if BOARD_ROMSIZE_KB_16384 && CHROMEOS default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-32MiB.fmd" if BOARD_ROMSIZE_KB_32768 && CHROMEOS +config CBFS_SIZE + default 0xd00000 if BOARD_ROMSIZE_KB_16384 + default 0x1000000 if BOARD_ROMSIZE_KB_32768 + config POWER_OFF_ON_CR50_UPDATE bool default n diff --git a/src/mainboard/google/rambi/Kconfig b/src/mainboard/google/rambi/Kconfig index ccdc02a45c..399872e230 100644 --- a/src/mainboard/google/rambi/Kconfig +++ b/src/mainboard/google/rambi/Kconfig @@ -146,6 +146,9 @@ config MAINBOARD_PART_NUMBER config OVERRIDE_DEVICETREE default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/rex/Kconfig b/src/mainboard/google/rex/Kconfig index f9afd38141..b5f8858033 100644 --- a/src/mainboard/google/rex/Kconfig +++ b/src/mainboard/google/rex/Kconfig @@ -259,6 +259,9 @@ config UART_FOR_CONSOLE int default 0 +config CBFS_SIZE + default 0x1000000 + config OVERRIDE_DEVICETREE default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" diff --git a/src/mainboard/google/sarien/Kconfig b/src/mainboard/google/sarien/Kconfig index dcf94470ec..d4f5171d61 100644 --- a/src/mainboard/google/sarien/Kconfig +++ b/src/mainboard/google/sarien/Kconfig @@ -110,4 +110,7 @@ config VBOOT config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/default.fmd" if !CHROMEOS +config CBFS_SIZE + default 0x1000000 + endif # BOARD_GOOGLE_BASEBOARD_SARIEN diff --git a/src/mainboard/google/slippy/Kconfig b/src/mainboard/google/slippy/Kconfig index 380ed9fe72..5420557d82 100644 --- a/src/mainboard/google/slippy/Kconfig +++ b/src/mainboard/google/slippy/Kconfig @@ -71,6 +71,9 @@ config OVERRIDE_DEVICETREE config INTEL_GMA_VBT_FILE default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/stout/Kconfig b/src/mainboard/google/stout/Kconfig index 2c354419d8..25add1b340 100644 --- a/src/mainboard/google/stout/Kconfig +++ b/src/mainboard/google/stout/Kconfig @@ -38,6 +38,9 @@ config VGA_BIOS_ID string default "8086,0156" +config CBFS_SIZE + default 0x600000 + config MAINBOARD_SMBIOS_MANUFACTURER string default "GOOGLE" diff --git a/src/mainboard/google/volteer/Kconfig b/src/mainboard/google/volteer/Kconfig index 872d28540e..dc586f1538 100644 --- a/src/mainboard/google/volteer/Kconfig +++ b/src/mainboard/google/volteer/Kconfig @@ -245,6 +245,9 @@ config VARIANT_DIR default "volteer2" if BOARD_GOOGLE_VOLTEER2_TI50 default "voxel" if BOARD_GOOGLE_VOXEL +config CBFS_SIZE + default 0x1000000 + config USE_PM_ACPI_TIMER default n