summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/intel/fsp1_1/Kconfig14
-rw-r--r--src/drivers/intel/fsp1_1/fsp_util.c11
2 files changed, 13 insertions, 12 deletions
diff --git a/src/drivers/intel/fsp1_1/Kconfig b/src/drivers/intel/fsp1_1/Kconfig
index 42c42c05e9..2ffa323253 100644
--- a/src/drivers/intel/fsp1_1/Kconfig
+++ b/src/drivers/intel/fsp1_1/Kconfig
@@ -63,17 +63,11 @@ config FSP_FILE
help
The path and filename of the Intel FSP binary for this platform.
-config FSP_IMAGE_ID_DWORD0
- hex "First 4 bytes of 8 byte platform string"
+config FSP_IMAGE_ID_STRING
+ string "8 byte platform string identifying the FSP platform"
help
- The first four bytes of the eight byte platform specific string
- used to identify the FSP binary that should be used.
-
-config FSP_IMAGE_ID_DWORD1
- hex "Second 4 bytes of 8 byte platform string"
- help
- The second four bytes of the eight byte platform specific string
- used to identify the FSP binary that should be used.
+ 8 ASCII character byte signature string that will help match the FSP
+ binary to a supported hardware configuration.
config FSP_INCLUDE_PATH
string "Path for FSP specific include files"
diff --git a/src/drivers/intel/fsp1_1/fsp_util.c b/src/drivers/intel/fsp1_1/fsp_util.c
index bce43371c4..1d67e78d07 100644
--- a/src/drivers/intel/fsp1_1/fsp_util.c
+++ b/src/drivers/intel/fsp1_1/fsp_util.c
@@ -36,6 +36,13 @@ FSP_INFO_HEADER *find_fsp(void)
u8 *u8;
u32 u32;
} fsp_ptr;
+ static const union {
+ char str_id[8];
+ u32 int_id[2];
+ } fsp_id = {
+ .str_id = CONFIG_FSP_IMAGE_ID_STRING
+ };
+
u32 *image_id;
for (;;) {
@@ -87,8 +94,8 @@ FSP_INFO_HEADER *find_fsp(void)
/* Verify the FSP ID */
image_id = (u32 *)&fsp_ptr.fih->ImageId[0];
- if ((image_id[0] != CONFIG_FSP_IMAGE_ID_DWORD0)
- || (image_id[1] != CONFIG_FSP_IMAGE_ID_DWORD1))
+ if ((image_id[0] != fsp_id.int_id[0])
+ || (image_id[1] != fsp_id.int_id[1]))
fsp_ptr.u8 = (u8 *)ERROR_FSP_SIG_MISMATCH;
break;
}