diff --git a/src/soc/intel/apollolake/Makefile.mk b/src/soc/intel/apollolake/Makefile.mk index 82937bc9a6..3f2aa3bc2f 100644 --- a/src/soc/intel/apollolake/Makefile.mk +++ b/src/soc/intel/apollolake/Makefile.mk @@ -205,4 +205,30 @@ else cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-5c-*) endif +$(objcbfs)/ibbl.rom: $(objcbfs)/bootblock.bin + cp $(objcbfs)/bootblock.bin $@ + +$(objcbfs)/ibbm.rom: $(objcbfs)/$(call strip_quotes,$(CONFIG_IBBM_ROM_COMPONENT)) + dd if=$(objcbfs)/$(call strip_quotes,$(CONFIG_IBBM_ROM_COMPONENT)) \ + of=$@ skip=96 bs=1 count=$(call _toint,$(CONFIG_IBBM_ROM_SIZE)) + +obb-deps-$(CONFIG_VBOOT) := $(obj)/gbb.region $(obj)/fwid.region +$(objcbfs)/obb.rom: $(CBFSTOOL) $(obj)/coreboot.rom $(obb-deps-y) +ifeq ($(CONFIG_VBOOT),y) + @printf " WRITE GBB\n" + $(CBFSTOOL) $(obj)/coreboot.rom write -u -r GBB -i 0 -f $(obj)/gbb.region + $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RO_FRID -i 0 -f $(obj)/fwid.region +ifeq ($(CONFIG_VBOOT_SLOTS_RW_A),y) + $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RW_FWID_A -i 0 -f $(obj)/fwid.region +endif +ifeq ($(CONFIG_VBOOT_SLOTS_RW_AB),y) + $(CBFSTOOL) $(obj)/coreboot.rom write -u -r RW_FWID_B -i 0 -f $(obj)/fwid.region +endif +endif # CONFIG_VBOOT + $(CBFSTOOL) $(obj)/coreboot.rom read -r OBB -f $@ + +ifeq ($(CONFIG_IFWI_IBBM_LOAD),y) +coreboot: $(objcbfs)/ibbl.rom $(objcbfs)/ibbm.rom $(objcbfs)/obb.rom +endif + endif # if CONFIG_SOC_INTEL_APOLLOLAKE diff --git a/src/southbridge/intel/common/firmware/Makefile.mk b/src/southbridge/intel/common/firmware/Makefile.mk index 1425d5a352..a4f0e2e1a9 100644 --- a/src/southbridge/intel/common/firmware/Makefile.mk +++ b/src/southbridge/intel/common/firmware/Makefile.mk @@ -9,7 +9,9 @@ ifeq ($(CONFIG_HAVE_INTEL_FIRMWARE),y) ifeq ($(CONFIG_HAVE_IFD_BIN),y) $(call add_intermediate, add_intel_firmware) else ifeq ($(CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED),y) +ifneq ($(CONFIG_IFWI_IBBM_LOAD),y) show_notices:: warn_intel_firmware +endif # CONFIG_IFWI_IBBM_LOAD endif IFD_BIN_PATH := $(CONFIG_IFD_BIN_PATH)