hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
## @file
# Component information file for PEI CometlakeURvp Board Init Pre-Mem Library
#
#
#  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##
 
[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiCometlakeURvpMultiBoardInitPreMemLib
  FILE_GUID                      = EA05BD43-136F-45EE-BBBA-27D75817574F
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL
  CONSTRUCTOR                    = PeiCometlakeURvpMultiBoardInitPreMemLibConstructor
 
 
[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  GpioLib
  MemoryAllocationLib
  MultiBoardInitSupportLib
  OcWdtLib
  PcdLib
  PchResetLib
  PeiPlatformHookLib
  PeiPolicyInitLib
  PlatformHookLib
  SiliconInitLib
  StallPpiLib
 
[Packages]
  MinPlatformPkg/MinPlatformPkg.dec
  CometlakeOpenBoardPkg/OpenBoardPkg.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  CoffeelakeSiliconPkg/SiPkg.dec
  IntelSiliconPkg/IntelSiliconPkg.dec
 
[Sources]
  PeiCometlakeURvpInitPreMemLib.c
  CometlakeURvpHsioPtssTables.c
  PeiMultiBoardInitPreMemLib.c
  PeiCometlakeURvpDetect.c
  BoardSaInitPreMemLib.c
  BoardPchInitPreMemLib.c
  BoardFuncInitPreMem.c
  GpioTableCmlUlpddr3PreMem.c
 
[Ppis]
  gEfiPeiReadOnlyVariable2PpiGuid
  gEfiPeiMemoryDiscoveredPpiGuid                ## CONSUMES
  gEfiPeiResetPpiGuid                           ## PRODUCES
 
[Guids]
  gPchGeneralPreMemConfigGuid      ## CONSUMES
 
[Pcd]
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdLpcSioConfigDefaultPort
 
  # PCH-LP HSIO PTSS Table
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSpecificLpHsioPtssTable1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSpecificLpHsioPtssTable2
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSpecificLpHsioPtssTable1Size
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSpecificLpHsioPtssTable2Size
 
  # PCH-H HSIO PTSS Table
  #gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUnknowHHsioPtssTable1
  #gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUnknowHHsioPtssTable2
  #gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUnknowHHsioPtssTable1Size
  #gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUnknowHHsioPtssTable2Size
 
  # SA Misc Config
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSaMiscUserBd
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcRcompResistor
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcRcompTarget
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqByteMap
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqByteMapSize
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqsMapCpu2Dram
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqsMapCpu2DramSize
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdData
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdDataSize
 
  # PEG Reset By GPIO
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0WakeGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0HoldRstExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0HoldRstGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0HoldRstActive
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0PwrEnableExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0PwrEnableGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0PwrEnableActive
 
 
  # SPD Address Table
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable0
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable2
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable3
 
  # USB 2.0 Port AFE
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port0Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port1Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port2Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port3Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port4Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port5Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port6Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port7Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port8Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port9Afe
 
  # USB 2.0 Port Over Current Pin
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort0
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort2
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort3
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort4
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort5
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort6
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort7
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort8
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort9
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort10
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort11
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort12
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort13
 
  # USB 3.0 Port Over Current Pin
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort0
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort2
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort3
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort4
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort5
 
  # Misc
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdIoExpanderPresent
 
  #===========================================================
  # Board Init Table List
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTablePreMem
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTablePreMemSize
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTableWwanOnEarlyPreMem
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTableWwanOnEarlyPreMemSize
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTableWwanOffEarlyPreMem
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardGpioTableWwanOffEarlyPreMemSize
 
  # WWAN Full Card Power Off and reset pins
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdWwanFullCardPowerOffGpio
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdWwanBbrstGpio
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdWwanPerstGpio
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdWwanPerstGpioPolarity
 
  # SA Misc Config
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSaMiscMmioSizeAdjustment
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqPinsInterleavedControl
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcDqPinsInterleaved
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSaDdrFreqLimit
 
  # Display DDI
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSaDisplayConfigTable           ## PRODUCES
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSaDisplayConfigTableSize       ## PRODUCES
 
  # PEG Reset By GPIO
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPegGpioResetControl
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPegGpioResetSupoort
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPeg0ResetGpioPad
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPeg0ResetGpioActive
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPeg3ResetGpioPad
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPeg3ResetGpioActive
 
  # PCIE RTD3 GPIO
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdRootPortDev
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdRootPortFunc
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdRootPortIndex
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie0GpioSupport
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1GpioSupport
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1WakeGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1HoldRstExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1HoldRstGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1HoldRstActive
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1PwrEnableExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1PwrEnableGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie1PwrEnableActive
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2GpioSupport
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2WakeGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2HoldRstExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2HoldRstGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2HoldRstActive
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2PwrEnableExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2PwrEnableGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie2PwrEnableActive
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3GpioSupport
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3WakeGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3HoldRstExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3HoldRstGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3HoldRstActive
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3PwrEnableExpanderNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3PwrEnableGpioNo
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcie3PwrEnableActive
 
  # CA Vref Configuration
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcCaVrefConfig
 
  # PCIe Clock Info
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock0
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock2
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock3
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock4
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock5
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock6
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock7
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock8
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock9
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock10
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock11
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock12
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock13
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock14
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieClock15
 
  # USB 2.0 Port AFE
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port10Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port11Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port12Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port13Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port14Afe
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20Port15Afe
 
  # USB 2.0 Port Over Current Pin
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort14
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb20OverCurrentPinPort15
 
  # USB 3.0 Port Over Current Pin
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort6
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort7
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort8
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdUsb30OverCurrentPinPort9
 
  # GPIO Group Tier
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdGpioGroupToGpeDw0
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdGpioGroupToGpeDw1
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdGpioGroupToGpeDw2
 
  # Pch PmConfig Policy
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSlpS0VmRuntimeControl
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSlpS0Vm070VSupport
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSlpS0Vm075VSupport
 
  # Misc
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPc8374SioKbcPresent
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdOddPowerInitEnable
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdIvCamInitPresent
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdRecoveryModeGpio
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMobileDramPresent
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdCpuVboostEnable
 
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdSpdPresent
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardRev
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdBoardBomId
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPlatformType
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdDualDimmPerChannelBoardType
 
  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress
  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress  ## CONSUMES
  gMinPlatformPkgTokenSpaceGuid.PcdPciExpressRegionLength     ## CONSUMES
 
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdPcieWwanEnable
  gCometlakeOpenBoardPkgTokenSpaceGuid.PcdWwanResetWorkaround    ## PRODUCES
  gSiPkgTokenSpaceGuid.PcdTcoBaseAddress
 
 
[FixedPcd]
  gSiPkgTokenSpaceGuid.PcdMchBaseAddress              ## CONSUMES
  gSiPkgTokenSpaceGuid.PcdMchMmioSize                 ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdDmiBaseAddress     ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdDmiMmioSize        ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdEpBaseAddress      ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdEpMmioSize         ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdGdxcBaseAddress    ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdGdxcMmioSize       ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdApicLocalAddress   ## CONSUMES
  gPlatformModuleTokenSpaceGuid.PcdApicLocalMmioSize  ## CONSUMES