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)
+		}
+	}
+}