summaryrefslogtreecommitdiffstats
path: root/Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Protocol/VlvPlatformPolicy.h
blob: 93756c5deadc55b1fa04f6de6624e6ad7b509c4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

/*++

Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved

  SPDX-License-Identifier: BSD-2-Clause-Patent


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