intel/fsp: Update cannonlake fsp header
Update Cannonlake FSP header to revision 7.x.25.31. Following changes had been made: 1. Add PeciSxRest option. 2. Add Thermal Velocity Boost option. 3. Add VR power deliver design option. 4. Match MrcChannelSts. TEST=NONE Signed-off-by: Lijian Zhao <lijian.zhao@intel.com> Change-Id: I32e976eacf39d2cd75f8288c86d1de1a54c194c6 Reviewed-on: https://review.coreboot.org/23677 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
2242919177
commit
f1b1d92854
5 changed files with 207 additions and 26 deletions
|
@ -40,13 +40,6 @@ static struct chipset_power_state power_state CAR_GLOBAL;
|
||||||
0x8d, 0x09, 0x11, 0xcf, 0x8b, 0x9f, 0x03, 0x23 \
|
0x8d, 0x09, 0x11, 0xcf, 0x8b, 0x9f, 0x03, 0x23 \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Memory Channel Present Status */
|
|
||||||
enum {
|
|
||||||
CHANNEL_NOT_PRESENT,
|
|
||||||
CHANNEL_DISABLED,
|
|
||||||
CHANNEL_PRESENT
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Save the DIMM information for SMBIOS table 17 */
|
/* Save the DIMM information for SMBIOS table 17 */
|
||||||
static void save_dimm_info(void)
|
static void save_dimm_info(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -474,9 +474,21 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT8 CpuTraceHubMemReg1Size;
|
UINT8 CpuTraceHubMemReg1Size;
|
||||||
|
|
||||||
/** Offset 0x00F6
|
/** Offset 0x00F6 - Enable or Disable Peci C10 Reset command
|
||||||
|
Enable or Disable Peci C10 Reset command; <b>0: Disable;</b> 1: Enable.
|
||||||
|
$EN_DIS
|
||||||
**/
|
**/
|
||||||
UINT8 UnusedUpdSpace3[6];
|
UINT8 PeciC10Reset;
|
||||||
|
|
||||||
|
/** Offset 0x00F7 - Enable or Disable Peci Sx Reset command
|
||||||
|
Enable or Disable Peci Sx Reset command; <b>0: Disable;</b> 1: Enable.
|
||||||
|
$EN_DIS
|
||||||
|
**/
|
||||||
|
UINT8 PeciSxReset;
|
||||||
|
|
||||||
|
/** Offset 0x00F8
|
||||||
|
**/
|
||||||
|
UINT8 UnusedUpdSpace3[4];
|
||||||
|
|
||||||
/** Offset 0x00FC - Enable Intel HD Audio (Azalia)
|
/** Offset 0x00FC - Enable Intel HD Audio (Azalia)
|
||||||
0: Disable, 1: Enable (Default) Azalia controller
|
0: Disable, 1: Enable (Default) Azalia controller
|
||||||
|
@ -691,9 +703,24 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT8 DmiGen3RxCtlePeaking[4];
|
UINT8 DmiGen3RxCtlePeaking[4];
|
||||||
|
|
||||||
/** Offset 0x0144
|
/** Offset 0x0144 - Thermal Velocity Boost Ratio clipping
|
||||||
|
0(Default): Disabled, 1: Enabled. This service controls Core frequency reduction
|
||||||
|
caused by high package temperatures for processors that implement the Intel Thermal
|
||||||
|
Velocity Boost (TVB) feature
|
||||||
|
0: Disabled, 1: Enabled
|
||||||
**/
|
**/
|
||||||
UINT8 UnusedUpdSpace6[4];
|
UINT8 TvbRatioClipping;
|
||||||
|
|
||||||
|
/** Offset 0x0145 - Thermal Velocity Boost voltage optimization
|
||||||
|
0: Disabled, 1: Enabled(Default). This service controls thermal based voltage optimizations
|
||||||
|
for processors that implement the Intel Thermal Velocity Boost (TVB) feature.
|
||||||
|
0: Disabled, 1: Enabled
|
||||||
|
**/
|
||||||
|
UINT8 TvbVoltageOptimization;
|
||||||
|
|
||||||
|
/** Offset 0x0146
|
||||||
|
**/
|
||||||
|
UINT8 UnusedUpdSpace6[2];
|
||||||
|
|
||||||
/** Offset 0x0148 - PEG Gen3 RxCTLEp per-Bundle control
|
/** Offset 0x0148 - PEG Gen3 RxCTLEp per-Bundle control
|
||||||
Range: 0-15, 12 is default for each bundle, must be specified based upon platform design
|
Range: 0-15, 12 is default for each bundle, must be specified based upon platform design
|
||||||
|
@ -1374,8 +1401,8 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT8 PchSmbAlertEnable;
|
UINT8 PchSmbAlertEnable;
|
||||||
|
|
||||||
/** Offset 0x0463 - ReservedSecurityPreMem
|
/** Offset 0x0463 - ReservedPchPreMem
|
||||||
Reserved for Security Pre-Mem
|
Reserved for Pch Pre-Mem
|
||||||
$EN_DIS
|
$EN_DIS
|
||||||
**/
|
**/
|
||||||
UINT8 ReservedPchPreMem[13];
|
UINT8 ReservedPchPreMem[13];
|
||||||
|
@ -2428,7 +2455,7 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT8 Gen3SwEqEnableVocTest;
|
UINT8 Gen3SwEqEnableVocTest;
|
||||||
|
|
||||||
/** Offset 0x0537 - PPCIe Rx Compliance Testing Mode
|
/** Offset 0x0537 - PCIe Rx Compliance Testing Mode
|
||||||
Disabled(0x0)(Default): Normal Operation - Disable PCIe Rx Compliance testing, Enabled(0x1):
|
Disabled(0x0)(Default): Normal Operation - Disable PCIe Rx Compliance testing, Enabled(0x1):
|
||||||
PCIe Rx Compliance Test Mode - PEG controller is in Rx Compliance Testing Mode;
|
PCIe Rx Compliance Test Mode - PEG controller is in Rx Compliance Testing Mode;
|
||||||
it should only be set when doing PCIe compliance testing
|
it should only be set when doing PCIe compliance testing
|
||||||
|
@ -2522,7 +2549,7 @@ typedef struct {
|
||||||
|
|
||||||
/** Offset 0x0583 - BdatTestType
|
/** Offset 0x0583 - BdatTestType
|
||||||
Indicates the type of Memory Training data to populate into the BDAT ACPI table.
|
Indicates the type of Memory Training data to populate into the BDAT ACPI table.
|
||||||
0:Rank Marign Tool, 1:Margin2D
|
0:Rank Margin Tool, 1:Margin2D
|
||||||
**/
|
**/
|
||||||
UINT8 BdatTestType;
|
UINT8 BdatTestType;
|
||||||
|
|
||||||
|
@ -2542,11 +2569,17 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT16 BiosSize;
|
UINT16 BiosSize;
|
||||||
|
|
||||||
/** Offset 0x0594 - SecurityTestRsvd
|
/** Offset 0x0594 - TxtAcheckRequest
|
||||||
|
Enable/Disable. When Enabled, it will forcing calling TXT Acheck once.
|
||||||
|
$EN_DIS
|
||||||
|
**/
|
||||||
|
UINT8 TxtAcheckRequest;
|
||||||
|
|
||||||
|
/** Offset 0x0595 - SecurityTestRsvd
|
||||||
Reserved for SA Pre-Mem Test
|
Reserved for SA Pre-Mem Test
|
||||||
$EN_DIS
|
$EN_DIS
|
||||||
**/
|
**/
|
||||||
UINT8 SecurityTestRsvd[4];
|
UINT8 SecurityTestRsvd[3];
|
||||||
|
|
||||||
/** Offset 0x0598 - Smbus dynamic power gating
|
/** Offset 0x0598 - Smbus dynamic power gating
|
||||||
Disable or Enable Smbus dynamic power gating.
|
Disable or Enable Smbus dynamic power gating.
|
||||||
|
|
|
@ -1093,15 +1093,22 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT16 ImonSlope1[5];
|
UINT16 ImonSlope1[5];
|
||||||
|
|
||||||
/** Offset 0x0324 - ReservedCpuPostMemProduction
|
/** Offset 0x0324 - CPU VR Power Delivery Design
|
||||||
|
Used to communicate the power delivery design capability of the board. This value
|
||||||
|
is an enum of the available power delivery segments that are defined in the Platform
|
||||||
|
Design Guide.
|
||||||
|
**/
|
||||||
|
UINT32 VrPowerDeliveryDesign;
|
||||||
|
|
||||||
|
/** Offset 0x0328 - ReservedCpuPostMemProduction
|
||||||
Reserved for CPU Post-Mem Production
|
Reserved for CPU Post-Mem Production
|
||||||
$EN_DIS
|
$EN_DIS
|
||||||
**/
|
**/
|
||||||
UINT8 ReservedCpuPostMemProduction[1];
|
UINT8 ReservedCpuPostMemProduction[1];
|
||||||
|
|
||||||
/** Offset 0x0325
|
/** Offset 0x0329
|
||||||
**/
|
**/
|
||||||
UINT8 UnusedUpdSpace10[33];
|
UINT8 UnusedUpdSpace10[29];
|
||||||
|
|
||||||
/** Offset 0x0346 - Enable DMI ASPM
|
/** Offset 0x0346 - Enable DMI ASPM
|
||||||
Deprecated.
|
Deprecated.
|
||||||
|
@ -1869,7 +1876,6 @@ typedef struct {
|
||||||
0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C0,I2C1,I2C2,I2C3,I2C4,I2C5
|
0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C0,I2C1,I2C2,I2C3,I2C4,I2C5
|
||||||
pads termination respectively. One byte for each controller, byte0 for I2C0, byte1
|
pads termination respectively. One byte for each controller, byte0 for I2C0, byte1
|
||||||
for I2C1, and so on.
|
for I2C1, and so on.
|
||||||
0x1:None, 0x13:1kOhm WPU, 0x15:5kOhm WPU, 0x19:20kOhm WPU
|
|
||||||
**/
|
**/
|
||||||
UINT8 PchSerialIoI2cPadsTermination[6];
|
UINT8 PchSerialIoI2cPadsTermination[6];
|
||||||
|
|
||||||
|
@ -2283,7 +2289,7 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT8 ChapDeviceEnable;
|
UINT8 ChapDeviceEnable;
|
||||||
|
|
||||||
/** Offset 0x07B2 - Skip PAM regsiter lock
|
/** Offset 0x07B2 - Skip PAM register lock
|
||||||
Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default):
|
Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default):
|
||||||
PAM registers will be locked by RC
|
PAM registers will be locked by RC
|
||||||
$EN_DIS
|
$EN_DIS
|
||||||
|
@ -2830,9 +2836,10 @@ typedef struct {
|
||||||
**/
|
**/
|
||||||
UINT16 PsysPmax;
|
UINT16 PsysPmax;
|
||||||
|
|
||||||
/** Offset 0x0858
|
/** Offset 0x0858 - Interrupt Response Time Limit of C-State LatencyContol0
|
||||||
|
Interrupt Response Time Limit of C-State LatencyContol0.Range of value 0 to 0x3FF
|
||||||
**/
|
**/
|
||||||
UINT8 Reserved0[2];
|
UINT16 CstateLatencyControl0Irtl;
|
||||||
|
|
||||||
/** Offset 0x085A - Interrupt Response Time Limit of C-State LatencyContol1
|
/** Offset 0x085A - Interrupt Response Time Limit of C-State LatencyContol1
|
||||||
Interrupt Response Time Limit of C-State LatencyContol1.Range of value 0 to 0x3FF
|
Interrupt Response Time Limit of C-State LatencyContol1.Range of value 0 to 0x3FF
|
||||||
|
@ -3074,8 +3081,7 @@ typedef struct {
|
||||||
UINT8 PchUnlockGpioPads;
|
UINT8 PchUnlockGpioPads;
|
||||||
|
|
||||||
/** Offset 0x08C2 - PCH Unlock SBI access
|
/** Offset 0x08C2 - PCH Unlock SBI access
|
||||||
This unlock the SBI lock bit to allow SBI after post time. 0: Lock SBI access; 1:
|
Deprecated
|
||||||
Unlock SBI access.
|
|
||||||
$EN_DIS
|
$EN_DIS
|
||||||
**/
|
**/
|
||||||
UINT8 PchSbiUnlock;
|
UINT8 PchSbiUnlock;
|
||||||
|
|
136
src/vendorcode/intel/fsp/fsp2_0/cannonlake/FsptUpd.h
Normal file
136
src/vendorcode/intel/fsp/fsp2_0/cannonlake/FsptUpd.h
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
/** @file
|
||||||
|
|
||||||
|
Copyright (c) 2018, 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:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer in the documentation and/or
|
||||||
|
other materials provided with the distribution.
|
||||||
|
* Neither the name of Intel Corporation nor the names of its contributors may
|
||||||
|
be used to endorse or promote products derived from this software without
|
||||||
|
specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
|
THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
This file is automatically generated. Please do NOT modify !!!
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef __FSPTUPD_H__
|
||||||
|
#define __FSPTUPD_H__
|
||||||
|
|
||||||
|
#include <FspUpd.h>
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
|
||||||
|
/** Fsp T Core UPD
|
||||||
|
**/
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
/** Offset 0x0020
|
||||||
|
**/
|
||||||
|
UINT32 MicrocodeRegionBase;
|
||||||
|
|
||||||
|
/** Offset 0x0024
|
||||||
|
**/
|
||||||
|
UINT32 MicrocodeRegionSize;
|
||||||
|
|
||||||
|
/** Offset 0x0028
|
||||||
|
**/
|
||||||
|
UINT32 CodeRegionBase;
|
||||||
|
|
||||||
|
/** Offset 0x002C
|
||||||
|
**/
|
||||||
|
UINT32 CodeRegionSize;
|
||||||
|
|
||||||
|
/** Offset 0x0030
|
||||||
|
**/
|
||||||
|
UINT8 Reserved[16];
|
||||||
|
} FSPT_CORE_UPD;
|
||||||
|
|
||||||
|
/** Fsp T Configuration
|
||||||
|
**/
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
/** Offset 0x0040 - PcdSerialIoUartDebugEnable
|
||||||
|
Enable SerialIo Uart debug library with/without initializing SerialIo Uart device in FSP.
|
||||||
|
0:Disable, 1:Enable and Initialize, 2:Enable without Initializing
|
||||||
|
**/
|
||||||
|
UINT8 PcdSerialIoUartDebugEnable;
|
||||||
|
|
||||||
|
/** Offset 0x0041 - PcdSerialIoUartNumber - FSPT
|
||||||
|
Select SerialIo Uart Controller for debug. Note: If UART0 is selected as CNVi BT
|
||||||
|
Core interface, it cannot be used for debug purpose.
|
||||||
|
0:SerialIoUart0, 1:SerialIoUart1, 2:SerialIoUart2
|
||||||
|
**/
|
||||||
|
UINT8 PcdSerialIoUartNumber;
|
||||||
|
|
||||||
|
/** Offset 0x0042 - PcdSerialIoUart0PinMuxing - FSPT
|
||||||
|
Select SerialIo Uart0 pin muxing. Setting valid only if PcdSerialIoUartNumber is
|
||||||
|
set to UART0.
|
||||||
|
0:default pins, 1:pins muxed with CNV_BRI/RGI
|
||||||
|
**/
|
||||||
|
UINT8 PcdSerialIoUart0PinMuxing;
|
||||||
|
|
||||||
|
/** Offset 0x0043
|
||||||
|
**/
|
||||||
|
UINT8 UnusedUpdSpace0;
|
||||||
|
|
||||||
|
/** Offset 0x0044
|
||||||
|
**/
|
||||||
|
UINT32 PcdSerialIoUartInputClock;
|
||||||
|
|
||||||
|
/** Offset 0x0048 - Pci Express Base Address
|
||||||
|
Base address to be programmed for Pci Express
|
||||||
|
**/
|
||||||
|
UINT64 PcdPciExpressBaseAddress;
|
||||||
|
|
||||||
|
/** Offset 0x0050 - Pci Express Region Length
|
||||||
|
Region Length to be programmed for Pci Express
|
||||||
|
**/
|
||||||
|
UINT32 PcdPciExpressRegionLength;
|
||||||
|
|
||||||
|
/** Offset 0x0054
|
||||||
|
**/
|
||||||
|
UINT8 ReservedFsptUpd1[44];
|
||||||
|
} FSP_T_CONFIG;
|
||||||
|
|
||||||
|
/** Fsp T UPD Configuration
|
||||||
|
**/
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
/** Offset 0x0000
|
||||||
|
**/
|
||||||
|
FSP_UPD_HEADER FspUpdHeader;
|
||||||
|
|
||||||
|
/** Offset 0x0020
|
||||||
|
**/
|
||||||
|
FSPT_CORE_UPD FsptCoreUpd;
|
||||||
|
|
||||||
|
/** Offset 0x0040
|
||||||
|
**/
|
||||||
|
FSP_T_CONFIG FsptConfig;
|
||||||
|
|
||||||
|
/** Offset 0x0080
|
||||||
|
**/
|
||||||
|
UINT16 UpdTerminator;
|
||||||
|
} FSPT_UPD;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
|
#endif
|
|
@ -83,6 +83,19 @@ typedef struct {
|
||||||
UINT8 Build; ///< Build number
|
UINT8 Build; ///< Build number
|
||||||
} SiMrcVersion;
|
} SiMrcVersion;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Matches MrcChannelSts enum in MRC
|
||||||
|
//
|
||||||
|
#ifndef CHANNEL_NOT_PRESENT
|
||||||
|
#define CHANNEL_NOT_PRESENT 0 // There is no channel present on the controller.
|
||||||
|
#endif
|
||||||
|
#ifndef CHANNEL_DISABLED
|
||||||
|
#define CHANNEL_DISABLED 1 // There is a channel present but it is disabled.
|
||||||
|
#endif
|
||||||
|
#ifndef CHANNEL_PRESENT
|
||||||
|
#define CHANNEL_PRESENT 2 // There is a channel present and it is enabled.
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Matches MrcDimmSts enum in MRC
|
// Matches MrcDimmSts enum in MRC
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue