amd/hudson/agesa: Fix position of hudson_fwm
AMDFWTOOL calculates the location of the amdfw based on the CONFIG_ROM_SIZE. If HUDSON_FWM_POSITION does not match that location the resulting rom does not boot. This patch forces the position of HUDSON_FWM_POSITION to be the position calculated by amdfwrom. Tested on a Bettong derivative with a 16MiB flash. Change-Id: I3ce69f77174327c18ff97e551c0665c9f633991e Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Reviewed-on: https://review.coreboot.org/17934 Tested-by: build bot (Jenkins) Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
parent
baae959a63
commit
8c42424ec1
|
@ -101,29 +101,6 @@ config HUDSON_FWM
|
|||
default y if HUDSON_XHCI_FWM || HUDSON_IMC_FWM || HUDSON_GEC_FWM
|
||||
default n
|
||||
|
||||
if HUDSON_FWM
|
||||
|
||||
config HUDSON_FWM_POSITION
|
||||
hex "Hudson Firmware ROM Position"
|
||||
default 0xFFF20000 if BOARD_ROMSIZE_KB_1024
|
||||
default 0xFFE20000 if BOARD_ROMSIZE_KB_2048
|
||||
default 0xFFC20000 if BOARD_ROMSIZE_KB_4096
|
||||
default 0xFF820000 if BOARD_ROMSIZE_KB_8192
|
||||
default 0xFF020000 if BOARD_ROMSIZE_KB_16384
|
||||
help
|
||||
Hudson requires the firmware MUST be located at
|
||||
a specific address (ROM start address + 0x20000), otherwise
|
||||
xhci host Controller can not find or load the xhci firmware.
|
||||
|
||||
The firmware start address is dependent on the ROM chip size.
|
||||
The default offset is 0x20000 from the ROM start address, namely
|
||||
0xFFF20000 if flash chip size is 1M
|
||||
0xFFE20000 if flash chip size is 2M
|
||||
0xFFC20000 if flash chip size is 4M
|
||||
0xFF820000 if flash chip size is 8M
|
||||
0xFF020000 if flash chip size is 16M
|
||||
endif # HUDSON_FWM
|
||||
|
||||
config HUDSON_SATA_MODE
|
||||
int "SATA Mode"
|
||||
default 0
|
||||
|
|
|
@ -35,8 +35,7 @@ ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c smi_util.c
|
|||
# +-----------+---------------+----------------+------------+
|
||||
# EC ROM should be 64K aligned.
|
||||
|
||||
HUDSON_FWM_POS_CALC=$(call int-add, $(call int-subtract, 0xffffffff $(call int-multiply, $(CONFIG_COREBOOT_ROMSIZE_KB) 1024)) 0x20000 1)
|
||||
HUDSON_FWM_POSITION=$(shell printf %u $(CONFIG_HUDSON_FWM_POSITION))
|
||||
HUDSON_FWM_POSITION=$(call int-add, $(call int-subtract, 0xffffffff $(CONFIG_ROM_SIZE)) 0x20000 1)
|
||||
|
||||
ifdef CONFIG_HUDSON_AHCI_ROM
|
||||
stripped_ahci_rom_id = $(call strip_quotes,$(CONFIG_AHCI_ROM_ID))
|
||||
|
|
Loading…
Reference in New Issue