summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2022-07-07 16:52:24 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-07-25 10:07:03 +0000
commit5f40fc61c69f4ad90ee728abe7b974c46076a1a5 (patch)
tree705bfef949794d67ce8d869d7f7bcfd43e381240
parentfb28799ed51134ae4646306d3abe2b7f3287a0e9 (diff)
mb/starlabs/lite: Add support for VBOOT
Add the required files to support VBOOT for when it is enabled. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I083107b21c23f42193fc88aa174ec22850f45bc8 Reviewed-on: https://review.coreboot.org/c/coreboot/+/65705 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
-rw-r--r--src/mainboard/starlabs/lite/Kconfig4
-rw-r--r--src/mainboard/starlabs/lite/Makefile.inc4
-rw-r--r--src/mainboard/starlabs/lite/vboot.c8
-rw-r--r--src/mainboard/starlabs/lite/vboot.fmd28
4 files changed, 44 insertions, 0 deletions
diff --git a/src/mainboard/starlabs/lite/Kconfig b/src/mainboard/starlabs/lite/Kconfig
index 4fc2469cd7..c80020fd9a 100644
--- a/src/mainboard/starlabs/lite/Kconfig
+++ b/src/mainboard/starlabs/lite/Kconfig
@@ -42,6 +42,7 @@ config EC_VARIANT_DIR
default "glkr" if BOARD_STARLABS_LITE_GLKR
config FMDFILE
+ default "src/mainboard/starlabs/lite/vboot.fmd" if VBOOT
default "src/mainboard/starlabs/lite/board.fmd"
config MAINBOARD_DIR
@@ -76,6 +77,9 @@ config VARIANT_DIR
default "glk" if BOARD_STARLABS_LITE_GLK
default "glkr" if BOARD_STARLABS_LITE_GLKR
+config VBOOT
+ select VBOOT_VBNV_FLASH
+
config WEBCAM_USB_PORT
int
default 4 if BOARD_STARLABS_LITE_GLK
diff --git a/src/mainboard/starlabs/lite/Makefile.inc b/src/mainboard/starlabs/lite/Makefile.inc
index e7f8277787..5cfed3556d 100644
--- a/src/mainboard/starlabs/lite/Makefile.inc
+++ b/src/mainboard/starlabs/lite/Makefile.inc
@@ -5,6 +5,10 @@ subdirs-y += variants/$(VARIANT_DIR)
bootblock-y += bootblock.c
+verstage-$(CONFIG_VBOOT) += vboot.c
+
+romstage-$(CONFIG_VBOOT) += vboot.c
+
ramstage-y += devtree.c
ramstage-y += mainboard.c
ramstage-y += smbios.c
diff --git a/src/mainboard/starlabs/lite/vboot.c b/src/mainboard/starlabs/lite/vboot.c
new file mode 100644
index 0000000000..8511825004
--- /dev/null
+++ b/src/mainboard/starlabs/lite/vboot.c
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <bootmode.h>
+
+int get_recovery_mode_switch(void)
+{
+ return 0;
+}
diff --git a/src/mainboard/starlabs/lite/vboot.fmd b/src/mainboard/starlabs/lite/vboot.fmd
new file mode 100644
index 0000000000..a545ae069d
--- /dev/null
+++ b/src/mainboard/starlabs/lite/vboot.fmd
@@ -0,0 +1,28 @@
+FLASH 8M {
+ # OBBP must be defined to leave space for the partition header
+ OBBP@0x382000 {
+ # The maximum size for the OBB partition is 0x36e000 because
+ # unicorn + fish = cow
+ OBB@0x0 0x36e000 {
+ RO_SECTION@0xe000 0x261800 {
+ FMAP@0x0000 0x10000
+ COREBOOT(CBFS)@0x10000 0x210000
+ GBB@0x220000 0x40000
+ RO_FRID@0x260000 0x40
+ RO_VPD(PRESERVE)@0x260800 0x1000
+ }
+ MISC_RW@0x27e000 0x40000 {
+ FPF_STATUS@0x0 0x10000
+ UNIFIED_MRC_CACHE@0x10000 0x30000 {
+ RECOVERY_MRC_CACHE@0x0 0x10000
+ RW_MRC_CACHE@0x10000 0x10000
+ RW_VAR_MRC_CACHE@0x20000 0x10000
+ }
+ }
+ RW_NVRAM(PRESERVE)@0x2be000 0x6000
+ RW_VPD(PRESERVE)@0x2c4000 0x2000
+ RW_LEGACY(CBFS)@0x2c6000 0x60000
+ SMMSTORE@0x32e000 0x40000
+ }
+ }
+}