soc/amd: Use fixed EFS location for Phoenix & Glinda
The AMD SoCs no longer have a variable position for EFS - it's now fixed at 0xff020000 - 128KiB into the 16MiB ROM decode region. It's a little more complex than that because the chip can be larger than 16MiB, and the entire ROM can be decoded if mapped above the 4GiB boundary, but we don't currently support doing that in coreboot, so this is enough for now. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I343a875ba9aa8294a090f2eff7b5dfb5e86334f8 Reviewed-on: https://review.coreboot.org/c/coreboot/+/71769 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
This commit is contained in:
parent
3f5985972d
commit
b486fe95bf
|
@ -67,10 +67,8 @@ MAINBOARD_BLOBS_DIR:=$(top)/3rdparty/blobs/mainboard/$(MAINBOARDDIR)
|
||||||
$(if $(CONFIG_AMD_FWM_POSITION_INDEX), ,\
|
$(if $(CONFIG_AMD_FWM_POSITION_INDEX), ,\
|
||||||
$(error Invalid AMD firmware position index. Check if the board sets a valid ROM size))
|
$(error Invalid AMD firmware position index. Check if the board sets a valid ROM size))
|
||||||
|
|
||||||
GLINDA_FWM_POSITION=$(call int-add, \
|
# Fixed EFS location
|
||||||
$(call int-subtract, 0xffffffff \
|
GLINDA_FWM_POSITION=0xff020000
|
||||||
$(call int-shift-left, \
|
|
||||||
0x80000 $(CONFIG_AMD_FWM_POSITION_INDEX))) 0x20000 1)
|
|
||||||
|
|
||||||
# 0x40 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes
|
# 0x40 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes
|
||||||
# Building the cbfs image will fail if the offset isn't large enough
|
# Building the cbfs image will fail if the offset isn't large enough
|
||||||
|
|
|
@ -67,10 +67,8 @@ MAINBOARD_BLOBS_DIR:=$(top)/3rdparty/blobs/mainboard/$(MAINBOARDDIR)
|
||||||
$(if $(CONFIG_AMD_FWM_POSITION_INDEX), ,\
|
$(if $(CONFIG_AMD_FWM_POSITION_INDEX), ,\
|
||||||
$(error Invalid AMD firmware position index. Check if the board sets a valid ROM size))
|
$(error Invalid AMD firmware position index. Check if the board sets a valid ROM size))
|
||||||
|
|
||||||
PHOENIX_FWM_POSITION=$(call int-add, \
|
# Fixed EFS location
|
||||||
$(call int-subtract, 0xffffffff \
|
PHOENIX_FWM_POSITION=0xff020000
|
||||||
$(call int-shift-left, \
|
|
||||||
0x80000 $(CONFIG_AMD_FWM_POSITION_INDEX))) 0x20000 1)
|
|
||||||
|
|
||||||
# 0x40 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes
|
# 0x40 accounts for the cbfs_file struct + filename + metadata structs, aligned to 64 bytes
|
||||||
# Building the cbfs image will fail if the offset isn't large enough
|
# Building the cbfs image will fail if the offset isn't large enough
|
||||||
|
|
Loading…
Reference in New Issue