123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /*++
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved
- SPDX-License-Identifier: BSD-2-Clause-Patent
- Module Name:
- VlvPolicy.h
- Abstract:
- Interface definition details between ValleyView MRC and platform drivers during PEI phase.
- --*/
- #ifndef _VLV_POLICY_PPI_H_
- #define _VLV_POLICY_PPI_H_
- //
- // MRC Policy provided by platform for PEI phase {7D84B2C2-22A1-4372-B12C-EBB232D3A6A3}
- //
- #define VLV_POLICY_PPI_GUID \
- { \
- 0x7D84B2C2, 0x22A1, 0x4372, 0xB1, 0x2C, 0xEB, 0xB2, 0x32, 0xD3, 0xA6, 0xA3 \
- }
- //
- // Extern the GUID for protocol users.
- //
- extern EFI_GUID gVlvPolicyPpiGuid;
- //
- // PPI revision number
- // Any backwards compatible changes to this PPI will result in an update in the revision number
- // Major changes will require publication of a new PPI
- //
- #define MRC_PLATFORM_POLICY_PPI_REVISION 1
- #ifndef MAX_SOCKETS
- #define MAX_SOCKETS 4
- #endif
- #define S3_TIMING_DATA_LEN 9
- #define S3_READ_TRAINING_DATA_LEN 16
- #define S3_WRITE_TRAINING_DATA_LEN 12
- #ifndef S3_RESTORE_DATA_LEN
- #define S3_RESTORE_DATA_LEN (S3_TIMING_DATA_LEN + S3_READ_TRAINING_DATA_LEN + S3_WRITE_TRAINING_DATA_LEN)
- #endif // S3_RESTORE_DATA_LEN
- #pragma pack(1)
- //
- // MRC Platform Data Structure
- //
- typedef struct {
- UINT8 SpdAddressTable[MAX_SOCKETS];
- UINT8 TSonDimmSmbusAddress[MAX_SOCKETS];
- UINT16 SmbusBar;
- UINT32 IchRcba;
- UINT32 WdbBaseAddress; // Write Data Buffer area (WC caching mode)
- UINT32 WdbRegionSize;
- UINT32 SmBusAddress;
- UINT8 UserBd;
- UINT8 PlatformType;
- UINT8 FastBoot;
- UINT8 DynSR;
- } VLV_PLATFORM_DATA;
- typedef struct {
- UINT16 MmioSize;
- UINT16 GttSize;
- UINT8 IgdDvmt50PreAlloc;
- UINT8 PrimaryDisplay;
- UINT8 PAVPMode;
- UINT8 ApertureSize;
- } GT_CONFIGURATION;
- typedef struct {
- UINT8 EccSupport;
- UINT16 DdrFreqLimit;
- UINT8 MaxTolud;
- } MEMORY_CONFIGURATION;
- //
- // MRC Platform Policiy PPI
- //
- typedef struct _VLV_POLICY_PPI {
- UINT8 Revision;
- VLV_PLATFORM_DATA PlatformData;
- GT_CONFIGURATION GtConfig;
- MEMORY_CONFIGURATION MemConfig;
- VOID *S3DataPtr; // was called MRC_PARAMS_SAVE_RESTORE
- UINT8 ISPEn; //ISP (IUNIT) Device Enabled
- UINT8 ISPPciDevConfig; //ISP (IUNIT) Device Config: 0->B0/D2/F0 for Window OS, 1->B0D3/F0 for Linux OS
- } VLV_POLICY_PPI;
- #pragma pack()
- #endif // _VLV_POLICY_PPI_H_
|