• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2   Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
3   This program and the accompanying materials
4   are licensed and made available under the terms and conditions of the BSD License
5   which accompanies this distribution.  The full text of the license may be found at
6   http://opensource.org/licenses/bsd-license.php
7 
8   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10 
11 
12 Module Name:
13 
14   VlvPlatformPolicy.h
15 
16 Abstract:
17 
18   Interface definition details between MCH and platform drivers during DXE phase.
19 
20 --*/
21 
22 #ifndef _VLV_PLATFORM_POLICY_H_
23 #define _VLV_PLATFORM_POLICY_H_
24 
25 //
26 // VLV Policy provided by platform for DXE phase {5BAB88BA-E0E2-4674-B6AD-B812F6881CD6}
27 //
28 #define DXE_VLV_PLATFORM_POLICY_GUID \
29   {0x5bab88ba, 0xe0e2, 0x4674, 0xb6, 0xad, 0xb8, 0x12, 0xf6, 0x88, 0x1c, 0xd6}
30 
31 //
32 // Extern the GUID for protocol users.
33 //
34 extern EFI_GUID gDxeVlvPlatformPolicyGuid;
35 
36 //
37 // Protocol revision number
38 // Any backwards compatible changes to this protocol will result in an update in the revision number
39 // Major changes will require publication of a new protocol
40 //
41 #define DXE_VLV_PLATFORM_POLICY_PROTOCOL_REVISION 0
42 
43 
44 typedef struct {
45   UINT8  PFITStatus;
46   UINT8  IgdTheramlSupport;
47   UINT8  ALSEnabled;
48   UINT8  LidStatus;
49 } IGD_PANEL_FEATURES;
50 
51 typedef struct {
52   UINT8   Reserved00;
53   UINT8   Reserved01;
54   UINT16  Reserved02;
55   UINT16  Reserved03;
56   UINT16  Reserved04;
57   UINT16  Reserved05;
58   UINT16  Reserved06;
59   UINT16  Reserved07;
60   UINT16  Reserved08;
61   UINT16  Reserved09;
62   UINT16  Reserved0A;
63   UINT16  Reserved0B;
64   UINT16  Reserved0C;
65   UINT16  Reserved0D;
66   UINT8   Reserved0E;
67   UINT8   Reserved0F;
68   UINT32  Reserved10;
69   UINT32  Reserved11;
70   UINT32  Reserved12;
71   UINT32  Reserved13;
72   UINT32  Reserved14;
73   UINT8   Reserved15;
74   UINT8   Reserved16;
75 } DPTF_SETTINGS;
76 
77 //
78 // MCH DXE Platform Policiy ==================================================
79 //
80 
81 #define NO_AUDIO   0
82 #define HD_AUDIO   1
83 #define LPE_AUDIO  2
84 
85 typedef struct _DXE_VLV_PLATFORM_POLICY_PROTOCOL {
86   UINT8                   Revision;
87   IGD_PANEL_FEATURES      IgdPanelFeatures;
88   DPTF_SETTINGS           Reserved;
89   UINT8                   GraphicReserve00;
90   UINT8                   GraphicsPerfAnalyzers;
91   UINT8                   PwmReserved00;
92   UINT8                   PwmReserved01;
93   UINT8                   PmSupport;
94   UINT8                   GraphicReserve01;
95   UINT8                   GfxPause;
96   UINT8                   GraphicsFreqReq;
97   UINT8                   GraphicReserve03;
98   UINT8                   GraphicReserve02;
99   UINT8                   GraphicReserve04;
100   UINT8                   PavpMode;
101   UINT8                   GraphicReserve05;
102   UINT8                   UlClockGating;
103   UINT8                   IdleReserve;
104   UINT8                   AudioTypeSupport;
105   UINT8                   GraphicReserve06;
106 } DXE_VLV_PLATFORM_POLICY_PROTOCOL;
107 
108 #endif
109