/** @file
|
Policy definition for System Agent overclocking Config Block
|
|
Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
#ifndef _OVERCLOCKING_PREMEM_CONFIG__H_
|
#define _OVERCLOCKING_PREMEM_CONFIG__H_
|
#pragma pack(push, 1)
|
|
#define SA_OVERCLOCKING_CONFIG_REVISION 2
|
|
/**
|
Defines the overclocking configuration parameters for System Agent.\n
|
<b>Revision 1</b>:
|
- Initial version.
|
<b>Revision 2</b>:
|
- Add GT unslice support.
|
|
**/
|
typedef struct {
|
CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 Config Block Header
|
/**
|
Offset 28:0 :
|
Enable disable of SA overclocking mailbox commands.
|
If disabled, or if PcdSaOcEnable is disabled, all other policies in this config block are ignored.
|
<b>0=Disable</b>,
|
1=Enable
|
**/
|
UINT32 OcSupport : 1;
|
UINT32 GtVoltageMode : 1; ///< Offset 28:1 :Specifies whether GT voltage is operating in Adaptive or Override mode: <b>0=Adaptive</b>, 1=Override
|
UINT32 RealtimeMemoryTiming : 1; ///< Offset 28:2 :Enable/Disable the message sent to the CPU to allow realtime memory timing changes after MRC_DONE. <b>0=Disable</b>, 1=Enable
|
UINT32 GtusVoltageMode : 1; ///< Offset 28:3 :Specifies whether GT unslice voltage is operating in Adaptive or Override mode: <b>0=Adaptive</b>, 1=Override
|
UINT32 RsvdBits0 : 28; ///< Offset 28:4 - 31 :Reserved for future use
|
UINT8 GtMaxOcRatio; ///< Offset 32 Maximum GT turbo ratio override: 0=Minimal, 255=Maximum, <b>0=AUTO</b>
|
UINT8 Rsvd0; ///< Offset 33 Reserved for DWORD alignment
|
INT16 GtVoltageOffset; ///< Offset 34 The voltage offset applied to GT slice. Valid range from -1000mv to 1000mv: <b>0=Minimal</b>, 1000=Maximum
|
UINT16 GtVoltageOverride; ///< Offset 36 The GT voltage override which is applied to the entire range of GT frequencies <b>0=Default</b>
|
UINT16 GtExtraTurboVoltage; ///< Offset 38 The adaptive voltage applied during turbo frequencies. Valid range from 0 to 2000mV: <b>0=Minimal</b>, 2000=Maximum
|
INT16 SaVoltageOffset; ///< Offset 40 The voltage offset applied to the SA. Valid range from -1000mv to 1000mv: <b>0=Default</b>
|
INT16 GtusVoltageOffset; ///< Offset 42 The voltage offset applied to GT unslice. Valid range from -1000mv to 1000mv: <b>0=Minimal</b>, 1000=Maximum
|
UINT16 GtusVoltageOverride; ///< Offset 44 The GT unslice voltage override which is applied to the entire range of GT frequencies: <b>0=Default</b>
|
UINT16 GtusExtraTurboVoltage; ///< Offset 46 The adaptive voltage applied during turbo frequencies. Valid range from 0 to 2000mV: <b>0=Default</b>
|
UINT8 GtusMaxOcRatio; ///< Offset 48 Maximum GTus turbo ratio override: 0=Minimal, 6=Maximum, <b>0=AUTO</b>
|
UINT8 Rsvd1[3]; ///< Offset 49-51 Reserved for DWORD alignment
|
} OVERCLOCKING_PREMEM_CONFIG;
|
#pragma pack(pop)
|
|
#endif // _OVERCLOCKING_CONFIG_H_
|