From 7fbffa527a2753133661bf3b95a57c26ba11f4e9 Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Wed, 21 Dec 2016 20:57:13 +0100 Subject: [PATCH] UPSTREAM: 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. BUG=none BRANCH=none TEST=none Change-Id: Id7edd584f61087005db19c4ab331b8bce6e30309 Signed-off-by: Patrick Georgi Original-Commit-Id: 8c42424ec1669036fb4a7be4eb7ec0915bd6966c Original-Change-Id: I3ce69f77174327c18ff97e551c0665c9f633991e Original-Signed-off-by: Ricardo Ribalda Delgado Original-Reviewed-on: https://review.coreboot.org/17934 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Marshall Dawson Reviewed-on: https://chromium-review.googlesource.com/427472 --- src/southbridge/amd/agesa/hudson/Kconfig | 23 ------------------- src/southbridge/amd/agesa/hudson/Makefile.inc | 3 +-- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/src/southbridge/amd/agesa/hudson/Kconfig b/src/southbridge/amd/agesa/hudson/Kconfig index eed83ae53f..91ebe036a9 100644 --- a/src/southbridge/amd/agesa/hudson/Kconfig +++ b/src/southbridge/amd/agesa/hudson/Kconfig @@ -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 diff --git a/src/southbridge/amd/agesa/hudson/Makefile.inc b/src/southbridge/amd/agesa/hudson/Makefile.inc index 2e8b13be6b..7595889a2f 100644 --- a/src/southbridge/amd/agesa/hudson/Makefile.inc +++ b/src/southbridge/amd/agesa/hudson/Makefile.inc @@ -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))