summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPreMemPei/PlatformPreMemPei.inf
blob: 2c3ba738e31532816e3ab076d072ddff8bbc045a (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
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
## @file
#  This is the Platform PEIM to initialize whole platform on PEI phase.
#
#  This PEIM includes 3 parts, pre-memory initialization, MRC
#  wrapper and post memory initialization.
#
#  On pre-memory, the following actions are performed:
#   1. Initialize System Agent.
#   2. Detect boot mode.
#   3. Detect video adapter to determine whether we need pre allocated memory.
#
#  After that, MRC wrapper calls MRC to initialize memory and install a PPI
#  notify to do post memory initialization. MRC wrapper performance following actions:
#   1. Install EFI Memory.
#   2. Capsule coalesce if capsule boot mode.
#   3. Create HOB of system memory.
#
#  Note: MRC supports 3 kinds of chipsets including Lakeport, Glenwood and Mukilteo,
#   so please don't define MACRO MUKILTEO_SUPPORT on Lakeport here.
#
#  On post-memory, the following actions are performed:
#   1. TC initialization after MRC.
#   2. SIO initialization.
#   3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on
#      recovery boot mode.
#   4. Set MTRR for PEI
#   5. Create FV HOB and Flash HOB
#   6. Install RecoveryModule and AtaController PPI if on recovery boot mode.
#
#  This PEIM does not have any register access directly, it depends on
#  IntelTCLib, TCAccess libraries to access Chipset registers.
#
#   1. Platform.c - Provide main flow and entry point of PEIM.
#   2. MemoryCallback.c - Includes a memory call back function notified when
#      MRC is done.
#
#  Copyright (c) 2012 - 2017, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php.
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PlatformInitPreMem
  FILE_GUID                      = 9618C0DC-50A4-496c-994F-7241F282ED01
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = PlatformInitPreMemEntryPoint

[Sources]
  PlatformInitPreMem.c
  PlatformInitPreMem.h
  Stall.c
  Smip.c
  BootMode.c
  BoardGpiosPreMem.c
  FvCallback.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  BroxtonSiPkg/BroxtonSiPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec
  BroxtonPlatformPkg/PlatformPkg.dec
  SecurityPkg/SecurityPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
  BroxtonPlatformPkg/Common/SampleCode/IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec
  BroxtonPlatformPkg/PlatformPkg.dec
  IntelFsp2Pkg/IntelFsp2Pkg.dec
  IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec
  BroxtonFspPkg/BroxtonFspPkg.dec

[LibraryClasses]
  PeimEntryPoint
  PeiServicesLib
  DebugLib
  HobLib
  IoLib
  PcdLib
  MtrrLib
  PerformanceLib
  MonoStatusCodeLib
  SeCUmaLib
  BaseIpcLib
  PeiPlatformConfigUpdateLib
  GpioLib
  CpuPolicyLib
  HeciMsgLib
  ScPlatformLib
  SteppingLib
  TimerLib
  PeiPolicyInitLib
  PeiVariableCacheLib
  FspWrapperApiLib
  BpdtLib

[Guids]
  gEfiSetupVariableGuid
  gEfiPlatformInfoGuid
  gEfiPlatformBootModeGuid
  gEfiPlatformCpuInfoGuid
  gEfiGlobalVariableGuid
  gMfgModeVariableGuid
  gEfiNormalSetupGuid
  gEfiSystemNvDataFvGuid
  gIFWIVersionHobGuid
  gEfiBootMediaHobGuid
  gUfsBootLunIdHobGuid
  gMicroCodepointerGuid
  gUfsPhyOverrideHobGuid
  gEfiAcpiVariableCompatiblityGuid
  gObbyFirmwareFileSystemFvGuid
  gFspSFirmwareFileSystemFvGuid
  gIbbrFirmwareFileSystemFvGuid
  gEfiFirmwarePerformanceGuid
  gEfiAuthenticatedVariableGuid
  gFspTempRamExitGuid

[Ppis]
  gEfiPeiStallPpiGuid
  gEfiPeiMemoryDiscoveredPpiGuid
  gEfiPeiReadOnlyVariable2PpiGuid
  gPeiCapsulePpiGuid
  gEfiPeiBootInRecoveryModePpiGuid
  gPeiCachePpiGuid
  gPeiMfgMemoryTestPpiGuid
  gEfiPeiVirtualBlockIoPpiGuid
  gEfiTemporaryRamSupportPpiGuid
  gDramPolicyPpiGuid
  gCpuConfigGuid
  gBiosReservedMemoryPolicyPpiGuid
  gPowerMgmtConfigGuid
  gSiSaPreMemPolicyPpiGuid

[Pcd]
  gPlatformModuleTokenSpaceGuid.PcdFlashBaseAddress
  gPlatformModuleTokenSpaceGuid.PcdFlashSize
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBSize
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBXBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBXSize
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBRBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBRSize
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBMBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBMSize
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBLBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvIBBLSize
  gPlatformModuleTokenSpaceGuid.PcdFlashNvStorageBase
  gPlatformModuleTokenSpaceGuid.PcdFlashNvStorageSize
  gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress
  gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBYBase
  gPlatformModuleTokenSpaceGuid.PcdFlashFvOBBYSize
  gPlatformModuleTokenSpaceGuid.PcdFlashObbPayloadMappedBase
  gPlatformModuleTokenSpaceGuid.PcdFlashObbPayloadSize
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
  gEfiBxtTokenSpaceGuid.PcdScAcpiIoPortBaseAddress
  gEfiBxtTokenSpaceGuid.PcdIafwPlatformInfo              ## PRODUCES
  gEfiBxtTokenSpaceGuid.PcdPmcSsramBaseAddress0          ## CONSUMES
  gEfiBxtTokenSpaceGuid.PcdPmcSsramBaseAddress1          ## CONSUMES
  gEfiBxtTokenSpaceGuid.PcdPlatformIdRegisterOffset      ## CONSUMES
  gEfiBxtTokenSpaceGuid.PcdP2SBBaseAddress               ## CONSUMES
  gEfiBxtTokenSpaceGuid.PcdPmcGcrBaseAddress
  gPlatformModuleTokenSpaceGuid.PcdIfwiZid
  gSiPkgTokenSpaceGuid.PcdForceVolatileVariable          ## PRODUCES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspsBaseAddress
  gPlatformModuleTokenSpaceGuid.PcdBoardId
  gPlatformModuleTokenSpaceGuid.PcdFabId
  gPlatformModuleTokenSpaceGuid.PcdDramCreatePolicyDefaultsFunc

[FeaturePcd]
  gEfiSerialPortTokenSpaceGuid.PcdStatusCodeUseRam

[Depex]
  TRUE