• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Firmware Layout Description for ChromeOS.
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_VPD(PRESERVE) 32K  # At least 16K.
23	}
24	RW_SECTION_A 1500K {
25		VBLOCK_A 8K
26		FW_MAIN_A(CBFS)
27		RW_FWID_A 0x100
28	}
29	RW_MISC 36K {
30		RW_VPD(PRESERVE) 16K  # At least 8K.
31		RW_NVRAM(PRESERVE) 8K
32		RW_MRC_CACHE(PRESERVE) 8K
33		RW_ELOG(PRESERVE) 4K  # ELOG driver hard-coded size in 4K.
34	}
35	RW_SECTION_B 1500K {
36		VBLOCK_B 8K
37		FW_MAIN_B(CBFS)
38		RW_FWID_B 0x100
39	}
40	RW_SHARED 36K {  # Will be force updated on recovery.
41		SHARED_DATA 4K  # 4K or less for netboot params.
42		RW_UNUSED
43	}
44	RW_LEGACY(CBFS) 1M  # Minimal 1M.
45}
46