drivers/intel/fsp1_1: Take platform ID as a string, not integers

The platform ID is an 8 character ASCII string, so our config should
take it in as a string, rather than a set of two 32-bit integers.

Change-Id: I76da85fab59fe4891fbc3b5edf430f2791b70ffb
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/11465
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@gmail.com>
This commit is contained in:
Alexandru Gagniuc 2015-08-29 18:53:43 -07:00
parent f55e6680b9
commit 5c261229ae
2 changed files with 13 additions and 12 deletions

View File

@ -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"

View File

@ -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;
}