audk/Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Protocol/VlvPlatformPolicy.h

112 lines
3.1 KiB
C

/*++
Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name:
VlvPlatformPolicy.h
Abstract:
Interface definition details between MCH and platform drivers during DXE phase.
--*/
#ifndef _VLV_PLATFORM_POLICY_H_
#define _VLV_PLATFORM_POLICY_H_
//
// VLV Policy provided by platform for DXE phase {5BAB88BA-E0E2-4674-B6AD-B812F6881CD6}
//
#define DXE_VLV_PLATFORM_POLICY_GUID \
{0x5bab88ba, 0xe0e2, 0x4674, 0xb6, 0xad, 0xb8, 0x12, 0xf6, 0x88, 0x1c, 0xd6}
//
// Extern the GUID for protocol users.
//
extern EFI_GUID gDxeVlvPlatformPolicyGuid;
//
// Protocol revision number
// Any backwards compatible changes to this protocol will result in an update in the revision number
// Major changes will require publication of a new protocol
//
#define DXE_VLV_PLATFORM_POLICY_PROTOCOL_REVISION 0
typedef struct {
UINT8 PFITStatus;
UINT8 IgdTheramlSupport;
UINT8 ALSEnabled;
UINT8 LidStatus;
} IGD_PANEL_FEATURES;
typedef struct {
UINT8 Reserved00;
UINT8 Reserved01;
UINT16 Reserved02;
UINT16 Reserved03;
UINT16 Reserved04;
UINT16 Reserved05;
UINT16 Reserved06;
UINT16 Reserved07;
UINT16 Reserved08;
UINT16 Reserved09;
UINT16 Reserved0A;
UINT16 Reserved0B;
UINT16 Reserved0C;
UINT16 Reserved0D;
UINT8 Reserved0E;
UINT8 Reserved0F;
UINT32 Reserved10;
UINT32 Reserved11;
UINT32 Reserved12;
UINT32 Reserved13;
UINT32 Reserved14;
UINT8 Reserved15;
UINT8 Reserved16;
} DPTF_SETTINGS;
//
// MCH DXE Platform Policiy ==================================================
//
#define NO_AUDIO 0
#define HD_AUDIO 1
#define LPE_AUDIO 2
typedef struct _DXE_VLV_PLATFORM_POLICY_PROTOCOL {
UINT8 Revision;
IGD_PANEL_FEATURES IgdPanelFeatures;
DPTF_SETTINGS Reserved;
UINT8 GraphicReserve00;
UINT8 GraphicsPerfAnalyzers;
UINT8 PwmReserved00;
UINT8 PwmReserved01;
UINT8 PmSupport;
UINT8 GraphicReserve01;
UINT8 GfxPause;
UINT8 GraphicsFreqReq;
UINT8 GraphicReserve03;
UINT8 GraphicReserve02;
UINT8 GraphicReserve04;
UINT8 PavpMode;
UINT8 GraphicReserve05;
UINT8 UlClockGating;
UINT8 IdleReserve;
UINT8 AudioTypeSupport;
UINT8 GraphicReserve06;
} DXE_VLV_PLATFORM_POLICY_PROTOCOL;
#endif