blob: 5b2234d39e02ebdbae38cd7389754098f377a3f3 [file] [log] [blame]
# 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@0x0 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) 16K # At least 8K.
RW_NVRAM(PRESERVE) 8K
RW_MRC_CACHE(PRESERVE) 8K
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.
}