From 563f7afa0481bfe0d194467b80404eb32e8a4d44 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Thu, 13 Jul 2023 11:40:08 +0200 Subject: [PATCH] util/amdfwtool: Add Genoa support Signed-off-by: Arthur Heymans Change-Id: I83e3c383faec0fd7b2cf768b7a4c237edd986666 Reviewed-on: https://review.coreboot.org/c/coreboot/+/76469 Reviewed-by: Varshit Pandya Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- util/amdfwtool/amdfwtool.c | 6 ++++++ util/amdfwtool/amdfwtool.h | 3 ++- util/amdfwtool/data_parse.c | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 1b2b0054b5..9a7d0bd083 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -706,6 +706,7 @@ static void fill_psp_directory_to_efs(embedded_firmware *amd_romsig, void *pspdi case PLATFORM_PICASSO: case PLATFORM_LUCIENNE: case PLATFORM_RENOIR: + case PLATFORM_GENOA: default: /* for combo, it is also combo_psp_directory */ amd_romsig->new_psp_directory = @@ -721,6 +722,7 @@ static void fill_bios_directory_to_efs(embedded_firmware *amd_romsig, void *bios case PLATFORM_RENOIR: case PLATFORM_LUCIENNE: case PLATFORM_CEZANNE: + case PLATFORM_GENOA: if (!cb_config->recovery_ab) amd_romsig->bios3_entry = BUFF_TO_RUN_MODE(*ctx, biosdir, AMD_ADDR_REL_BIOS); @@ -802,6 +804,9 @@ static uint32_t get_psp_id(enum platform soc_id) case PLATFORM_PHOENIX: psp_id = 0xBC0D0400; break; + case PLATFORM_GENOA: + psp_id = 0xBC0C0111; + break; case PLATFORM_CARRIZO: default: psp_id = 0; @@ -1772,6 +1777,7 @@ static int set_efs_table(uint8_t soc_id, amd_cb_config *cb_config, case PLATFORM_MENDOCINO: case PLATFORM_PHOENIX: case PLATFORM_GLINDA: + case PLATFORM_GENOA: amd_romsig->spi_readmode_f17_mod_30_3f = efs_spi_readmode; amd_romsig->spi_fastspeed_f17_mod_30_3f = efs_spi_speed; switch (efs_spi_micron_flag) { diff --git a/util/amdfwtool/amdfwtool.h b/util/amdfwtool/amdfwtool.h index 5558f5b7d9..2044696e9f 100644 --- a/util/amdfwtool/amdfwtool.h +++ b/util/amdfwtool/amdfwtool.h @@ -26,7 +26,8 @@ enum platform { PLATFORM_MENDOCINO, PLATFORM_LUCIENNE, PLATFORM_PHOENIX, - PLATFORM_GLINDA + PLATFORM_GLINDA, + PLATFORM_GENOA, }; typedef enum _amd_fw_type { diff --git a/util/amdfwtool/data_parse.c b/util/amdfwtool/data_parse.c index 9adaa5db5a..64cae54a6c 100644 --- a/util/amdfwtool/data_parse.c +++ b/util/amdfwtool/data_parse.c @@ -115,6 +115,8 @@ static enum platform identify_platform(char *soc_name) return PLATFORM_PHOENIX; else if (!strcasecmp(soc_name, "Glinda")) return PLATFORM_GLINDA; + else if (!strcasecmp(soc_name, "Genoa")) + return PLATFORM_GENOA; else return PLATFORM_UNKNOWN; } @@ -733,6 +735,7 @@ static bool is_second_gen(enum platform platform_type) case PLATFORM_MENDOCINO: case PLATFORM_PHOENIX: case PLATFORM_GLINDA: + case PLATFORM_GENOA: return true; case PLATFORM_UNKNOWN: default: