From 570645dc2af26ec26cc8a453f43585bc82fc2521 Mon Sep 17 00:00:00 2001 From: Zheng Bao Date: Wed, 3 Nov 2021 10:25:03 +0800 Subject: [PATCH] amdfwtool: Call the set_efs_table for Stoneyridge Related to https://review.coreboot.org/c/coreboot/+/58555 commit-id: 35b7e0a2d82ac In 58555, we added the SOC ID for Stoneyridge in amdfwtool command line. But it raised building error because it then called "set_efs_table" without setting SPI mode. So we skipped calling that. But in set_efs_table, it has case for Stoneyridge. The boards also need to have this setting. So we remove the skipping and give the proper SPI mode in mainboard Kconfig. Change-Id: I24499ff6daf7878b12b6044496f53379116c598f Signed-off-by: Zheng Bao Reviewed-on: https://review.coreboot.org/c/coreboot/+/58871 Tested-by: build bot (Jenkins) Reviewed-by: Felix Held --- src/mainboard/amd/gardenia/Kconfig | 8 ++++++++ src/mainboard/amd/padmelon/Kconfig | 8 ++++++++ src/mainboard/google/kahlee/Kconfig | 8 ++++++++ src/soc/amd/stoneyridge/Makefile.inc | 5 +++++ util/amdfwtool/amdfwtool.c | 12 +++++------- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/mainboard/amd/gardenia/Kconfig b/src/mainboard/amd/gardenia/Kconfig index 0febf2971c..46b6707b53 100644 --- a/src/mainboard/amd/gardenia/Kconfig +++ b/src/mainboard/amd/gardenia/Kconfig @@ -34,4 +34,12 @@ config STONEYRIDGE_LEGACY_FREE bool default y +if !EM100 +config EFS_SPI_READ_MODE + default 4 # Dual IO (1-2-2) + +config EFS_SPI_SPEED + default 0 # 66MHz +endif + endif # BOARD_AMD_GARDENIA diff --git a/src/mainboard/amd/padmelon/Kconfig b/src/mainboard/amd/padmelon/Kconfig index 96f8696ba8..3c6449753b 100644 --- a/src/mainboard/amd/padmelon/Kconfig +++ b/src/mainboard/amd/padmelon/Kconfig @@ -58,4 +58,12 @@ config HWM_PORT If changed, make sure fan_init.c IO window setting. The HWM (Hardware Monitor) is used for fan control within padmelon. +if !EM100 +config EFS_SPI_READ_MODE + default 4 # Dual IO (1-2-2) + +config EFS_SPI_SPEED + default 0 # 66MHz +endif + endif # BOARD_AMD_PADMELON diff --git a/src/mainboard/google/kahlee/Kconfig b/src/mainboard/google/kahlee/Kconfig index 5940d1a2b6..29edb3053f 100644 --- a/src/mainboard/google/kahlee/Kconfig +++ b/src/mainboard/google/kahlee/Kconfig @@ -123,6 +123,14 @@ config OEM_BIN_FILE depends on USE_OEM_BIN default "" +if !EM100 +config EFS_SPI_READ_MODE + default 4 # Dual IO (1-2-2) + +config EFS_SPI_SPEED + default 0 # 66MHz +endif + # Don't use AMD's Secure OS config USE_PSPSECUREOS def_bool n diff --git a/src/soc/amd/stoneyridge/Makefile.inc b/src/soc/amd/stoneyridge/Makefile.inc index d265651061..7d0b86d8b5 100644 --- a/src/soc/amd/stoneyridge/Makefile.inc +++ b/src/soc/amd/stoneyridge/Makefile.inc @@ -132,6 +132,9 @@ endif OPT_PSP_USE_PSPSECUREOS=$(call strip_quotes, $(PSP_USE_PSPSECUREOS)) +OPT_EFS_SPI_READ_MODE=$(call add_opt_prefix, $(CONFIG_EFS_SPI_READ_MODE), --spi-read-mode) +OPT_EFS_SPI_SPEED=$(call add_opt_prefix, $(CONFIG_EFS_SPI_SPEED), --spi-speed) + # Add all the files listed in the config file POUND_SIGN=$(call strip_quotes, "\#") DEP_FILES= $(patsubst %,$(FIRMWARE_LOCATION)/%, $(shell sed -e /^$(POUND_SIGN)/d -e /^FIRMWARE_LOCATION/d $(CONFIG_AMDFW_CONFIG_FILE) | awk '{print $$2}' )) @@ -147,6 +150,8 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_STONEYRIDGE_XHCI_FWM_FILE)) \ $(OPT_STONEYRIDGE_GEC_FWM_FILE) \ $(OPT_COMBOCAPABLE)\ $(OPT_PSP_USE_PSPSECUREOS) \ + $(OPT_EFS_SPI_READ_MODE) \ + $(OPT_EFS_SPI_SPEED) \ --config $(CONFIG_AMDFW_CONFIG_FILE) \ $(OPT_SOCNAME) \ --flashsize $(CONFIG_ROM_SIZE) \ diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 2c0b3e2f89..98e318984f 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -1586,13 +1586,11 @@ int main(int argc, char **argv) amd_romsig->xhci_entry = 0; if (soc_id != PLATFORM_UNKNOWN) { - if (soc_id != PLATFORM_STONEYRIDGE) { - retval = set_efs_table(soc_id, amd_romsig, efs_spi_readmode, - efs_spi_speed, efs_spi_micron_flag); - if (retval) { - fprintf(stderr, "ERROR: Failed to initialize EFS table!\n"); - return retval; - } + retval = set_efs_table(soc_id, amd_romsig, efs_spi_readmode, + efs_spi_speed, efs_spi_micron_flag); + if (retval) { + fprintf(stderr, "ERROR: Failed to initialize EFS table!\n"); + return retval; } } else { fprintf(stderr, "WARNING: No SOC name specified.\n");