mb/system76/{adl,tgl}: Add FMD files
Replace `CBFS_SIZE` with FMD files to declare regions and sizes. This
will be used to lock BIOS region (except SMMSTORE) on boot.
`CBFS_SIZE` was incorrectly set to 10 MiB, so this also corrects the
BIOS region size to match the FIT values.
Change-Id: I0f068f4d9b376f12b46faa5bb0c6a08e6cb744d8
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76155
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jeremy Soller <jeremy@system76.com>
diff --git a/src/mainboard/system76/adl/Kconfig b/src/mainboard/system76/adl/Kconfig
index f4fadc3..49a7b2b 100644
--- a/src/mainboard/system76/adl/Kconfig
+++ b/src/mainboard/system76/adl/Kconfig
@@ -98,15 +98,15 @@
default "oryp9" if BOARD_SYSTEM76_ORYP9
default "oryp10" if BOARD_SYSTEM76_ORYP10
-config CBFS_SIZE
- default 0xA00000
-
config CONSOLE_POST
default y
config DIMM_SPD_SIZE
default 512
+config FMDFILE
+ default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/board.fmd"
+
config ONBOARD_VGA_IS_PRIMARY
default y
diff --git a/src/mainboard/system76/adl/board.fmd b/src/mainboard/system76/adl/board.fmd
new file mode 100644
index 0000000..f50c357
--- /dev/null
+++ b/src/mainboard/system76/adl/board.fmd
@@ -0,0 +1,15 @@
+FLASH 32M {
+ SI_DESC 4K
+#if CONFIG_MAINBOARD_USES_IFD_GBE_REGION
+ SI_GBE 8K
+#endif
+ SI_ME 4824K
+ SI_BIOS@16M 16M {
+ RW_MRC_CACHE 64K
+ SMMSTORE(PRESERVE) 256K
+ WP_RO {
+ FMAP 4K
+ COREBOOT(CBFS)
+ }
+ }
+}
diff --git a/src/mainboard/system76/tgl-h/Kconfig b/src/mainboard/system76/tgl-h/Kconfig
index 69ab4ae..bd886b8 100644
--- a/src/mainboard/system76/tgl-h/Kconfig
+++ b/src/mainboard/system76/tgl-h/Kconfig
@@ -57,12 +57,13 @@
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
-config CBFS_SIZE
- default 0xA00000
-
config CONSOLE_POST
default y
+config FMDFILE
+ default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/board.fmd" if !MAINBOARD_USES_IFD_GBE_REGION
+ default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/board-gbe.fmd" if MAINBOARD_USES_IFD_GBE_REGION
+
config ONBOARD_VGA_IS_PRIMARY
default y
diff --git a/src/mainboard/system76/tgl-h/board-gbe.fmd b/src/mainboard/system76/tgl-h/board-gbe.fmd
new file mode 100644
index 0000000..2bfb31c
--- /dev/null
+++ b/src/mainboard/system76/tgl-h/board-gbe.fmd
@@ -0,0 +1,13 @@
+FLASH 16M {
+ SI_DESC 4K
+ SI_GBE 8K
+ SI_ME 5108K
+ SI_BIOS 11M {
+ RW_MRC_CACHE 64K
+ SMMSTORE(PRESERVE) 256K
+ WP_RO {
+ FMAP 4K
+ COREBOOT(CBFS)
+ }
+ }
+}
diff --git a/src/mainboard/system76/tgl-h/board.fmd b/src/mainboard/system76/tgl-h/board.fmd
new file mode 100644
index 0000000..6f3a038
--- /dev/null
+++ b/src/mainboard/system76/tgl-h/board.fmd
@@ -0,0 +1,12 @@
+FLASH 16M {
+ SI_DESC 4K
+ SI_ME 5116K
+ SI_BIOS 11M {
+ RW_MRC_CACHE 64K
+ SMMSTORE(PRESERVE) 256K
+ WP_RO {
+ FMAP 4K
+ COREBOOT(CBFS)
+ }
+ }
+}
diff --git a/src/mainboard/system76/tgl-u/Kconfig b/src/mainboard/system76/tgl-u/Kconfig
index 0cd7b0d..d493fa8 100644
--- a/src/mainboard/system76/tgl-u/Kconfig
+++ b/src/mainboard/system76/tgl-u/Kconfig
@@ -55,12 +55,12 @@
default "galp5" if BOARD_SYSTEM76_GALP5
default "lemp10" if BOARD_SYSTEM76_LEMP10
-config CBFS_SIZE
- default 0xA00000
-
config CONSOLE_POST
default y
+config FMDFILE
+ default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/board.fmd"
+
config POST_DEVICE
default n
diff --git a/src/mainboard/system76/tgl-u/board.fmd b/src/mainboard/system76/tgl-u/board.fmd
new file mode 100644
index 0000000..6f3a038
--- /dev/null
+++ b/src/mainboard/system76/tgl-u/board.fmd
@@ -0,0 +1,12 @@
+FLASH 16M {
+ SI_DESC 4K
+ SI_ME 5116K
+ SI_BIOS 11M {
+ RW_MRC_CACHE 64K
+ SMMSTORE(PRESERVE) 256K
+ WP_RO {
+ FMAP 4K
+ COREBOOT(CBFS)
+ }
+ }
+}