summaryrefslogtreecommitdiff
path: root/util/amdfwtool/data_parse.c
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2023-08-25 19:20:37 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-09-05 12:30:16 +0000
commit730c3ba6d81aa26b6c3438a613fe964fc9e4ea3f (patch)
tree7e457e9b01e69c05864bd08324e2bfc5fc927540 /util/amdfwtool/data_parse.c
parent5a87c824286bb3928ebc416a039c1e8844d69e08 (diff)
amdfwtool: Add FW type FUSE_CHAIN in the config file
We don't have file for the fuse chain, but we need to set the level for some cases. Change-Id: Idb546f761ae10b0d19a9879a9a644b788828d523 Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77506 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Varshit Pandya <pandyavarshit@gmail.com>
Diffstat (limited to 'util/amdfwtool/data_parse.c')
-rw-r--r--util/amdfwtool/data_parse.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/util/amdfwtool/data_parse.c b/util/amdfwtool/data_parse.c
index 64cae54a6c..728feae053 100644
--- a/util/amdfwtool/data_parse.c
+++ b/util/amdfwtool/data_parse.c
@@ -176,6 +176,9 @@ static uint8_t find_register_fw_filename_psp_dir(char *fw_name, char *filename,
} else if (strcmp(fw_name, "AMD_PUBKEY_FILE") == 0) {
fw_type = AMD_FW_PSP_PUBKEY;
subprog = 0;
+ } else if (strcmp(fw_name, "AMD_FUSE_CHAIN") == 0) {
+ fw_type = AMD_PSP_FUSE_CHAIN;
+ subprog = 0;
} else if (strcmp(fw_name, "PSPRCVR_FILE") == 0) {
fw_type = AMD_FW_PSP_RECOVERY;
subprog = 0;
@@ -499,11 +502,13 @@ static uint8_t find_register_fw_filename_psp_dir(char *fw_name, char *filename,
/* instance are not used in PSP table */
if (psp_tableptr->type == fw_type && psp_tableptr->subprog == subprog
&& psp_tableptr->inst == instance) {
- psp_tableptr->filename = filename;
+ if (psp_tableptr->type != AMD_PSP_FUSE_CHAIN) {
+ psp_tableptr->filename = filename;
+ psp_tableptr->hash_tbl_id = hash_tbl_id;
+ psp_tableptr->fwid_type = fwid_type;
+ }
SET_LEVEL(psp_tableptr, level_to_set, PSP,
cb_config->recovery_ab);
- psp_tableptr->hash_tbl_id = hash_tbl_id;
- psp_tableptr->fwid_type = fwid_type;
break;
}
psp_tableptr++;