summaryrefslogtreecommitdiff
path: root/util/amdfwtool/data_parse.c
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2022-02-17 17:48:27 +0800
committerFelix Held <felix-coreboot@felixheld.de>2022-02-21 21:29:50 +0000
commit1a9e54302b421b6d838be48a921529b45bc89413 (patch)
tree3758d8077a6851e44a0fe22aa748b56613988ca5 /util/amdfwtool/data_parse.c
parent5bba93e08ae8759592efae65617e6d2ea26b73e7 (diff)
soc/amd/*/fw.cfg: Remove the misleading name for PMUI and PMUD
Add the information of substance and instance in the string for PMUI and PMUD. It is amdfwtool's job to extract the number from the string. Change-Id: I43235fefcbff5f730efaf0a8e70b906e62cee42e Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/62066 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'util/amdfwtool/data_parse.c')
-rw-r--r--util/amdfwtool/data_parse.c41
1 files changed, 11 insertions, 30 deletions
diff --git a/util/amdfwtool/data_parse.c b/util/amdfwtool/data_parse.c
index 106ea65b69..d27b7bb1e6 100644
--- a/util/amdfwtool/data_parse.c
+++ b/util/amdfwtool/data_parse.c
@@ -331,6 +331,11 @@ static uint8_t find_register_fw_filename_psp_dir(char *fw_name, char *filename,
else
return 1;
}
+#define PMUI_STR_BASE "PSP_PMUI_FILE"
+#define PMUD_STR_BASE "PSP_PMUD_FILE"
+#define PMU_STR_BASE_LEN strlen(PMUI_STR_BASE)
+#define PMU_STR_SUB_INDEX strlen(PMUI_STR_BASE"_SUB")
+#define PMU_STR_INS_INDEX strlen(PMUI_STR_BASE"_SUBx_INS")
static uint8_t find_register_fw_filename_bios_dir(char *fw_name, char *filename,
char level_to_set, amd_cb_config *cb_config)
@@ -342,38 +347,14 @@ static uint8_t find_register_fw_filename_bios_dir(char *fw_name, char *filename,
(void) (cb_config); /* Remove warning and reserved for future. */
- if (strcmp(fw_name, "PSP_PMUI_FILE1") == 0) {
+ if (strncmp(fw_name, PMUI_STR_BASE, PMU_STR_BASE_LEN) == 0) {
fw_type = AMD_BIOS_PMUI;
- subprog = 0;
- instance = 1;
- } else if (strcmp(fw_name, "PSP_PMUI_FILE2") == 0) {
- fw_type = AMD_BIOS_PMUI;
- subprog = 0;
- instance = 4;
- } else if (strcmp(fw_name, "PSP_PMUI_FILE3") == 0) {
- fw_type = AMD_BIOS_PMUI;
- subprog = 1;
- instance = 1;
- } else if (strcmp(fw_name, "PSP_PMUI_FILE4") == 0) {
- fw_type = AMD_BIOS_PMUI;
- subprog = 1;
- instance = 4;
- } else if (strcmp(fw_name, "PSP_PMUD_FILE1") == 0) {
+ subprog = fw_name[PMU_STR_SUB_INDEX] - '0';
+ instance = fw_name[PMU_STR_INS_INDEX] - '0';
+ } else if (strncmp(fw_name, PMUD_STR_BASE, PMU_STR_BASE_LEN) == 0) {
fw_type = AMD_BIOS_PMUD;
- subprog = 0;
- instance = 1;
- } else if (strcmp(fw_name, "PSP_PMUD_FILE2") == 0) {
- fw_type = AMD_BIOS_PMUD;
- subprog = 0;
- instance = 4;
- } else if (strcmp(fw_name, "PSP_PMUD_FILE3") == 0) {
- fw_type = AMD_BIOS_PMUD;
- subprog = 1;
- instance = 1;
- } else if (strcmp(fw_name, "PSP_PMUD_FILE4") == 0) {
- fw_type = AMD_BIOS_PMUD;
- subprog = 1;
- instance = 4;
+ subprog = fw_name[PMU_STR_SUB_INDEX] - '0';
+ instance = fw_name[PMU_STR_INS_INDEX] - '0';
} else if (strcmp(fw_name, "RTM_PUBKEY_FILE") == 0) {
fw_type = AMD_BIOS_RTM_PUBKEY;
subprog = 0;