diff options
author | Ronak Kanabar <ronak.kanabar@intel.com> | 2024-10-11 12:08:05 +0530 |
---|---|---|
committer | Karthik Ramasubramanian <kramasub@google.com> | 2024-11-06 17:00:43 +0000 |
commit | 4597fc331b0bdc2d95ffd7d128c17fbbbc581369 (patch) | |
tree | 595d90b9910fa954a6b012e847bf04053aba4f4a /src/vendorcode/intel | |
parent | 198a2fcac64a8c2ef7fbceb426eadceb2e5701f7 (diff) |
vc/intel/fsp/raptorlake: Add FspProducerDataHeader.h header
This patch is to add FspProducerDataHeader.h header file to support MRC
version Info in RPL.
BUG=b:281846937
TEST=Able to build and boot google/brox.
Change-Id: Iaf7983fbe8f103d9f51065cd160177e2bde7fd3d
Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84723
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Diffstat (limited to 'src/vendorcode/intel')
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/raptorlake/FspProducerDataHeader.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/vendorcode/intel/fsp/fsp2_0/raptorlake/FspProducerDataHeader.h b/src/vendorcode/intel/fsp/fsp2_0/raptorlake/FspProducerDataHeader.h new file mode 100644 index 0000000000..b7cd63427c --- /dev/null +++ b/src/vendorcode/intel/fsp/fsp2_0/raptorlake/FspProducerDataHeader.h @@ -0,0 +1,80 @@ +/** @file + + Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +**/ +#ifndef _FSP_PRODUCER_DATA_HEADER_H_ +#define _FSP_PRODUCER_DATA_HEADER_H_ + +#include <Guid/FspHeaderFile.h> + +#define BUILD_TIME_STAMP_SIZE 12 + +// +// FSP Header Data structure from FspHeader driver. +// +#pragma pack(1) +/// +/// FSP Producer Data Subtype - 1 +/// +typedef struct { + /// + /// Byte 0x00: Length of this FSP producer data type record. + /// + UINT16 Length; + /// + /// Byte 0x02: FSP producer data type. + /// + UINT8 Type; + /// + /// Byte 0x03: Revision of this FSP producer data type. + /// + UINT8 Revision; + /// + /// Byte 0x04: 4 byte field of RC version which is used to build this FSP image. + /// + UINT32 RcVersion; + /// + /// Byte 0x08: Represents the build time stamp "YYYYMMDDHHMM". + /// + UINT8 BuildTimeStamp[BUILD_TIME_STAMP_SIZE]; +} FSP_PRODUCER_DATA_TYPE1; + +/// +/// FSP Producer Data Subtype - 2 +/// +typedef struct { + /// + /// Byte 0x00: Length of this FSP producer data type record. + /// + UINT16 Length; + /// + /// Byte 0x02: FSP producer data type. + /// + UINT8 Type; + /// + /// Byte 0x03: Revision of this FSP producer data type. + /// + UINT8 Revision; + /// + /// Byte 0x04: 4 byte field of Mrc version which is used to build this FSP image. + /// + UINT8 MrcVersion [4]; +} FSP_PRODUCER_DATA_TYPE2; + +typedef struct { + FSP_INFO_HEADER FspInfoHeader; + FSP_INFO_EXTENDED_HEADER FspInfoExtendedHeader; + FSP_PRODUCER_DATA_TYPE1 FspProduceDataType1; + FSP_PRODUCER_DATA_TYPE2 FspProduceDataType2; + FSP_PATCH_TABLE FspPatchTable; +} FSP_PRODUCER_DATA_TABLES; +#pragma pack() + +#endif // _FSP_PRODUCER_DATA_HEADER_H |