mb/google/rauru: Use chromeos-legacy.fmd for Hylia and Navi

The recent increase of the RW size to 1756KB (CB:89545) has led to an
FMAP incompatibility. This issue arises during testing when both the ToT
firmware (which utilizes a new FMAP layout) and the firmware
branch-built firmware (which relies on an older FMAP layout) are used on
the same device.

To address this testing failure and streamline the testing process, the
updated FMAP will be exclusively implemented for the new variant. The
Navi and Hylia devices will continue to use the legacy FMAP.

BUG=b:461559917,b:463050048
TEST=emerge-{rauru,tanjiro} coreboot chromeos-bootimage

Change-Id: Icb4a12030f7a2e05757c903b70899c07b92c9875
Signed-off-by: Yidi Lin <yidilin@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90168
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Chen-Tsung Hsieh <chentsung@google.com>
This commit is contained in:
Yidi Lin 2025-11-24 12:22:05 +08:00
commit 56be23114e
2 changed files with 50 additions and 0 deletions

View file

@ -72,4 +72,8 @@ config DRIVER_TPM_I2C_ADDR
hex
default 0x50
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-legacy.fmd" if CHROMEOS && (BOARD_GOOGLE_HYLIA || BOARD_GOOGLE_NAVI)
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
endif

View file

@ -0,0 +1,46 @@
# Firmware Layout Description for ChromeOS.
#
# The size and address of every section must be aligned to at least 4K, except:
# RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections.
#
# 'FMAP' may be found by binary search so its starting address should be better
# aligned to larger values.
#
# For sections to be preserved on update, add (PRESERVE) to individual sections
# instead of a group section; otherwise the preserved data may be wrong if you
# resize or reorder sections inside a group.
FLASH 8M {
WP_RO@0x0 4M {
RO_SECTION {
BOOTBLOCK 128K
FMAP 4K
COREBOOT(CBFS)
GBB 0x2f00
RO_FRID 0x100
}
RO_GSCVD 8K
RO_VPD(PRESERVE) 32K # At least 16K.
}
RW_SECTION_A 1500K {
VBLOCK_A 8K
FW_MAIN_A(CBFS)
RW_FWID_A 0x100
}
RW_MISC 36K {
RW_VPD(PRESERVE) 8K # At least 8K.
RW_NVRAM(PRESERVE) 8K
RW_MRC_CACHE(PRESERVE) 16K
RW_ELOG(PRESERVE) 4K # ELOG driver hard-coded size in 4K.
}
RW_SECTION_B 1500K {
VBLOCK_B 8K
FW_MAIN_B(CBFS)
RW_FWID_B 0x100
}
RW_SHARED 36K { # Will be force updated on recovery.
SHARED_DATA 4K # 4K or less for netboot params.
RW_UNUSED
}
RW_LEGACY(CBFS) 1M # Minimal 1M.
}