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>
This commit is contained in:
@@ -912,7 +912,10 @@ static void dump_psp_firmwares(amd_fw_entry *fw_table)
|
||||
|
||||
printf("PSP firmware components:\n");
|
||||
for (index = fw_table; index->type != AMD_FW_INVALID; index++) {
|
||||
if (index->filename)
|
||||
if (index->type == AMD_PSP_FUSE_CHAIN)
|
||||
printf(" %2x: level=%x, subprog=%x, inst=%x\n",
|
||||
index->type, index->level, index->subprog, index->inst);
|
||||
else if (index->filename)
|
||||
printf(" %2x: level=%x, subprog=%x, inst=%x, %s\n",
|
||||
index->type, index->level, index->subprog, index->inst,
|
||||
index->filename);
|
||||
|
@@ -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++;
|
||||
|
Reference in New Issue
Block a user