summaryrefslogtreecommitdiff
path: root/src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h
diff options
context:
space:
mode:
authorJonathan Zhang <jonzhang@fb.com>2020-07-08 14:26:55 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-07-12 19:34:28 +0000
commit0ccb3828bc6464dc51ef5075d9cc050272e0f75a (patch)
tree7537e96bf2c50dee38c0a337c45cb7a2cd41e670 /src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h
parentbb50c672278c7ddee146b414e219ba45e8e0f559 (diff)
downloadcoreboot-0ccb3828bc6464dc51ef5075d9cc050272e0f75a.tar.xz
vendocode/intel/fsp/fsp2_0/cpx_sp: Update to FSP ww28 release and adapt soc
CPX-SP FSP ww28 release adds UPDs to allow enablement of VT-d and VMX. Also update IIO UDS HOB definition file accordingly. Intel CPX-SP FSP has been using FSPM_CONFIG intead of FSP_M_CONFIG. Other Intel FSPs have been using FSP_M_CONFIG. The feedback from Intel is that they will converge to use FSPM_CONFIG over time. So both will co-exist for some time. Today coreboot common code expects FSP_M_CONFIG. Accomodate this situation in FspmUpd.h. The CPX-SP soc code is updated accordingly. Signed-off-by: Jonathan Zhang <jonzhang@fb.com> Change-Id: If6d0a041eaad9eb2f811e74d219fff1cc38e95a4 Reviewed-on: https://review.coreboot.org/c/coreboot/+/43315 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Christian Walter <christian.walter@9elements.com>
Diffstat (limited to 'src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h')
-rw-r--r--src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h b/src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h
index 14e235f320..8dcac42bd3 100644
--- a/src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h
+++ b/src/vendorcode/intel/fsp/fsp2_0/cooperlake_sp/hob_iiouds.h
@@ -155,6 +155,7 @@ typedef struct {
uint8_t PcieSegment;
UINT64_STRUCT SegMmcfgBase;
uint16_t stackPresentBitmap;
+ uint16_t CxlPresentBitmap;
uint16_t M2PciePresentBitmap;
uint8_t TotM3Kti;
uint8_t TotCha;
@@ -199,20 +200,23 @@ typedef struct _STACK_RES {
uint8_t Personality; // see STACK_TYPE for details
uint8_t BusBase;
uint8_t BusLimit;
- uint16_t PciResourceIoBase;
- uint16_t PciResourceIoLimit;
- uint32_t IoApicBase;
- uint32_t IoApicLimit;
+ uint16_t IoBase; // Base of IO configured for this stack
+ uint16_t IoLimit; // Limit of IO configured for this stack
+ uint32_t IoApicBase; // Base of IO configured for this stack
+ uint32_t IoApicLimit; // Limit of IO configured for this stack
uint32_t Mmio32Base;
uint32_t Mmio32Limit;
uint64_t Mmio64Base;
uint64_t Mmio64Limit;
+ uint8_t PciResourceBusBase; // Base of Bus resource available for PCI devices
+ uint8_t PciResourceBusLimit; // Limit of Bus resource available for PCI devices
+ uint16_t PciResourceIoBase; // Base of IO resource available for PCI devices
+ uint16_t PciResourceIoLimit; // Limit of IO resource available for PCI devices
uint32_t PciResourceMem32Base;
uint32_t PciResourceMem32Limit;
uint64_t PciResourceMem64Base;
uint64_t PciResourceMem64Limit;
uint32_t VtdBarAddress;
- uint32_t Slt2HfiBarAddress; // KNH Only
} STACK_RES;
typedef struct {
@@ -224,10 +228,10 @@ typedef struct {
uint16_t PciResourceIoLimit;
uint32_t IoApicBase;
uint32_t IoApicLimit;
- uint32_t PciResourceMem32Base;
- uint32_t PciResourceMem32Limit;
- uint64_t PciResourceMem64Base;
- uint64_t PciResourceMem64Limit;
+ uint32_t Mmio32Base;
+ uint32_t Mmio32Limit;
+ uint64_t Mmio64Base;
+ uint64_t Mmio64Limit;
STACK_RES StackRes[MAX_LOGIC_IIO_STACK];
uint32_t RcBaseAddress;
IIO_DMI_PCIE_INFO PcieInfo;
@@ -275,7 +279,6 @@ typedef struct {
uint8_t DmiVc1;
uint8_t DmiVcm;
uint32_t CpuPCPSInfo;
- uint8_t MctpEn;
uint8_t cpuSubType;
uint8_t SystemRasType;
uint8_t numCpus; // 1,..4. Total number of CPU packages installed and detected (1..4)by QPI RC