mb/amd/birman&mayan: Use relative address as EC FW location

When the flash size is over 16M, the absolute address could be lager
than 16M, which can not be taken by CBFS. For the relative address, it
is more flexible.

This is one of series of patches to support 32/64M flash.
BUG=b:255374782

TEST=binary identical test on birman and mayan when
CONFIG_BIRMAN_HAVE_MCHP_FW and CONFIG_MAYAN_HAVE_MCHP_FW are set as
y.

Change-Id: I65be3039cd3449bfb481ad87281b72e88a58bd45
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72960
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
This commit is contained in:
Zheng Bao 2023-02-11 15:27:08 +08:00 committed by Felix Held
parent db0946239f
commit 5e9e7bff4b
2 changed files with 2 additions and 12 deletions

View File

@ -21,14 +21,9 @@ ifeq ($(CONFIG_BIRMAN_HAVE_MCHP_FW),y)
$(call add_intermediate, add_mchp_fw) $(call add_intermediate, add_mchp_fw)
$(CBFSTOOL) $(obj)/coreboot.pre write -r EC -f $(CONFIG_BIRMAN_MCHP_SIG_FILE) --fill-upward $(CBFSTOOL) $(obj)/coreboot.pre write -r EC -f $(CONFIG_BIRMAN_MCHP_SIG_FILE) --fill-upward
# calculate the absolute position from the config offset
BIRMAN_EC_POSITION=$(call int-add, \
$(call int-subtract, 0xffffffff \
$(CONFIG_ROM_SIZE)) $(CONFIG_BIRMAN_MCHP_FW_OFFSET) 1)
cbfs-files-y += apu/ecfw cbfs-files-y += apu/ecfw
apu/ecfw-file := $(CONFIG_BIRMAN_MCHP_FW_FILE) apu/ecfw-file := $(CONFIG_BIRMAN_MCHP_FW_FILE)
apu/ecfw-position := $(BIRMAN_EC_POSITION) apu/ecfw-position := $(CONFIG_BIRMAN_MCHP_FW_OFFSET)
apu/ecfw-type := raw apu/ecfw-type := raw
else else

View File

@ -21,14 +21,9 @@ ifeq ($(CONFIG_MAYAN_HAVE_MCHP_FW),y)
$(call add_intermediate, add_mchp_fw) $(call add_intermediate, add_mchp_fw)
$(CBFSTOOL) $(obj)/coreboot.pre write -r EC -f $(CONFIG_MAYAN_MCHP_SIG_FILE) --fill-upward $(CBFSTOOL) $(obj)/coreboot.pre write -r EC -f $(CONFIG_MAYAN_MCHP_SIG_FILE) --fill-upward
# calculate the absolute position from the config offset
MAYAN_EC_POSITION=$(call int-add, \
$(call int-subtract, 0xffffffff \
$(CONFIG_ROM_SIZE)) $(CONFIG_MAYAN_MCHP_FW_OFFSET) 1)
cbfs-files-y += ec/ecfw cbfs-files-y += ec/ecfw
ec/ecfw-file := $(CONFIG_MAYAN_MCHP_FW_FILE) ec/ecfw-file := $(CONFIG_MAYAN_MCHP_FW_FILE)
ec/ecfw-position := $(MAYAN_EC_POSITION) ec/ecfw-position := $(CONFIG_MAYAN_MCHP_FW_OFFSET)
ec/ecfw-type := raw ec/ecfw-type := raw
else else