forked from microsoft/mu_feature_ipmi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
IpmiFeaturePkg.dec
164 lines (155 loc) · 6.98 KB
/
IpmiFeaturePkg.dec
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
## @file
# This package provides advanced feature functionality to enable the
# Intelligent Platform Management Interface (IPMI).
# This package should only depend on EDK II Core packages, IntelSiliconPkg, and MinPlatformPkg.
#
# The DEC files are used by the utilities that parse DSC and
# INF files to generate AutoGen.c and AutoGen.h files
# for the build infrastructure.
#
# Copyright (c) 2019-2021, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
DEC_SPECIFICATION = 0x00010017
PACKAGE_NAME = IpmiFeaturePkg
PACKAGE_GUID = AE091910-F6C9-4AB5-B8B4-995E2F0D5166
PACKAGE_VERSION = 0.1
[Includes]
Include
[LibraryClasses]
IpmiBaseLib|Include/Library/IpmiBaseLib.h
IpmiTransportLib|Include/Library/IpmiTransportLib.h
BmcSmbusLib|Include/Library/BmcSmbusLib.h
IpmiSelLib|Include/Library/IpmiSelLib.h
IpmiPlatformLib|Include/Library/IpmiPlatformLib.h
IpmiWatchdogLib|Include/Library/IpmiWatchdogLib.h
IpmiBootOptionLib|Include/Library/IpmiBootOptionLib.h
PlatformCmosClearLib|Include/Library/PlatformCmosClearLib.h
[Guids]
gIpmiFeaturePkgTokenSpaceGuid = {0xc05283f6, 0xd6a8, 0x48f3, {0x9b, 0x59, 0xfb, 0xca, 0x71, 0x32, 0x0f, 0x12}}
gIpmiBmcHobGuid = {0x3d133ac1, 0x8565, 0x4a08, {0xac, 0x50, 0x9d, 0xff, 0x55, 0x29, 0xac, 0x12}}
gIpmiWatchdogPolicyGuid = {0x6b53a598, 0x4ff5, 0x43c5, {0x81, 0x83, 0x74, 0xd0, 0xe6, 0x34, 0xcd, 0x66}}
gPlatformPowerRestorePolicyGuid = {0x85bcbff7, 0x8f9d, 0x4997, {0xac, 0x46, 0x5b, 0x36, 0x70, 0x0b, 0x0b, 0x85}}
[Ppis]
gPeiIpmiTransportPpiGuid = {0x7bf5fecc, 0xc5b5, 0x4b25, {0x81, 0x1b, 0xb4, 0xb5, 0xb, 0x28, 0x79, 0xf7}}
[Protocols]
gIpmiTransportProtocolGuid = {0x6bb945e8, 0x3743, 0x433e, {0xb9, 0x0e, 0x29, 0xb3, 0x0d, 0x5d, 0xc6, 0x30}}
gSmmIpmiTransportProtocolGuid = {0x8bb070f1, 0xa8f3, 0x471d, {0x86, 0x16, 0x77, 0x4b, 0xa3, 0xf4, 0x30, 0xa0}}
gEfiVideoPrintProtocolGuid = {0x3dbf3e06, 0x9d0c, 0x40d3, {0xb2, 0x17, 0x45, 0x5f, 0x33, 0x9e, 0x29, 0x09}}
gEfiBmcAcpiSwChildPolicyProtocolGuid = { 0x89843c0b, 0x5701, 0x4ff6, { 0xa4, 0x73, 0x65, 0x75, 0x99, 0x04, 0xf7, 0x35 } }
gEfiRedirFruProtocolGuid = { 0x28638cfa, 0xea88, 0x456c, { 0x92, 0xa5, 0xf2, 0x49, 0xca, 0x48, 0x85, 0x35 } }
gIpmiSelProtocolGuid = { 0x5ecad598, 0xc13a, 0x48fb, { 0xbe, 0x85, 0x71, 0x98, 0xb6, 0xa4, 0xbe, 0x38 } }
[PcdsFeatureFlag]
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE|BOOLEAN|0xA0000001
[PcdsFixedAtBuild]
gIpmiFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels|3|UINT8|0xF0000001
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiCheckSelfTestResults|FALSE|BOOLEAN|0xF0000002
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiCommandTimeoutSeconds|5|UINT8|0xF0000003
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiCommandMaxReties|3|UINT8|0xF0000004
gIpmiFeaturePkgTokenSpaceGuid.PcdBmcTimeoutSeconds|30|UINT8|0xF0000005
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiSelOemManufacturerId|{0, 0, 0}|VOID*|0xF0000007
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress|0xCA2|UINT16|0xF000000A
#
# IPMI Interface Type
#
# 0x00 - Reserved
# 0x01 - KCS
# 0x02 - SMIC
# 0x03 - BT
# 0x04 - SSIF
# 0x05-0xFF - Reserved
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiInterfaceType|0x01|UINT8|0xF000000B
#
# IPMI Interrupt Type
#
# [7:2] - Reserved (Must be 0)
# [1] - IO APIC/SAPIC interrupt (Global System Interrupt)
# [0] - SCI triggered through GPE (use 0b for SSIF)
# 0 = not supported
# 1 = supported
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiInterruptType|0x00|UINT8|0xF000000C
#
# IPMI GPE
#
# The bit assignment of the SCI interrupt within the GPEx_STS register of a GPE described if the FADT that the interface triggers.
# (Note: This field is valid only if Bit[0] of the Interrupt Type field is set. Otherwise, set to 00h)
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiGpe|0x00|UINT8|0xF000000D
#
# IPMI PCI Device Flag
#
# [7:1] - Reserved
# [0] - PCI Device Flag. For PCI IPMI devices, this bit is set. For non-PCI devices, this bit is cleared.
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiPciDeviceFlag|0x00|UINT8|0xF000000E
#
# IPMI Global System Interrupt
#
# The IO APIC or IO SAPIC Global System Interrupt used by the interface.
# (Note: This field is valid only if Bit[1] of the Interrupt Type field is set. Otherwise set to 00h)
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiGlobalSystemInterrupt|0x00|UINT32|0xF000000F
#
# IPMI Base Address Space ID of Generic Address Structure(GAS) . Reference ACPI specification for more information.
#
# SYSTEM_MEMORY 0
# SYSTEM_IO 1
# SMBUS 4
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiAddressSpaceId|0x01|UINT8|0xF0000010
#
# IPMI Base Address RegisterBitWidth of Generic Address Structure(GAS) . Reference ACPI specification for more information.
#
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiRegisterBitWidth|0x08|UINT8|0xF0000011
#
# IPMI Base Address RegisterBitOffset of Generic Address Structure(GAS) . Reference ACPI specification for more information.
#
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiRegisterBitOffset|0x00|UINT8|0xF0000012
#
# IPMI Base Address AccessSize of Generic Address Structure(GAS) . Reference ACPI specification for more information.
#
# UNDEFINED 0
# BYTE 1
# WORD 2
# DWORD 3
# QWORD 4
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiAccessSize|0x01|UINT8|0xF0000013
#
# IPMI Base Address of Generic Address Structure(GAS) . Reference ACPI specification for more information.
#
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiAddress|0x00|UINT64|0xF0000014
#
# IPMI Device identification info
#
# if it is PCI device, then {PCI Segment Number, PCI Bus Number, PCI Device Number, PCI Function Number}
# if it is non-PCI device, then {UID byte1, UID byte2, UID byte3, UID byte4}
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiDeviceId|{0x00, 0x00, 0x00, 0x00}|VOID*|0xF0000015
#
# SMBIOS Type 38 - IPMI Device Information
#
#
# IPMI Interrupt Info
#
# 0 - not specified
# 1 - specified
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiInterruptInfo|0x00|UINT8|0xF0000016
#
# IPMI Interrupt Polarity
#
# 0 - active low
# 1 - active high
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiInterruptPolarity|0x00|UINT8|0xF0000017
#
# IPMI Interrupt Trigger Mode
#
# 0 - edge
# 1 - level
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiInterruptTriggerMode|0x00|UINT8|0xF0000018
#
# IPMI Interrupt Number
#
# 0 - unspecified/unsupported
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiInterruptNumber|0x00|UINT8|0xF0000019
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiI2CSlaveAddress|0x20|UINT8|0xF000001A
gIpmiFeaturePkgTokenSpaceGuid.PcdSmbiosTablesIpmiNVStorageDeviceAddress|0xff|UINT8|0xF000001B
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx]
gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiBmcReadyDelayTimer|120|UINT8|0xD0000001