summaryrefslogtreecommitdiffstats
path: root/src/mainboard/google/cherry/chromeos.fmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/cherry/chromeos.fmd')
-rw-r--r--src/mainboard/google/cherry/chromeos.fmd45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mainboard/google/cherry/chromeos.fmd b/src/mainboard/google/cherry/chromeos.fmd
new file mode 100644
index 000000000000..7194632e36fc
--- /dev/null
+++ b/src/mainboard/google/cherry/chromeos.fmd
@@ -0,0 +1,45 @@
+# Firmware Layout Description for Chrome OS.
+#
+# 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_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.
+}