/** @file Policy definition for Internal Graphics Config Block (PreMem) Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _GRAPHICS_PEI_PREMEM_CONFIG_H_ #define _GRAPHICS_PEI_PREMEM_CONFIG_H_ #pragma pack(push, 1) #define GRAPHICS_PEI_PREMEM_CONFIG_REVISION 2 /** This Configuration block is to configure GT related PreMem data/variables.\n Revision 1: - Initial version. Revision 2: - Added DeltaT12PowerCycleDelayPreMem. **/ typedef struct { CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 Config Block Header /** Offset 28:0 Selection of the primary display device: 0=iGFX, 1=PEG, 2=PCIe Graphics on PCH, 3=AUTO, 4=Switchable Graphics\n When AUTO mode selected, the priority of display devices is: PCIe Graphics on PCH > PEG > iGFX **/ UINT32 PrimaryDisplay : 3; /** Offset 28:3 Intel Gfx Support. It controls enabling/disabling iGfx device. When AUTO mode selected, iGFX will be turned off when external graphics detected. If FALSE, all other polices can be ignored. 2 = AUTO; 0 = FALSE; 1 = TRUE. **/ UINT32 InternalGraphics : 2; /** Offset 28:5 Pre-allocated memory for iGFX\n 0 = 0MB,1 or 247 = 32MB,\n 2 = 64MB,\n 240 = 4MB, 241 = 8MB,\n 242 = 12MB, 243 = 16MB,\n 244 = 20MB, 245 = 24MB,\n 246 = 28MB, 248 = 36MB,\n 249 = 40MB, 250 = 44MB,\n 251 = 48MB, 252 = 52MB,\n 253 = 56MB, 254 = 60MB,\n Note: enlarging pre-allocated memory for iGFX may need to reduce MmioSize because of 4GB boundary limitation **/ UINT32 IgdDvmt50PreAlloc : 8; UINT32 PanelPowerEnable : 1; ///< Offset 28:13 :(Test) Control for enabling/disabling VDD force bit (Required only for early enabling of eDP panel): 0=FALSE, 1=TRUE UINT32 ApertureSize : 7; ///< Offser 28:14 :Graphics aperture size (256MB is the recommended size as per BWG) : 0=128MB, 1=256MB, 3=512MB, 7=1024MB, 15=2048MB. UINT32 GtPsmiSupport : 1; ///< Offser 28:21 :PSMI support On/Off: 0=FALSE, 1=TRUE UINT32 PsmiRegionSize : 3; ///< Offser 28:22 :Psmi region size: 0=32MB, 1=288MB, 2=544MB, 3=800MB, 4=1056MB UINT32 RsvdBits0 : 7; ///< Offser 28:25 :Reserved for future use UINT32 GttMmAdr; ///< Offset 32 Temp Address of System Agent GTTMMADR : Default is 0xCF000000< / b> UINT16 GttSize; ///< Offset 36 Selection of iGFX GTT Memory size: 1=2MB, 2=4MB, 3=8MB UINT8 Rsvd1[2]; ///< Offset 38 Reserved for DWORD alignment UINT32 GmAdr; ///< Offset 40 Temp Address of System Agent GMADR : Default is 0xD0000000< / b> UINT16 DeltaT12PowerCycleDelayPreMem; ///< Offset 44 Power Cycle Delay required for eDP as per VESA standard.0 - 0 ms<\b>, 0xFFFF - Auto calculate to max 500 ms UINT8 Reserved[2]; ///< Offset 46 Reserved for future use. } GRAPHICS_PEI_PREMEM_CONFIG; #pragma pack(pop) #endif // _GRAPHICS_PEI_PREMEM_CONFIG_H_