summaryrefslogtreecommitdiff
path: root/src/vendorcode/intel/fsp
diff options
context:
space:
mode:
authorRonak Kanabar <ronak.kanabar@intel.com>2024-03-04 15:39:46 +0530
committerFelix Held <felix-coreboot@felixheld.de>2024-03-22 13:54:27 +0000
commit14ea5c858a0c045d961394c7a0d2a46d9b0a2963 (patch)
tree6ee6b9c8b7a4e7c682c1537db713b0de687c6886 /src/vendorcode/intel/fsp
parent01515c5dcd33de9feeb7d03ee75631e1b3c602fc (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.h78
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