diff options
Diffstat (limited to 'src/drivers/intel')
-rw-r--r-- | src/drivers/intel/fsp1_1/Kconfig | 14 | ||||
-rw-r--r-- | src/drivers/intel/fsp1_1/fsp_util.c | 11 |
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; } |