blob: a8c4dfe0afcaf6fb0f6006c17e740adfca3c4cea [file] [log] [blame]
Rex-BC Chendb8442b2022-07-01 17:37:37 +08001# Firmware Layout Description for Chrome OS.
2#
3# The size and address of every section must be aligned to at least 4K, except:
4# RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections.
5#
6# 'FMAP' may be found by binary search so its starting address should be better
7# aligned to larger values.
8#
9# For sections to be preserved on update, add (PRESERVE) to individual sections
10# instead of a group section; otherwise the preserved data may be wrong if you
11# resize or reorder sections inside a group.
12
13FLASH@0x0 8M {
14 WP_RO@0x0 4M {
15 RO_SECTION {
16 BOOTBLOCK 128K
17 FMAP 4K
18 COREBOOT(CBFS)
19 GBB 0x2f00
20 RO_FRID 0x100
21 }
22 RO_GSCVD 8K
23 RO_VPD(PRESERVE) 32K # At least 16K.
24 }
25 RW_SECTION_A 1500K {
26 VBLOCK_A 8K
27 FW_MAIN_A(CBFS)
28 RW_FWID_A 0x100
29 }
30 RW_MISC 36K {
31 RW_VPD(PRESERVE) 16K # At least 8K.
32 RW_NVRAM(PRESERVE) 8K
33 RW_MRC_CACHE(PRESERVE) 8K
34 RW_ELOG(PRESERVE) 4K # ELOG driver hard-coded size in 4K.
35 }
36 RW_SECTION_B 1500K {
37 VBLOCK_B 8K
38 FW_MAIN_B(CBFS)
39 RW_FWID_B 0x100
40 }
41 RW_SHARED 36K { # Will be force updated on recovery.
42 SHARED_DATA 4K # 4K or less for netboot params.
43 RW_UNUSED
44 }
45 RW_LEGACY(CBFS) 1M # Minimal 1M.
46}