summaryrefslogtreecommitdiff
path: root/util/amdfwtool/amdfwtool.c
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2023-02-11 22:13:36 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-02-14 18:24:08 +0000
commit4bfb36ed68154d8ee6fc77a6b2bf79938cae9e8a (patch)
tree17d6a1dc6900148d3f5a8bcdd32a43619e1d390a /util/amdfwtool/amdfwtool.c
parentaf69de494e2c32140ce5e00a1562c2845345b1bf (diff)
amdfwtool: use SoC ID info instead of misleading comboable flag
Since it actually depends on the SoC type whether the old PSP directory table pointer or the new comboable PSP directory table pointer is used in EFS, get this information from the SoC ID instead of passing the comboable flag for the SoCs that need to use the new comboable PSP directory table pointer. TEST=Binary identical on amd/majolica, pcengines/apu2, amd/gardenia Change-Id: I0c3f21065939d1b13c2607aba16cbef74dd8d389 Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73020 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'util/amdfwtool/amdfwtool.c')
-rw-r--r--util/amdfwtool/amdfwtool.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c
index a4abe1e781..ac25bd2087 100644
--- a/util/amdfwtool/amdfwtool.c
+++ b/util/amdfwtool/amdfwtool.c
@@ -1726,7 +1726,6 @@ enum {
AMDFW_OPT_XHCI = 128,
AMDFW_OPT_IMC,
AMDFW_OPT_GEC,
- AMDFW_OPT_COMBO,
AMDFW_OPT_RECOVERY_AB,
AMDFW_OPT_RECOVERY_AB_SINGLE_COPY,
AMDFW_OPT_USE_COMBO,
@@ -1781,7 +1780,6 @@ static struct option long_options[] = {
{"imc", required_argument, 0, AMDFW_OPT_IMC },
{"gec", required_argument, 0, AMDFW_OPT_GEC },
/* PSP Directory Table items */
- {"combo-capable", no_argument, 0, AMDFW_OPT_COMBO },
{"recovery-ab", no_argument, 0, AMDFW_OPT_RECOVERY_AB },
{"recovery-ab-single-copy", no_argument, 0, AMDFW_OPT_RECOVERY_AB_SINGLE_COPY },
{"use-combo", no_argument, 0, AMDFW_OPT_USE_COMBO },
@@ -2063,7 +2061,6 @@ int main(int argc, char **argv)
psp_directory_table *pspdir = NULL;
psp_directory_table *pspdir2 = NULL;
psp_directory_table *pspdir2_b = NULL;
- bool comboable = false;
int fuse_defined = 0;
int targetfd;
char *output = NULL, *config = NULL;
@@ -2107,9 +2104,6 @@ int main(int argc, char **argv)
register_fw_filename(AMD_FW_GEC, sub, optarg);
sub = instance = 0;
break;
- case AMDFW_OPT_COMBO:
- comboable = true;
- break;
case AMDFW_OPT_RECOVERY_AB:
cb_config.recovery_ab = true;
break;
@@ -2532,10 +2526,24 @@ int main(int argc, char **argv)
amd_psp_fw_table, PSP_COOKIE, &cb_config);
}
- if (comboable)
- amd_romsig->new_psp_directory = BUFF_TO_RUN(ctx, pspdir);
- else
+ switch (cb_config.soc_id) {
+ case PLATFORM_UNKNOWN:
amd_romsig->psp_directory = BUFF_TO_RUN(ctx, pspdir);
+ break;
+ case PLATFORM_CEZANNE:
+ case PLATFORM_MENDOCINO:
+ case PLATFORM_PHOENIX:
+ case PLATFORM_GLINDA:
+ case PLATFORM_CARRIZO:
+ case PLATFORM_STONEYRIDGE:
+ case PLATFORM_RAVEN:
+ case PLATFORM_PICASSO:
+ case PLATFORM_LUCIENNE:
+ case PLATFORM_RENOIR:
+ default:
+ amd_romsig->new_psp_directory = BUFF_TO_RUN(ctx, pspdir);
+ break;
+ }
if (cb_config.use_combo) {
psp_combo_directory *combo_dir = new_combo_dir(&ctx);