1 
2 /*++
3 
4 Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved
5 
6   SPDX-License-Identifier: BSD-2-Clause-Patent
7 
8 
9 Module Name:
10 
11   VlvPlatformPolicy.h
12 
13 Abstract:
14 
15   Interface definition details between MCH and platform drivers during DXE phase.
16 
17 --*/
18 
19 #ifndef _VLV_PLATFORM_POLICY_H_
20 #define _VLV_PLATFORM_POLICY_H_
21 
22 //
23 // VLV Policy provided by platform for DXE phase {5BAB88BA-E0E2-4674-B6AD-B812F6881CD6}
24 //
25 #define DXE_VLV_PLATFORM_POLICY_GUID \
26   {0x5bab88ba, 0xe0e2, 0x4674, 0xb6, 0xad, 0xb8, 0x12, 0xf6, 0x88, 0x1c, 0xd6}
27 
28 //
29 // Extern the GUID for protocol users.
30 //
31 extern EFI_GUID gDxeVlvPlatformPolicyGuid;
32 
33 //
34 // Protocol revision number
35 // Any backwards compatible changes to this protocol will result in an update in the revision number
36 // Major changes will require publication of a new protocol
37 //
38 #define DXE_VLV_PLATFORM_POLICY_PROTOCOL_REVISION 0
39 
40 
41 typedef struct {
42   UINT8  PFITStatus;
43   UINT8  IgdTheramlSupport;
44   UINT8  ALSEnabled;
45   UINT8  LidStatus;
46 } IGD_PANEL_FEATURES;
47 
48 typedef struct {
49   UINT8   Reserved00;
50   UINT8   Reserved01;
51   UINT16  Reserved02;
52   UINT16  Reserved03;
53   UINT16  Reserved04;
54   UINT16  Reserved05;
55   UINT16  Reserved06;
56   UINT16  Reserved07;
57   UINT16  Reserved08;
58   UINT16  Reserved09;
59   UINT16  Reserved0A;
60   UINT16  Reserved0B;
61   UINT16  Reserved0C;
62   UINT16  Reserved0D;
63   UINT8   Reserved0E;
64   UINT8   Reserved0F;
65   UINT32  Reserved10;
66   UINT32  Reserved11;
67   UINT32  Reserved12;
68   UINT32  Reserved13;
69   UINT32  Reserved14;
70   UINT8   Reserved15;
71   UINT8   Reserved16;
72 } DPTF_SETTINGS;
73 
74 //
75 // MCH DXE Platform Policiy ==================================================
76 //
77 
78 #define NO_AUDIO   0
79 #define HD_AUDIO   1
80 #define LPE_AUDIO  2
81 
82 typedef struct _DXE_VLV_PLATFORM_POLICY_PROTOCOL {
83   UINT8                   Revision;
84   IGD_PANEL_FEATURES      IgdPanelFeatures;
85   DPTF_SETTINGS           Reserved;
86   UINT8                   GraphicReserve00;
87   UINT8                   GraphicsPerfAnalyzers;
88   UINT8                   PwmReserved00;
89   UINT8                   PwmReserved01;
90   UINT8                   PmSupport;
91   UINT8                   GraphicReserve01;
92   UINT8                   GfxPause;
93   UINT8                   GraphicsFreqReq;
94   UINT8                   GraphicReserve03;
95   UINT8                   GraphicReserve02;
96   UINT8                   GraphicReserve04;
97   UINT8                   PavpMode;
98   UINT8                   GraphicReserve05;
99   UINT8                   UlClockGating;
100   UINT8                   IdleReserve;
101   UINT8                   AudioTypeSupport;
102   UINT8                   GraphicReserve06;
103 } DXE_VLV_PLATFORM_POLICY_PROTOCOL;
104 
105 #endif
106