diff options
author | Ronak Kanabar <ronak.kanabar@intel.com> | 2024-03-04 15:39:46 +0530 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-03-22 13:54:27 +0000 |
commit | 14ea5c858a0c045d961394c7a0d2a46d9b0a2963 (patch) | |
tree | 6ee6b9c8b7a4e7c682c1537db713b0de687c6886 /src/vendorcode/intel/fsp | |
parent | 01515c5dcd33de9feeb7d03ee75631e1b3c602fc (diff) |
vc/intel/fsp/twinlake: Add FspProducerDataHeader.h header
This patch is to add FspProducerDataHeader.h header file to support MRC
version Info in TWL.
BUG=b:296433836
Change-Id: Ie33c681676d2a699b7aec8185dbdb90555ef8fe2
Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81037
Reviewed-by: V Sowmya <v.sowmya@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Diffstat (limited to 'src/vendorcode/intel/fsp')
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/twinlake/FspProducerDataHeader.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/vendorcode/intel/fsp/fsp2_0/twinlake/FspProducerDataHeader.h b/src/vendorcode/intel/fsp/fsp2_0/twinlake/FspProducerDataHeader.h new file mode 100644 index 0000000000..2d75439fcc --- /dev/null +++ b/src/vendorcode/intel/fsp/fsp2_0/twinlake/FspProducerDataHeader.h @@ -0,0 +1,78 @@ +/** @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 |