You've already forked edk2-platforms
mirror of
https://github.com/Dasharo/edk2-platforms.git
synced 2026-03-06 14:51:43 -08:00
AmpereAltraPkg: Add configuration screen for PCIe
This menu screen allows the user to: - Enable/Disable each Root Complex - Enable/Disable SMMU support - Enable/Disable Strong Ordering - Set Bifurcation mode for each Root Complex Cc: Thang Nguyen <thang@os.amperecomputing.com> Cc: Chuong Tran <chuong@os.amperecomputing.com> Cc: Phong Vo <phong@os.amperecomputing.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com> Acked-by: Leif Lindholm <leif@nuviainc.com>
This commit is contained in:
@@ -181,3 +181,8 @@
|
||||
Platform/Ampere/JadePkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
|
||||
Platform/Ampere/JadePkg/Drivers/SmbiosMemInfoDxe/SmbiosMemInfoDxe.inf
|
||||
|
||||
#
|
||||
# HII
|
||||
#
|
||||
Silicon/Ampere/AmpereAltraPkg/Drivers/RootComplexConfigDxe/RootComplexConfigDxe.inf
|
||||
|
||||
@@ -348,4 +348,9 @@ APRIORI DXE {
|
||||
INF ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
|
||||
INF Platform/Ampere/JadePkg/Drivers/SmbiosMemInfoDxe/SmbiosMemInfoDxe.inf
|
||||
|
||||
#
|
||||
# HII
|
||||
#
|
||||
INF Silicon/Ampere/AmpereAltraPkg/Drivers/RootComplexConfigDxe/RootComplexConfigDxe.inf
|
||||
|
||||
!include Silicon/Ampere/AmpereSiliconPkg/FvRules.fdf.inc
|
||||
|
||||
@@ -61,3 +61,6 @@
|
||||
|
||||
## Include/Guid/RootComplexInfoHob.h
|
||||
gRootComplexInfoHobGuid = { 0x568a258a, 0xcaa1, 0x47e9, { 0xbb, 0x89, 0x65, 0xa3, 0x73, 0x9b, 0x58, 0x75 } }
|
||||
|
||||
## Include/Guid/RootComplexConfigHii.h
|
||||
gRootComplexConfigFormSetGuid = { 0xE84E70D6, 0xE4B2, 0x4C6E, { 0x98, 0x51, 0xCB, 0x2B, 0xAC, 0x77, 0x7D, 0xBB } }
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,114 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef BOARD_PCIE_SCREEN_H_
|
||||
#define BOARD_PCIE_SCREEN_H_
|
||||
|
||||
#include "RootComplexConfigNVDataStruct.h"
|
||||
|
||||
//
|
||||
// This is the generated IFR binary data for each formset defined in VFR.
|
||||
// This data array is ready to be used as input of HiiAddPackages() to
|
||||
// create a packagelist (which contains Form packages, String packages, etc).
|
||||
//
|
||||
extern UINT8 RootComplexConfigVfrBin[];
|
||||
|
||||
//
|
||||
// This is the generated String package data for all .UNI files.
|
||||
// This data array is ready to be used as input of HiiAddPackages() to
|
||||
// create a packagelist (which contains Form packages, String packages, etc).
|
||||
//
|
||||
extern UINT8 RootComplexConfigDxeStrings[];
|
||||
|
||||
#define MAX_EDITABLE_ELEMENTS 3
|
||||
#define RC0_STATUS_OFFSET \
|
||||
OFFSET_OF (ROOT_COMPLEX_CONFIG_VARSTORE_DATA, RCStatus[0])
|
||||
#define RC0_BIFUR_LO_OFFSET \
|
||||
OFFSET_OF (ROOT_COMPLEX_CONFIG_VARSTORE_DATA, RCBifurcationLow[0])
|
||||
#define RC0_BIFUR_HI_OFFSET \
|
||||
OFFSET_OF (ROOT_COMPLEX_CONFIG_VARSTORE_DATA, RCBifurcationHigh[0])
|
||||
#define SMMU_PMU_OFFSET \
|
||||
OFFSET_OF (ROOT_COMPLEX_CONFIG_VARSTORE_DATA, SmmuPmu)
|
||||
|
||||
#define STRONG_ORDERING_OFFSET \
|
||||
OFFSET_OF (NVPARAM_ROOT_COMPLEX_CONFIG_VARSTORE_DATA, PcieStrongOrdering)
|
||||
|
||||
//
|
||||
// Signature: Ampere Computing PCIe Screen
|
||||
//
|
||||
#define SCREEN_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('A', 'C', 'P', 'S')
|
||||
|
||||
#define MAX_STRING_SIZE 32
|
||||
|
||||
#define STRONG_ORDERING_DEFAULT_OPTION_VALUE 1
|
||||
#define STRONG_ORDERING_DEFAULT_NVPARAM_VALUE 0xFFFFFFFF
|
||||
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
|
||||
EFI_HANDLE DriverHandle;
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
ROOT_COMPLEX_CONFIG_VARSTORE_DATA VarStoreConfig;
|
||||
NVPARAM_ROOT_COMPLEX_CONFIG_VARSTORE_DATA NVParamVarStoreConfig;
|
||||
|
||||
//
|
||||
// Consumed protocol
|
||||
//
|
||||
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
|
||||
EFI_HII_STRING_PROTOCOL *HiiString;
|
||||
EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;
|
||||
EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *HiiKeywordHandler;
|
||||
|
||||
//
|
||||
// Produced protocol
|
||||
//
|
||||
EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
|
||||
} SCREEN_PRIVATE_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINTN PciDevIdx;
|
||||
EFI_STRING_ID GotoStringId;
|
||||
EFI_STRING_ID GotoHelpStringId;
|
||||
UINT16 GotoKey;
|
||||
BOOLEAN ShowItem;
|
||||
} SETUP_GOTO_DATA;
|
||||
|
||||
#define SCREEN_PRIVATE_FROM_THIS(a) \
|
||||
CR (a, SCREEN_PRIVATE_DATA, ConfigAccess, SCREEN_PRIVATE_DATA_SIGNATURE)
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
///
|
||||
/// HII specific Vendor Device Path definition.
|
||||
///
|
||||
typedef struct {
|
||||
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL End;
|
||||
} HII_VENDOR_DEVICE_PATH;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
UINT8
|
||||
PcieRCDevMapLowDefaultSetting (
|
||||
IN UINTN RCIndex,
|
||||
IN SCREEN_PRIVATE_DATA *PrivateData
|
||||
);
|
||||
|
||||
UINT8
|
||||
PcieRCDevMapHighDefaultSetting (
|
||||
IN UINTN RCIndex,
|
||||
IN SCREEN_PRIVATE_DATA *PrivateData
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
PcieRCActiveDefaultSetting (
|
||||
IN UINTN RCIndex,
|
||||
IN SCREEN_PRIVATE_DATA *PrivateData
|
||||
);
|
||||
|
||||
#endif /* BOARD_PCIE_SCREEN_H_ */
|
||||
@@ -0,0 +1,61 @@
|
||||
## @file
|
||||
#
|
||||
# Copyright (c) 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x0001001B
|
||||
BASE_NAME = RootComplexConfigDxe
|
||||
FILE_GUID = 9820A15A-ECFE-404B-97C8-A2B76F0AB103
|
||||
MODULE_TYPE = DXE_DRIVER
|
||||
VERSION_STRING = 1.0
|
||||
ENTRY_POINT = RootComplexDriverEntry
|
||||
|
||||
[Sources.common]
|
||||
RootComplexConfigDxe.c
|
||||
RootComplexConfigDxe.h
|
||||
RootComplexConfigDxe.uni
|
||||
RootComplexConfigNVDataStruct.h
|
||||
RootComplexConfigVfr.vfr
|
||||
|
||||
[Packages]
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
MdePkg/MdePkg.dec
|
||||
Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dec
|
||||
Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
AmpereCpuLib
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
DebugLib
|
||||
DevicePathLib
|
||||
HiiLib
|
||||
HobLib
|
||||
MemoryAllocationLib
|
||||
NVParamLib
|
||||
PrintLib
|
||||
UefiBootServicesTableLib
|
||||
UefiDriverEntryPoint
|
||||
UefiRuntimeServicesTableLib
|
||||
|
||||
[Protocols]
|
||||
gEfiDevicePathProtocolGuid
|
||||
gEfiHiiStringProtocolGuid ## CONSUMES
|
||||
gEfiHiiConfigRoutingProtocolGuid ## CONSUMES
|
||||
gEfiHiiConfigAccessProtocolGuid ## PRODUCES
|
||||
gEfiHiiDatabaseProtocolGuid ## CONSUMES
|
||||
gEfiConfigKeywordHandlerProtocolGuid ## CONSUMES
|
||||
|
||||
[Guids]
|
||||
gEfiIfrTianoGuid ## CONSUMES
|
||||
gPlatformInfoHobGuid ## CONSUMES
|
||||
gPlatformManagerFormsetGuid ## CONSUMES
|
||||
gRootComplexConfigFormSetGuid ## CONSUMES
|
||||
gRootComplexInfoHobGuid ## CONSUMES
|
||||
|
||||
[Depex]
|
||||
TRUE
|
||||
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
//
|
||||
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
//
|
||||
|
||||
#langdef en-US "English"
|
||||
|
||||
#string STR_PCIE_FORM #language en-US "PCIe Root Complex Configuration"
|
||||
#string STR_PCIE_FORM_HELP #language en-US "Configure Root Complex"
|
||||
|
||||
#string STR_PCIE_FORM_SEPERATE_LINE #language en-US ""
|
||||
|
||||
/////
|
||||
|
||||
#string STR_PCIE_GOTO #language en-US ""
|
||||
#string STR_PCIE_GOTO_HELP #language en-US "Change On Board Root Complex Settings."
|
||||
|
||||
#string STR_PCIE_RC_STATUS #language en-US ""
|
||||
#string STR_PCIE_RC_STATUS_HELP #language en-US "Enable / Disable Root Complex"
|
||||
|
||||
#string STR_PCIE_RCA_BIFUR #language en-US "Bifurcation x16"
|
||||
#string STR_PCIE_RCA_BIFUR_HELP #language en-US "Set bifurcation mode for x16 Root Complex Type-A"
|
||||
|
||||
#string STR_PCIE_RCB_LO_BIFUR #language en-US "Bifurcation 1st x8"
|
||||
#string STR_PCIE_RCB_LO_BIFUR_HELP #language en-US "Set bifurcation mode for 1st x8 Root Complex Type-B"
|
||||
|
||||
#string STR_PCIE_RCB_HI_BIFUR #language en-US "Bifurcation 2nd x8"
|
||||
#string STR_PCIE_RCB_HI_BIFUR_HELP #language en-US "Set bifurcation mode for 2nd x8 Root Complex Type-B"
|
||||
|
||||
/////
|
||||
|
||||
#string STR_PCIE_RC0_FORM #language en-US "Root Complex 0 Configuration"
|
||||
#string STR_PCIE_RC0_FORM_HELP #language en-US "Root Complex 0 Configuration"
|
||||
|
||||
#string STR_PCIE_RC1_FORM #language en-US "Root Complex 1 Configuration"
|
||||
#string STR_PCIE_RC1_FORM_HELP #language en-US "Root Complex 1 Configuration"
|
||||
|
||||
#string STR_PCIE_RC2_FORM #language en-US "Root Complex 2 Configuration"
|
||||
#string STR_PCIE_RC2_FORM_HELP #language en-US "Root Complex 2 Configuration"
|
||||
|
||||
#string STR_PCIE_RC3_FORM #language en-US "Root Complex 3 Configuration"
|
||||
#string STR_PCIE_RC3_FORM_HELP #language en-US "Root Complex 3 Configuration"
|
||||
|
||||
#string STR_PCIE_RC4_FORM #language en-US "Root Complex 4 Configuration"
|
||||
#string STR_PCIE_RC4_FORM_HELP #language en-US "Root Complex 4 Configuration"
|
||||
|
||||
#string STR_PCIE_RC5_FORM #language en-US "Root Complex 5 Configuration"
|
||||
#string STR_PCIE_RC5_FORM_HELP #language en-US "Root Complex 5 Configuration"
|
||||
|
||||
#string STR_PCIE_RC6_FORM #language en-US "Root Complex 6 Configuration"
|
||||
#string STR_PCIE_RC6_FORM_HELP #language en-US "Root Complex 6 Configuration"
|
||||
|
||||
#string STR_PCIE_RC7_FORM #language en-US "Root Complex 7 Configuration"
|
||||
#string STR_PCIE_RC7_FORM_HELP #language en-US "Root Complex 7 Configuration"
|
||||
|
||||
#string STR_PCIE_RC8_FORM #language en-US "Root Complex 8 Configuration"
|
||||
#string STR_PCIE_RC8_FORM_HELP #language en-US "Root Complex 8 Configuration"
|
||||
|
||||
#string STR_PCIE_RC9_FORM #language en-US "Root Complex 9 Configuration"
|
||||
#string STR_PCIE_RC9_FORM_HELP #language en-US "Root Complex 9 Configuration"
|
||||
|
||||
#string STR_PCIE_RC10_FORM #language en-US "Root Complex 10 Configuration"
|
||||
#string STR_PCIE_RC10_FORM_HELP #language en-US "Root Complex 10 Configuration"
|
||||
|
||||
#string STR_PCIE_RC11_FORM #language en-US "Root Complex 11 Configuration"
|
||||
#string STR_PCIE_RC11_FORM_HELP #language en-US "Root Complex 11 Configuration"
|
||||
|
||||
#string STR_PCIE_RC12_FORM #language en-US "Root Complex 12 Configuration"
|
||||
#string STR_PCIE_RC12_FORM_HELP #language en-US "Root Complex 12 Configuration"
|
||||
|
||||
#string STR_PCIE_RC13_FORM #language en-US "Root Complex 13 Configuration"
|
||||
#string STR_PCIE_RC13_FORM_HELP #language en-US "Root Complex 13 Configuration"
|
||||
|
||||
#string STR_PCIE_RC14_FORM #language en-US "Root Complex 14 Configuration"
|
||||
#string STR_PCIE_RC14_FORM_HELP #language en-US "Root Complex 14 Configuration"
|
||||
|
||||
#string STR_PCIE_RC15_FORM #language en-US "Root Complex 15 Configuration"
|
||||
#string STR_PCIE_RC15_FORM_HELP #language en-US "Root Complex 15 Configuration"
|
||||
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE0 #language en-US "x16"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE1 #language en-US "x8+x8"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE2 #language en-US "x8+x4+x4"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE3 #language en-US "x4+x4+x4+x4"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE4 #language en-US "x8"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE5 #language en-US "x4+x4"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE6 #language en-US "x4+x2+x2"
|
||||
#string STR_PCIE_BIFUR_SELECT_VALUE7 #language en-US "x2+x2+x2+x2"
|
||||
|
||||
#string STR_PCIE_SOCKET #language en-US "Socket"
|
||||
#string STR_PCIE_SOCKET_HELP #language en-US "Socket 0 - Master; Socket 1 - Slave"
|
||||
#string STR_PCIE_SOCKET_VALUE #language en-US ""
|
||||
|
||||
#string STR_PCIE_RC_TYPE #language en-US "Type"
|
||||
#string STR_PCIE_RC_TYPE_HELP #language en-US "Type-A: x16 lanes bifurcated down to x4; Type-B: 2 of x8 lanes, each bifurcated down to x2"
|
||||
#string STR_PCIE_RC_TYPE_VALUE #language en-US ""
|
||||
|
||||
#string STR_PCIE_SMMU_PMU_PROMPT #language en-US "SMMU Pmu"
|
||||
#string STR_PCIE_SMMU_PMU_HELP #language en-US "Enable/Disable PMU feature for SMMU"
|
||||
|
||||
#string STR_PCIE_STRONG_ORDERING_PROMPT #language en-US "PCIe Strong Ordering"
|
||||
#string STR_PCIE_STRONG_ORDERING_HELP #language en-US "Enable/disable PCIe Strong Ordering with internal bus"
|
||||
@@ -0,0 +1,91 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef BOARD_PCIE_VFR_H_
|
||||
#define BOARD_PCIE_VFR_H_
|
||||
|
||||
#include <Platform/Ac01.h>
|
||||
|
||||
#define VARSTORE_ID 0x1234
|
||||
#define FORM_ID 0x1235
|
||||
#define RC0_FORM_ID 0x1236
|
||||
#define RC1_FORM_ID 0x1237
|
||||
#define RC2_FORM_ID 0x1238
|
||||
#define RC3_FORM_ID 0x1239
|
||||
#define RC4_FORM_ID 0x123A
|
||||
#define RC5_FORM_ID 0x123B
|
||||
#define RC6_FORM_ID 0x123C
|
||||
#define RC7_FORM_ID 0x123D
|
||||
#define RC8_FORM_ID 0x123E
|
||||
#define RC9_FORM_ID 0x123F
|
||||
#define RC10_FORM_ID 0x1240
|
||||
#define RC11_FORM_ID 0x1241
|
||||
#define RC12_FORM_ID 0x1242
|
||||
#define RC13_FORM_ID 0x1243
|
||||
#define RC14_FORM_ID 0x1244
|
||||
#define RC15_FORM_ID 0x1245
|
||||
|
||||
#define QUESTION_ID_BASE 0x8002
|
||||
#define GOTO_ID_BASE 0x8040
|
||||
|
||||
#define SMMU_PMU_ID 0x9000
|
||||
#define STRONG_ORDERING_ID 0x9001
|
||||
|
||||
#define NVPARAM_VARSTORE_NAME L"PcieIfrNVParamData"
|
||||
#define NVPARAM_VARSTORE_ID 0x1233
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// NVParam data structure definition
|
||||
//
|
||||
typedef struct {
|
||||
BOOLEAN PcieStrongOrdering;
|
||||
} NVPARAM_ROOT_COMPLEX_CONFIG_VARSTORE_DATA;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
//
|
||||
// Labels definition
|
||||
//
|
||||
#define LABEL_UPDATE 0x2223
|
||||
#define LABEL_END 0x2224
|
||||
#define LABEL_RC0_UPDATE 0x2225
|
||||
#define LABEL_RC0_END 0x2226
|
||||
#define LABEL_RC1_UPDATE 0x2227
|
||||
#define LABEL_RC1_END 0x2228
|
||||
#define LABEL_RC2_UPDATE 0x2229
|
||||
#define LABEL_RC2_END 0x222A
|
||||
#define LABEL_RC3_UPDATE 0x222B
|
||||
#define LABEL_RC3_END 0x222C
|
||||
#define LABEL_RC4_UPDATE 0x222D
|
||||
#define LABEL_RC4_END 0x222E
|
||||
#define LABEL_RC5_UPDATE 0x222F
|
||||
#define LABEL_RC5_END 0x2230
|
||||
#define LABEL_RC6_UPDATE 0x2231
|
||||
#define LABEL_RC6_END 0x2232
|
||||
#define LABEL_RC7_UPDATE 0x2233
|
||||
#define LABEL_RC7_END 0x2234
|
||||
#define LABEL_RC8_UPDATE 0x2235
|
||||
#define LABEL_RC8_END 0x2236
|
||||
#define LABEL_RC9_UPDATE 0x2237
|
||||
#define LABEL_RC9_END 0x2238
|
||||
#define LABEL_RC10_UPDATE 0x2239
|
||||
#define LABEL_RC10_END 0x223A
|
||||
#define LABEL_RC11_UPDATE 0x223B
|
||||
#define LABEL_RC11_END 0x223C
|
||||
#define LABEL_RC12_UPDATE 0x223D
|
||||
#define LABEL_RC12_END 0x223E
|
||||
#define LABEL_RC13_UPDATE 0x223F
|
||||
#define LABEL_RC13_END 0x2240
|
||||
#define LABEL_RC14_UPDATE 0x2241
|
||||
#define LABEL_RC14_END 0x2242
|
||||
#define LABEL_RC15_UPDATE 0x2243
|
||||
#define LABEL_RC15_END 0x2244
|
||||
|
||||
#endif /* BOARD_PCIE_VFR_H_ */
|
||||
@@ -0,0 +1,219 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include <Guid/RootComplexConfigHii.h>
|
||||
#include <Guid/PlatformManagerHii.h>
|
||||
#include "RootComplexConfigNVDataStruct.h"
|
||||
|
||||
formset
|
||||
guid = ROOT_COMPLEX_CONFIG_FORMSET_GUID,
|
||||
title = STRING_TOKEN(STR_PCIE_FORM),
|
||||
help = STRING_TOKEN(STR_PCIE_FORM_HELP),
|
||||
classguid = gPlatformManagerFormsetGuid,
|
||||
|
||||
//
|
||||
// Define a variable Storage
|
||||
//
|
||||
varstore ROOT_COMPLEX_CONFIG_VARSTORE_DATA,
|
||||
varid = VARSTORE_ID,
|
||||
name = PcieIfrNVData,
|
||||
guid = ROOT_COMPLEX_CONFIG_FORMSET_GUID;
|
||||
|
||||
varstore NVPARAM_ROOT_COMPLEX_CONFIG_VARSTORE_DATA,
|
||||
varid = NVPARAM_VARSTORE_ID,
|
||||
name = PcieIfrNVParamData,
|
||||
guid = ROOT_COMPLEX_CONFIG_FORMSET_GUID;
|
||||
|
||||
form
|
||||
formid = FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_FORM);
|
||||
|
||||
label LABEL_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC0_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC0_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC0_FORM);
|
||||
|
||||
label LABEL_RC0_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC0_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC1_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC1_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC1_FORM);
|
||||
|
||||
label LABEL_RC1_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC1_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC2_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC2_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC2_FORM);
|
||||
|
||||
label LABEL_RC2_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC2_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC3_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC3_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC3_FORM);
|
||||
|
||||
label LABEL_RC3_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC3_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC4_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC4_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC4_FORM);
|
||||
|
||||
label LABEL_RC4_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC4_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC5_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC5_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC5_FORM);
|
||||
|
||||
label LABEL_RC5_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC5_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC6_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC6_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC6_FORM);
|
||||
|
||||
label LABEL_RC6_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC6_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC7_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC7_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC7_FORM);
|
||||
|
||||
label LABEL_RC7_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC7_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC8_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC8_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC8_FORM);
|
||||
|
||||
label LABEL_RC8_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC8_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC9_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC9_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC9_FORM);
|
||||
|
||||
label LABEL_RC9_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC9_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC10_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC10_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC10_FORM);
|
||||
|
||||
label LABEL_RC10_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC10_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC11_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC11_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC11_FORM);
|
||||
|
||||
label LABEL_RC11_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC11_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC12_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC12_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC12_FORM);
|
||||
|
||||
label LABEL_RC12_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC12_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC13_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC13_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC13_FORM);
|
||||
|
||||
label LABEL_RC13_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC13_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC14_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC14_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC14_FORM);
|
||||
|
||||
label LABEL_RC14_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC14_END;
|
||||
endform;
|
||||
|
||||
form
|
||||
formid = RC15_FORM_ID,
|
||||
title = STRING_TOKEN(STR_PCIE_RC15_FORM);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_PCIE_RC15_FORM);
|
||||
|
||||
label LABEL_RC15_UPDATE;
|
||||
// dynamic content here
|
||||
label LABEL_RC15_END;
|
||||
endform;
|
||||
|
||||
endformset;
|
||||
@@ -0,0 +1,33 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2021, Ampere Computing LLC. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef ROOT_COMPLEX_CONFIG_HII_H_
|
||||
#define ROOT_COMPLEX_CONFIG_HII_H_
|
||||
|
||||
#include <Platform/Ac01.h>
|
||||
|
||||
#define ROOT_COMPLEX_CONFIG_FORMSET_GUID \
|
||||
{ \
|
||||
0xE84E70D6, 0xE4B2, 0x4C6E, { 0x98, 0x51, 0xCB, 0x2B, 0xAC, 0x77, 0x7D, 0xBB } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gRootComplexConfigFormSetGuid;
|
||||
|
||||
//
|
||||
// NV data structure definition
|
||||
//
|
||||
typedef struct {
|
||||
BOOLEAN RCStatus[AC01_PCIE_MAX_ROOT_COMPLEX];
|
||||
UINT8 RCBifurcationLow[AC01_PCIE_MAX_ROOT_COMPLEX];
|
||||
UINT8 RCBifurcationHigh[AC01_PCIE_MAX_ROOT_COMPLEX];
|
||||
UINT32 SmmuPmu;
|
||||
} ROOT_COMPLEX_CONFIG_VARSTORE_DATA;
|
||||
|
||||
#define ROOT_COMPLEX_CONFIG_VARSTORE_NAME L"PcieIfrNVData"
|
||||
|
||||
#endif /* ROOT_COMPLEX_CONFIG_HII_H_ */
|
||||
Reference in New Issue
Block a user