Skip to content

Commit 98a458e

Browse files
committed
ECG BTL-S Hybrid PV (5401_04) FSP
1 parent 86c9111 commit 98a458e

18 files changed

+17374
-0
lines changed

BartlettLakeFspBinPkg/IoT/FSP.bsf

+6,432
Large diffs are not rendered by default.

BartlettLakeFspBinPkg/IoT/FSP.fd

1.25 MB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/** @file
2+
Intel Firmware Version Info (FVI) related definitions.
3+
4+
@todo update document/spec reference
5+
6+
Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
7+
SPDX-License-Identifier: BSD-2-Clause-Patent
8+
9+
@par Specification Reference:
10+
System Management BIOS (SMBIOS) Reference Specification v3.0.0 dated 2015-Feb-12
11+
http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf
12+
13+
**/
14+
15+
#ifndef __FIRMWARE_VERSION_INFO_H__
16+
#define __FIRMWARE_VERSION_INFO_H__
17+
18+
#include <IndustryStandard/SmBios.h>
19+
20+
#define INTEL_FIRMWARE_VERSION_INFO_GROUP_NAME "Firmware Version Info"
21+
#define INTEL_FVI_SMBIOS_TYPE 0xDD
22+
23+
#pragma pack(1)
24+
25+
///
26+
/// Firmware Version Structure
27+
///
28+
typedef struct {
29+
UINT8 MajorVersion;
30+
UINT8 MinorVersion;
31+
UINT8 Revision;
32+
UINT16 BuildNumber;
33+
} INTEL_FIRMWARE_VERSION;
34+
35+
///
36+
/// Firmware Version Info (FVI) Structure
37+
///
38+
typedef struct {
39+
SMBIOS_TABLE_STRING ComponentName; ///< String Index of Component Name
40+
SMBIOS_TABLE_STRING VersionString; ///< String Index of Version String
41+
INTEL_FIRMWARE_VERSION Version; ///< Firmware version
42+
} INTEL_FIRMWARE_VERSION_INFO;
43+
44+
///
45+
/// SMBIOS OEM Type Intel Firmware Version Info (FVI) Structure
46+
///
47+
typedef struct {
48+
SMBIOS_STRUCTURE Header; ///< SMBIOS structure header
49+
UINT8 Count; ///< Number of FVI entries in this structure
50+
INTEL_FIRMWARE_VERSION_INFO Fvi[1]; ///< FVI structure(s)
51+
} SMBIOS_TABLE_TYPE_OEM_INTEL_FVI;
52+
53+
#pragma pack()
54+
55+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/** @file
2+
Header file for Firmware Version Information
3+
4+
@copyright
5+
Copyright (c) 2015 - 2023, Intel Corporation. All rights reserved.<BR>
6+
7+
SPDX-License-Identifier: BSD-2-Clause-Patent
8+
9+
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10+
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11+
12+
**/
13+
14+
#ifndef _FIRMWARE_VERSION_INFO_HOB_H_
15+
#define _FIRMWARE_VERSION_INFO_HOB_H_
16+
17+
#include <Uefi/UefiMultiPhase.h>
18+
#include <Pi/PiBootMode.h>
19+
#include <Pi/PiHob.h>
20+
21+
#pragma pack(1)
22+
///
23+
/// Firmware Version Structure
24+
///
25+
typedef struct {
26+
UINT8 MajorVersion;
27+
UINT8 MinorVersion;
28+
UINT8 Revision;
29+
UINT16 BuildNumber;
30+
} FIRMWARE_VERSION;
31+
32+
///
33+
/// Firmware Version Information Structure
34+
///
35+
typedef struct {
36+
UINT8 ComponentNameIndex; ///< Offset 0 Index of Component Name
37+
UINT8 VersionStringIndex; ///< Offset 1 Index of Version String
38+
FIRMWARE_VERSION Version; ///< Offset 2-6 Firmware version
39+
} FIRMWARE_VERSION_INFO;
40+
41+
#ifndef __SMBIOS_STANDARD_H__
42+
///
43+
/// The Smbios structure header.
44+
///
45+
typedef struct {
46+
UINT8 Type;
47+
UINT8 Length;
48+
UINT16 Handle;
49+
} SMBIOS_STRUCTURE;
50+
#endif
51+
52+
///
53+
/// Firmware Version Information HOB Structure
54+
///
55+
typedef struct {
56+
EFI_HOB_GUID_TYPE Header; ///< Offset 0-23 The header of FVI HOB
57+
SMBIOS_STRUCTURE SmbiosData; ///< Offset 24-27 The SMBIOS header of FVI HOB
58+
UINT8 Count; ///< Offset 28 Number of FVI elements included.
59+
///
60+
/// FIRMWARE_VERSION_INFO structures followed by the null terminated string buffer
61+
///
62+
} FIRMWARE_VERSION_INFO_HOB;
63+
#pragma pack()
64+
65+
#endif // _FIRMWARE_VERSION_INFO_HOB_H_
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/** @file
2+
Header file for FSP Information HOB.
3+
4+
@copyright
5+
Copyright (c) 2017 - 2023, Intel Corporation. All rights reserved.<BR>
6+
7+
SPDX-License-Identifier: BSD-2-Clause-Patent
8+
9+
@par Specification Reference:
10+
**/
11+
12+
#ifndef _FSP_INFO_HOB_H_
13+
#define _FSP_INFO_HOB_H_
14+
15+
extern EFI_GUID gFspInfoGuid;
16+
17+
#pragma pack (push, 1)
18+
19+
typedef struct {
20+
UINT8 SiliconInitVersionMajor;
21+
UINT8 SiliconInitVersionMinor;
22+
UINT8 SiliconInitVersionRevision;
23+
UINT8 SiliconInitVersionBuild;
24+
UINT8 FspVersionRevision;
25+
UINT8 FspVersionBuild;
26+
UINT8 TimeStamp [12];
27+
UINT8 FspVersionMinor;
28+
} FSP_INFO_HOB;
29+
30+
#pragma pack (pop)
31+
32+
#endif // _FSP_INFO_HOB_H_
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/** @file
2+
3+
Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
4+
This program and the accompanying materials
5+
are licensed and made available under the terms and conditions of the BSD License
6+
which accompanies this distribution. The full text of the license may be found at
7+
http://opensource.org/licenses/bsd-license.php
8+
9+
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10+
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11+
**/
12+
#ifndef _FSP_PRODUCER_DATA_HEADER_H_
13+
#define _FSP_PRODUCER_DATA_HEADER_H_
14+
15+
#include <Guid/FspHeaderFile.h>
16+
17+
#define BUILD_TIME_STAMP_SIZE 12
18+
19+
//
20+
// FSP Header Data structure from FspHeader driver.
21+
//
22+
#pragma pack(1)
23+
///
24+
/// FSP Producer Data Subtype - 1
25+
///
26+
typedef struct {
27+
///
28+
/// Byte 0x00: Length of this FSP producer data type record.
29+
///
30+
UINT16 Length;
31+
///
32+
/// Byte 0x02: FSP producer data type.
33+
///
34+
UINT8 Type;
35+
///
36+
/// Byte 0x03: Revision of this FSP producer data type.
37+
///
38+
UINT8 Revision;
39+
///
40+
/// Byte 0x04: 4 byte field of RC version which is used to build this FSP image.
41+
///
42+
UINT32 RcVersion;
43+
///
44+
/// Byte 0x08: Represents the build time stamp "YYYYMMDDHHMM".
45+
///
46+
UINT8 BuildTimeStamp[BUILD_TIME_STAMP_SIZE];
47+
} FSP_PRODUCER_DATA_TYPE1;
48+
49+
///
50+
/// FSP Producer Data Subtype - 2
51+
///
52+
typedef struct {
53+
///
54+
/// Byte 0x00: Length of this FSP producer data type record.
55+
///
56+
UINT16 Length;
57+
///
58+
/// Byte 0x02: FSP producer data type.
59+
///
60+
UINT8 Type;
61+
///
62+
/// Byte 0x03: Revision of this FSP producer data type.
63+
///
64+
UINT8 Revision;
65+
///
66+
/// Byte 0x04: 4 byte field of Mrc version which is used to build this FSP image.
67+
///
68+
UINT8 MrcVersion [4];
69+
} FSP_PRODUCER_DATA_TYPE2;
70+
71+
typedef struct {
72+
FSP_INFO_HEADER FspInfoHeader;
73+
FSP_INFO_EXTENDED_HEADER FspInfoExtendedHeader;
74+
FSP_PRODUCER_DATA_TYPE1 FspProduceDataType1;
75+
FSP_PRODUCER_DATA_TYPE2 FspProduceDataType2;
76+
FSP_PATCH_TABLE FspPatchTable;
77+
} FSP_PRODUCER_DATA_TABLES;
78+
#pragma pack()
79+
80+
#endif // _FSP_PRODUCER_DATA_HEADER_H
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/** @file
2+
3+
Copyright (c) 2025, Intel Corporation. All rights reserved.<BR>
4+
5+
Redistribution and use in source and binary forms, with or without modification,
6+
are permitted provided that the following conditions are met:
7+
8+
* Redistributions of source code must retain the above copyright notice, this
9+
list of conditions and the following disclaimer.
10+
* Redistributions in binary form must reproduce the above copyright notice, this
11+
list of conditions and the following disclaimer in the documentation and/or
12+
other materials provided with the distribution.
13+
* Neither the name of Intel Corporation nor the names of its contributors may
14+
be used to endorse or promote products derived from this software without
15+
specific prior written permission.
16+
17+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27+
THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
This file is automatically generated. Please do NOT modify !!!
30+
31+
**/
32+
33+
#ifndef __FSPUPD_H__
34+
#define __FSPUPD_H__
35+
36+
#include <FspEas.h>
37+
38+
#pragma pack(1)
39+
40+
#define FSPT_UPD_SIGNATURE 0x545F4450554C4441 /* 'ADLUPD_T' */
41+
42+
#define FSPM_UPD_SIGNATURE 0x4D5F4450554C4441 /* 'ADLUPD_M' */
43+
44+
#define FSPS_UPD_SIGNATURE 0x535F4450554C4441 /* 'ADLUPD_S' */
45+
46+
#pragma pack()
47+
48+
#endif

0 commit comments

Comments
 (0)