Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/86940?usp=email )
Change subject: util/amdfwtool: add PLATFORM_FAEGAN ......................................................................
util/amdfwtool: add PLATFORM_FAEGAN
Add the PLATFORM_FAEGAN element to the 'platform' enum and use it in the code. The Faegan SoC is similar to the Glinda SoC, but has a different PSP ID.
Change-Id: I40a3e9981696fc02a44fbf300d1b47060a4a398b Signed-off-by: Felix Held felix-coreboot@felixheld.de --- M util/amdfwtool/amdfwtool.c M util/amdfwtool/amdfwtool.h M util/amdfwtool/data_parse.c M util/amdfwtool/signed_psp.c 4 files changed, 14 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/86940/1
diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 7b5e70e..bb03ca9 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -631,6 +631,7 @@ case PLATFORM_LUCIENNE: case PLATFORM_RENOIR: case PLATFORM_GENOA: + case PLATFORM_FAEGAN: default: /* for combo, it is also combo_psp_directory */ amd_romsig->new_psp_directory = @@ -662,6 +663,7 @@ case PLATFORM_MENDOCINO: case PLATFORM_PHOENIX: case PLATFORM_GLINDA: + case PLATFORM_FAEGAN: break; case PLATFORM_CARRIZO: case PLATFORM_STONEYRIDGE: @@ -704,6 +706,9 @@ case PLATFORM_GENOA: psp_id = 0xBC0C0111; break; + case PLATFORM_FAEGAN: + psp_id = 0xbc0e1000; + break; case PLATFORM_CARRIZO: default: psp_id = 0; @@ -1556,6 +1561,7 @@ case PLATFORM_PHOENIX: case PLATFORM_GLINDA: case PLATFORM_GENOA: + case PLATFORM_FAEGAN: amd_romsig->spi_readmode_f17_mod_30_3f = cb_config->efs_spi_readmode; amd_romsig->spi_fastspeed_f17_mod_30_3f = cb_config->efs_spi_speed; switch (cb_config->efs_spi_micron_flag) { @@ -1614,6 +1620,7 @@ case PLATFORM_MENDOCINO: case PLATFORM_PHOENIX: case PLATFORM_GLINDA: + case PLATFORM_FAEGAN: return false; default: return true; diff --git a/util/amdfwtool/amdfwtool.h b/util/amdfwtool/amdfwtool.h index 3c773f7..24a7dd3 100644 --- a/util/amdfwtool/amdfwtool.h +++ b/util/amdfwtool/amdfwtool.h @@ -29,6 +29,7 @@ PLATFORM_PHOENIX, PLATFORM_GLINDA, PLATFORM_GENOA, + PLATFORM_FAEGAN, };
typedef enum _amd_fw_type { diff --git a/util/amdfwtool/data_parse.c b/util/amdfwtool/data_parse.c index 64ec4d7..154d34d 100644 --- a/util/amdfwtool/data_parse.c +++ b/util/amdfwtool/data_parse.c @@ -117,6 +117,8 @@ return PLATFORM_GLINDA; else if (!strcasecmp(soc_name, "Genoa")) return PLATFORM_GENOA; + else if (!strcasecmp(soc_name, "Faegan")) + return PLATFORM_FAEGAN; else return PLATFORM_UNKNOWN; } @@ -725,7 +727,8 @@
bool needs_ish(enum platform platform_type) { - if (platform_type == PLATFORM_MENDOCINO || platform_type == PLATFORM_PHOENIX || platform_type == PLATFORM_GLINDA) + if (platform_type == PLATFORM_MENDOCINO || platform_type == PLATFORM_PHOENIX || + platform_type == PLATFORM_GLINDA || platform_type == PLATFORM_FAEGAN) return true; else return false; @@ -746,6 +749,7 @@ case PLATFORM_PHOENIX: case PLATFORM_GLINDA: case PLATFORM_GENOA: + case PLATFORM_FAEGAN: return true; case PLATFORM_UNKNOWN: default: diff --git a/util/amdfwtool/signed_psp.c b/util/amdfwtool/signed_psp.c index 24f76e8..18215a0 100644 --- a/util/amdfwtool/signed_psp.c +++ b/util/amdfwtool/signed_psp.c @@ -40,6 +40,7 @@ case PLATFORM_MENDOCINO: case PLATFORM_PHOENIX: case PLATFORM_GLINDA: + case PLATFORM_FAEGAN: /* Fallback to fw_type if fw_id is not populated, which serves the same purpose on older SoCs. */ return header->fw_id ? header->fw_id : header->fw_type;