From c4a71467d1f9807d93f0a943219f511773447050 Mon Sep 17 00:00:00 2001 From: Wim Vervoorn Date: Fri, 24 Jan 2020 15:37:39 +0100 Subject: Documentation/mainboard/facebook/monolith.md: Add flash components Add description of the procedure to create the flash components for this system. BUG=N/A TEST=N/A Change-Id: I2690dfbe715fa120f840d98c57fdc3fd7e8b45b1 Signed-off-by: Wim Vervoorn Reviewed-on: https://review.coreboot.org/c/coreboot/+/38588 Tested-by: build bot (Jenkins) Reviewed-by: Frans Hendriks --- Documentation/mainboard/facebook/monolith.md | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'Documentation/mainboard') diff --git a/Documentation/mainboard/facebook/monolith.md b/Documentation/mainboard/facebook/monolith.md index 0bc1448c45..dca2d6a688 100644 --- a/Documentation/mainboard/facebook/monolith.md +++ b/Documentation/mainboard/facebook/monolith.md @@ -13,12 +13,50 @@ fsp blobs 3rdparty/fsp/KabylakeFspBinPkg/Fsp_M.fd Microcode 3rdparty/intel-microcode/intel-ucode +## Flash components + +To create a complete flash image, the flash descriptor, GBE and ME blobs are required. The +complete image can be used when e.g. a blank flash should be programmed. In other cases (when +only coreboot needs to be replaced) placeholders can be used for the GBE and ME regions. + +These can be extracted from the original flash image as follows: +1) Read the complete image from flash. +2) Create a layout file with the following content: +``` +00000000:00000fff fd +00700000:00ffffff bios +00003000:006FFFFF me +00001000:00002fff gbe +``` +3) Use `ifdtool -n ` to resize the *bios* region from the default 6MB + to 9 MB, this is required to create sufficient space for LinuxBoot. + NOTE: Please make sure only the firmware descriptor (*fd*) region is changed. Older versions + of the ifdtool corrupt the *me* region. +4) Use `ifdtool -x ` to extract the components. + +The regions extracted can be used to generate a full flash image. The *bios* region is +not needed as this is replaced by the coreboot image. + +NOTE: The gbe region contains the MAC address so be careful. When updating the flash using + flashrom it is advisable to leave out the *gbe* area. + ## Flashing coreboot ### Internal programming The SPI flash can be accessed using [flashrom]. +The descriptor area needs to be updated once to resize the *bios* region. +`flashrom -p internal --ifd -i fd -w ` + +After that only the bios area should to be updated. +`flashrom -p internal --ifd -i bios -w ` + +The *gbe* and *me* regions should not be updated. + +NOTE: As `flashrom --ifd` uses the flash descriptor it is required to update the + descriptor and bios regions in the right sequence. Don't update both in one command. + ### External programming The system has an internal flash chip which is a 16 MiB soldered SOIC-8 chip. -- cgit v1.2.3