guybrush: Inject SPDs into APCB
Inject SPDs into APCB at coreboot build time.
BUG=b:209486191
BRANCH=None
TEST=Boot guybrush and nipperkin with injected APCB
Change-Id: Ib21085855324e0d473dd5e258f35a52bed326901
Signed-off-by: Rob Barnes <robbarnes@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60775
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
diff --git a/Makefile.inc b/Makefile.inc
index 090505e..cc7317d 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -591,6 +591,8 @@
APCB_EDIT_TOOL:=$(top)/util/apcb/apcb_edit.py
+APCB_V3_EDIT_TOOL:=$(top)/util/apcb/apcb_v3_edit.py
+
CBOOTIMAGE:=$(objutil)/cbootimage/cbootimage
FUTILITY?=$(objutil)/futility/futility
diff --git a/src/mainboard/google/guybrush/Makefile.inc b/src/mainboard/google/guybrush/Makefile.inc
index fa729fe..56ef2b3 100644
--- a/src/mainboard/google/guybrush/Makefile.inc
+++ b/src/mainboard/google/guybrush/Makefile.inc
@@ -3,14 +3,6 @@
bootblock-y += bootblock.c
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
-ifneq ($(wildcard $(MAINBOARD_BLOBS_DIR)/APCB_CZN_D4.bin),)
-$(info APCB sources present.)
-APCB_SOURCES = $(MAINBOARD_BLOBS_DIR)/APCB_CZN_D4.bin
-APCB_SOURCES_RECOVERY = $(MAINBOARD_BLOBS_DIR)/APCB_CZN_D4.bin
-else
-$(info APCB sources not found. Skipping APCB.)
-endif
-
romstage-y += port_descriptors.c
romstage-y += romstage.c
@@ -30,3 +22,13 @@
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include
LIB_SPD_DEPS = $(SPD_SOURCES)
+
+APCB_SOURCES = $(obj)/APCB_CZN_D4.gen
+APCB_SOURCES_RECOVERY = $(obj)/APCB_CZN_D4.gen
+
+$(obj)/APCB_CZN_D4.gen: $(SPD_SOURCES) \
+ $(APCB_V3_EDIT_TOOL) \
+ $(MAINBOARD_BLOBS_DIR)/APCB_CZN_D4.bin
+ $(APCB_V3_EDIT_TOOL) $(MAINBOARD_BLOBS_DIR)/APCB_CZN_D4.bin \
+ $(obj)/APCB_CZN_D4.gen \
+ --spd_sources $(SPD_SOURCES)