diff options
author | Nick Vaccaro <nvaccaro@google.com> | 2022-01-12 12:03:41 -0800 |
---|---|---|
committer | Nick Vaccaro <nvaccaro@google.com> | 2022-01-13 18:04:13 +0000 |
commit | 577afe62c9c7b736f1f54ee4f0bd622885ce7d9d (patch) | |
tree | ac9f6c15aa2639798e6273629f4f6e61f5c7c3ce /src/vendorcode/intel/fsp | |
parent | 435e0038257a10971675fe62d9773bb1bf4c23b2 (diff) |
vendorcode/intel/fsp: Add Alder Lake FSP headers for FSP v2511_04
The headers added are generated as per FSP v2511_04
Previous FSP version was v2471_02
Changes include:
- UPDs description update in FspsUpd.h and FspmUpd.h
- Adjust UPD Offset in FspmUpd.h
- Name change of UPDs in FspmUpd.h and FspsUpd.h
- Copyright year is updated in FspmUpd.h and FspsUpd.h
- Updated spd_upds and dq_upds structure variables in meminit.c
- Updated structure member of s_cfg->LpmStateEnableMask to PmcLpmS0ixSubStateEnableMask
in fsp_params.c
BUG=b:213959910
BRANCH=None
TEST=Build and boot brya
Cq-Depend: chrome-internal:4448696, chrome-internal:4445910
Signed-off-by: Saurabh Mishra <mishra.saurabh@intel.corp-partner.google.com>
Change-Id: I39646c6812afbf622171361b8206daeacdaafac0
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61005
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Diffstat (limited to 'src/vendorcode/intel/fsp')
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/alderlake/FspmUpd.h | 181 | ||||
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/alderlake/FspsUpd.h | 15 |
2 files changed, 119 insertions, 77 deletions
diff --git a/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspmUpd.h b/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspmUpd.h index 191ef276bc..a687eb0ad1 100644 --- a/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspmUpd.h +++ b/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspmUpd.h @@ -1,6 +1,6 @@ /** @file -Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2022, Intel Corporation. All rights reserved.<BR> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -78,69 +78,85 @@ typedef struct { **/ UINT8 CpuCrashLogDevice; -/** Offset 0x004C - MemorySpdPtr00 +/** Offset 0x004C - Memory SPD Pointer Controller 0 Channel 0 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr00; + UINT32 MemorySpdPtr000; -/** Offset 0x0050 - MemorySpdPtr01 +/** Offset 0x0050 - Memory SPD Pointer Controller 0 Channel 0 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr01; + UINT32 MemorySpdPtr001; -/** Offset 0x0054 - MemorySpdPtr02 +/** Offset 0x0054 - Memory SPD Pointer Controller 0 Channel 1 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr02; + UINT32 MemorySpdPtr010; -/** Offset 0x0058 - MemorySpdPtr03 +/** Offset 0x0058 - Memory SPD Pointer Controller 0 Channel 1 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr03; + UINT32 MemorySpdPtr011; -/** Offset 0x005C - MemorySpdPtr04 +/** Offset 0x005C - Memory SPD Pointer Controller 0 Channel 2 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr04; + UINT32 MemorySpdPtr020; -/** Offset 0x0060 - MemorySpdPtr05 +/** Offset 0x0060 - Memory SPD Pointer Controller 0 Channel 2 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr05; + UINT32 MemorySpdPtr021; -/** Offset 0x0064 - MemorySpdPtr06 +/** Offset 0x0064 - Memory SPD Pointer Controller 0 Channel 3 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr06; + UINT32 MemorySpdPtr030; -/** Offset 0x0068 - MemorySpdPtr07 +/** Offset 0x0068 - Memory SPD Pointer Controller 0 Channel 3 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr07; + UINT32 MemorySpdPtr031; -/** Offset 0x006C - MemorySpdPtr08 +/** Offset 0x006C - Memory SPD Pointer Controller 1 Channel 0 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr08; + UINT32 MemorySpdPtr100; -/** Offset 0x0070 - MemorySpdPtr09 +/** Offset 0x0070 - Memory SPD Pointer Controller 1 Channel 0 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr09; + UINT32 MemorySpdPtr101; -/** Offset 0x0074 - MemorySpdPtr10 +/** Offset 0x0074 - Memory SPD Pointer Controller 1 Channel 1 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr10; + UINT32 MemorySpdPtr110; -/** Offset 0x0078 - MemorySpdPtr11 +/** Offset 0x0078 - Memory SPD Pointer Controller 1 Channel 1 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr11; + UINT32 MemorySpdPtr111; -/** Offset 0x007C - MemorySpdPtr12 +/** Offset 0x007C - Memory SPD Pointer Controller 1 Channel 2 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr12; + UINT32 MemorySpdPtr120; -/** Offset 0x0080 - MemorySpdPtr13 +/** Offset 0x0080 - Memory SPD Pointer Controller 1 Channel 2 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr13; + UINT32 MemorySpdPtr121; -/** Offset 0x0084 - MemorySpdPtr14 +/** Offset 0x0084 - Memory SPD Pointer Controller 1 Channel 3 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr14; + UINT32 MemorySpdPtr130; -/** Offset 0x0088 - MemorySpdPtr15 +/** Offset 0x0088 - Memory SPD Pointer Controller 1 Channel 3 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 **/ - UINT32 MemorySpdPtr15; + UINT32 MemorySpdPtr131; /** Offset 0x008C - RcompResistor settings Indicates RcompResistor settings: Board-dependent @@ -152,69 +168,85 @@ typedef struct { **/ UINT16 RcompTarget[5]; -/** Offset 0x0098 - DqsMapCpu2DramCh0 +/** Offset 0x0098 - Dqs Map CPU to DRAM MC 0 CH 0 + Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent **/ - UINT8 DqsMapCpu2DramCh0[2]; + UINT8 DqsMapCpu2DramMc0Ch0[2]; -/** Offset 0x009A - DqsMapCpu2DramCh1 +/** Offset 0x009A - Dqs Map CPU to DRAM MC 0 CH 1 + Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent **/ - UINT8 DqsMapCpu2DramCh1[2]; + UINT8 DqsMapCpu2DramMc0Ch1[2]; -/** Offset 0x009C - DqsMapCpu2DramCh2 +/** Offset 0x009C - Dqs Map CPU to DRAM MC 0 CH 2 + Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent **/ - UINT8 DqsMapCpu2DramCh2[2]; + UINT8 DqsMapCpu2DramMc0Ch2[2]; -/** Offset 0x009E - DqsMapCpu2DramCh3 +/** Offset 0x009E - Dqs Map CPU to DRAM MC 0 CH 3 + Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent **/ - UINT8 DqsMapCpu2DramCh3[2]; + UINT8 DqsMapCpu2DramMc0Ch3[2]; -/** Offset 0x00A0 - DqsMapCpu2DramCh4 +/** Offset 0x00A0 - Dqs Map CPU to DRAM MC 1 CH 0 + Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent **/ - UINT8 DqsMapCpu2DramCh4[2]; + UINT8 DqsMapCpu2DramMc1Ch0[2]; -/** Offset 0x00A2 - DqsMapCpu2DramCh5 +/** Offset 0x00A2 - Dqs Map CPU to DRAM MC 1 CH 1 + Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent **/ - UINT8 DqsMapCpu2DramCh5[2]; + UINT8 DqsMapCpu2DramMc1Ch1[2]; -/** Offset 0x00A4 - DqsMapCpu2DramCh6 +/** Offset 0x00A4 - Dqs Map CPU to DRAM MC 1 CH 2 + Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent **/ - UINT8 DqsMapCpu2DramCh6[2]; + UINT8 DqsMapCpu2DramMc1Ch2[2]; -/** Offset 0x00A6 - DqsMapCpu2DramCh7 +/** Offset 0x00A6 - Dqs Map CPU to DRAM MC 1 CH 3 + Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent **/ - UINT8 DqsMapCpu2DramCh7[2]; + UINT8 DqsMapCpu2DramMc1Ch3[2]; -/** Offset 0x00A8 - DqMapCpu2DramCh0 +/** Offset 0x00A8 - Dq Map CPU to DRAM MC 0 CH 0 + Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent **/ - UINT8 DqMapCpu2DramCh0[16]; + UINT8 DqMapCpu2DramMc0Ch0[16]; -/** Offset 0x00B8 - DqMapCpu2DramCh1 +/** Offset 0x00B8 - Dq Map CPU to DRAM MC 0 CH 1 + Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent **/ - UINT8 DqMapCpu2DramCh1[16]; + UINT8 DqMapCpu2DramMc0Ch1[16]; -/** Offset 0x00C8 - DqMapCpu2DramCh2 +/** Offset 0x00C8 - Dq Map CPU to DRAM MC 0 CH 2 + Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependet **/ - UINT8 DqMapCpu2DramCh2[16]; + UINT8 DqMapCpu2DramMc0Ch2[16]; -/** Offset 0x00D8 - DqMapCpu2DramCh3 +/** Offset 0x00D8 - Dq Map CPU to DRAM MC 0 CH 3 + Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent **/ - UINT8 DqMapCpu2DramCh3[16]; + UINT8 DqMapCpu2DramMc0Ch3[16]; -/** Offset 0x00E8 - DqMapCpu2DramCh4 +/** Offset 0x00E8 - Dq Map CPU to DRAM MC 1 CH 0 + Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent **/ - UINT8 DqMapCpu2DramCh4[16]; + UINT8 DqMapCpu2DramMc1Ch0[16]; -/** Offset 0x00F8 - DqMapCpu2DramCh5 +/** Offset 0x00F8 - Dq Map CPU to DRAM MC 1 CH 1 + Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent **/ - UINT8 DqMapCpu2DramCh5[16]; + UINT8 DqMapCpu2DramMc1Ch1[16]; -/** Offset 0x0108 - DqMapCpu2DramCh6 +/** Offset 0x0108 - Dq Map CPU to DRAM MC 1 CH 2 + Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependent **/ - UINT8 DqMapCpu2DramCh6[16]; + UINT8 DqMapCpu2DramMc1Ch2[16]; -/** Offset 0x0118 - DqMapCpu2DramCh7 +/** Offset 0x0118 - Dq Map CPU to DRAM MC 1 CH 3 + Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent **/ - UINT8 DqMapCpu2DramCh7[16]; + UINT8 DqMapCpu2DramMc1Ch3[16]; /** Offset 0x0128 - Dqs Pins Interleaved Setting Indicates DqPinsInterleaved setting: board-dependent @@ -899,13 +931,18 @@ typedef struct { **/ UINT8 CpuPcieRpLinkDownGpios; -/** Offset 0x0271 - RpClockReqMsgEnable +/** Offset 0x0271 - Enable ClockReq Messaging + ClockReq Messaging. Disabled(0x0): Disable ClockReq Messaging, Enabled(0x1)(Default): + Enable ClockReq Messaging + 0:Disable, 1:Enable **/ - UINT8 RpClockReqMsgEnable[3]; + UINT8 CpuPcieRpClockReqMsgEnable[3]; -/** Offset 0x0274 - RpPcieThresholdBytes +/** Offset 0x0274 - PCIE RP Pcie Speed + Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3; + 4: Gen4 (see: CPU_PCIE_SPEED). **/ - UINT8 RpPcieThresholdBytes[4]; + UINT8 CpuPcieRpPcieSpeed[4]; /** Offset 0x0278 - Selection of PSMI Support On/Off 0(Default) = FALSE, 1 = TRUE. When TRUE, it will allow the PSMI Support @@ -3164,7 +3201,7 @@ typedef struct { /** Offset 0x0AA8 - Reserved **/ - UINT8 Reserved45[136]; + UINT8 Reserved45[144]; } FSP_M_CONFIG; /** Fsp M UPD Configuration @@ -3183,11 +3220,11 @@ typedef struct { **/ FSP_M_CONFIG FspmConfig; -/** Offset 0x0B30 +/** Offset 0x0B38 **/ UINT8 UnusedUpdSpace34[6]; -/** Offset 0x0B36 +/** Offset 0x0B3E **/ UINT16 UpdTerminator; } FSPM_UPD; diff --git a/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspsUpd.h b/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspsUpd.h index a73fe59f1e..6e7ebfd922 100644 --- a/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspsUpd.h +++ b/src/vendorcode/intel/fsp/fsp2_0/alderlake/FspsUpd.h @@ -1,6 +1,6 @@ /** @file -Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2022, Intel Corporation. All rights reserved.<BR> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -2852,9 +2852,11 @@ typedef struct { **/ UINT8 CpuPcieRpLtrConfigLock[4]; -/** Offset 0x0C38 - RpPtmBytes +/** Offset 0x0C38 - PTM for PCIE RP Mask + Enable/disable Precision Time Measurement for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. **/ - UINT8 RpPtmBytes[4]; + UINT8 CpuPcieRpPtmEnabled[4]; /** Offset 0x0C3C - PCIE RP Detect Timeout Ms The number of milliseconds within 0~65535 in reference code will wait for link to @@ -3765,9 +3767,12 @@ typedef struct { **/ UINT8 PchXhciOcLock; -/** Offset 0x0F55 - LpmStateEnableMask +/** Offset 0x0F55 - Low Power Mode Enable/Disable config mask + Configure if respective S0i2/3 sub-states are to be supported. Each bit corresponds + to one sub-state (LPMx - BITx): LPM0-s0i2.0, LPM1-s0i2.1, LPM2-s0i2.2, LPM3-s0i3.0, + LPM4-s0i3.1, LPM5-s0i3.2, LPM6-s0i3.3, LPM7-s0i3.4. **/ - UINT8 LpmStateEnableMask; + UINT8 PmcLpmS0ixSubStateEnableMask; /** Offset 0x0F56 - PCIE RP Ltr Max Snoop Latency Latency Tolerance Reporting, Max Snoop Latency. |