]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
QuarkPlatformPkg: Remove PcdFrameworkCompatibilitySupport usage
[mirror_edk2.git] / QuarkPlatformPkg / Platform / Pei / PlatformInit / PlatformEarlyInit.inf
CommitLineData
b303605e
MK
1## @file\r
2# This is the Platform PEIM to initialize whole platform on PEI phase.\r
3#\r
4# This PEIM includes 3 parts, pre memory initialization, MRC\r
5# wrapper and post memory initialization.\r
6# On pre memory, following action is performed,\r
7# 1. Initizluize GMCH.\r
8# 2. Detect boot mode.\r
9# 3. Detect video adapter to determine whether we need pre allocated\r
10# memory.\r
11#\r
12# After that MRC wrapper calls MRC to initialize memory and install a PPI\r
13# notify to do post memory\r
14# initialization. MRC wrapper performance following actions,\r
15# 1. Install EFI Memory.\r
16# 2. Create HOB of system memory.\r
17#\r
18# On post memory, following action is performed,\r
19# 1. QNC initialization after MRC.\r
20# 2. SIO initialization.\r
21# 3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on\r
22# recovery boot mode.\r
23# 4. Set MTRR for PEI\r
24# 5. Create FV HOB and Flash HOB\r
25# 6. Install RecoveryModule and AtaController PPI if on recovery boot mode.\r
26#\r
27# This PEIM does not have any register access directly, it depends on\r
28# IntelQNCLib, QNCAccess libraries to access Chipset\r
29# registers.\r
30#\r
31# Platform.c - Provide main flow and entrypoint of PEIM.\r
32# MemoryCallback.c - Includes a memory call back function notified when\r
33# MRC is done.\r
34# Recovery.c - provides the platform recoveyr functionality.\r
35# MrcWrapper.c - Contains the logic to call MRC PPI and do Framework\r
36# memory specific stuff like build memory map, build\r
37# resource description hob for DXE phase,etc.\r
38# Bootmode.c - Detect boot mode.\r
1df91bb7 39# Copyright (c) 2013 - 2019 Intel Corporation.\r
b303605e 40#\r
0eb3de2e 41# SPDX-License-Identifier: BSD-2-Clause-Patent\r
b303605e
MK
42#\r
43##\r
44\r
45[Defines]\r
46 INF_VERSION = 0x00010005\r
47 BASE_NAME = PlatformEarlyInitPei\r
48 FILE_GUID = 9618C0DC-50A4-496c-994F-7241F282ED01\r
49 MODULE_TYPE = PEIM\r
50 VERSION_STRING = 1.0\r
51 ENTRY_POINT = PeiInitPlatform\r
52\r
53#\r
54# The following information is for reference only and not required by the build tools.\r
55#\r
56# VALID_ARCHITECTURES = IA32 X64\r
57#\r
58\r
59[Sources]\r
60 Generic/Recovery.c\r
61 PlatformErratas.c\r
62 MrcWrapper.c\r
63 MrcWrapper.h\r
64 PlatformEarlyInit.c\r
65 PlatformEarlyInit.h\r
66 MemoryCallback.c\r
67 BootMode.c\r
68 CommonHeader.h\r
69 PeiFvSecurity.c\r
70 PeiFvSecurity.h\r
71\r
72[Packages]\r
73 MdePkg/MdePkg.dec\r
74 MdeModulePkg/MdeModulePkg.dec\r
75 UefiCpuPkg/UefiCpuPkg.dec\r
76 IntelFrameworkPkg/IntelFrameworkPkg.dec\r
77 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
78 QuarkPlatformPkg/QuarkPlatformPkg.dec\r
79 QuarkSocPkg/QuarkSocPkg.dec\r
80\r
81[LibraryClasses]\r
82 ResetSystemLib\r
83 PrintLib\r
84 TimerLib\r
b303605e
MK
85 PcdLib\r
86 IntelQNCLib\r
87 ReportStatusCodeLib\r
88 PciLib\r
89 PciExpressLib\r
90 IoLib\r
91 PciCf8Lib\r
92 HobLib\r
93 BaseMemoryLib\r
94 PeiServicesTablePointerLib\r
95 PeiServicesLib\r
96 BaseLib\r
97 PeimEntryPoint\r
98 DebugLib\r
99 MemoryAllocationLib\r
100 PerformanceLib\r
101 CacheMaintenanceLib\r
102 MtrrLib\r
103 QNCAccessLib\r
104 PlatformHelperLib\r
105 PlatformPcieHelperLib\r
406d8575 106 I2cLib\r
b303605e
MK
107\r
108[Guids]\r
109 gEfiMemoryConfigDataGuid # ALWAYS_CONSUMED L"MemoryConfig"\r
110 gEfiAcpiVariableGuid # ALWAYS_CONSUMED L"AcpiGlobalVariab"\r
111 gEfiMemoryTypeInformationGuid # ALWAYS_CONSUMED L"MemoryTypeInformation"\r
112 gEfiMemoryConfigDataGuid # SOMETIMES_PRODUCED Hob: GUID_EXTENSION\r
113 gEfiSmmPeiSmramMemoryReserveGuid # ALWAYS_PRODUCED Hob: GUID_EXTENSION\r
114 gEfiFirmwareFileSystem2Guid # ALWAYS_CONSUMED\r
115 gEfiCapsuleGuid # ALWAYS_CONSUMED\r
116 gPeiCapsuleOnDataCDGuid\r
117 gPeiCapsuleOnFatIdeDiskGuid\r
118 gPeiCapsuleOnFatUsbDiskGuid\r
119 gEfiMemoryOverwriteControlDataGuid # SOMETIMES_CONSUMED\r
120 gEfiQuarkCapsuleGuid\r
121\r
122[Ppis]\r
123 gQNCMemoryInitPpiGuid # PPI ALWAYS_CONSUMED\r
124 gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED\r
125 gPeiAtaControllerPpiGuid # PPI SOMETIMES_PRODUCED\r
126 gEfiPeiStallPpiGuid # PPI ALWAYS_PRODUCED\r
127 gEfiPeiDeviceRecoveryModulePpiGuid # PPI SOMETIMES_CONSUMED\r
128 gEfiPeiRecoveryModulePpiGuid # PPI SOMETIMES_PRODUCED\r
129 gEfiPeiResetPpiGuid # PPI ALWAYS_PRODUCED\r
130 gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_CONSUMED\r
131 gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED\r
132 gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED\r
133 gEfiPeiFirmwareVolumeInfoPpiGuid\r
134 gEfiEndOfPeiSignalPpiGuid\r
135 gEfiPeiVirtualBlockIoPpiGuid\r
136 gPeiCapsulePpiGuid # PPI ALWAYS_CONSUMED\r
137\r
138[FeaturePcd]\r
139 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk\r
140 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD\r
141 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk\r
142 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk\r
b303605e
MK
143 gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError\r
144\r
145[Pcd]\r
146 gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base\r
147 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize\r
148 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaBaseAddress\r
149 gQuarkPlatformTokenSpaceGuid.PcdEccScrubBlkSize\r
150 gQuarkPlatformTokenSpaceGuid.PcdEccScrubInterval\r
151 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase\r
152 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
153 gQuarkPlatformTokenSpaceGuid.PcdFlashQNCMicrocodeSize\r
154 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPmbaIoBaseAddress\r
155 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress\r
156 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoBase\r
157 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoSize\r
158 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartFunctionNumber\r
159 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartBusNumber\r
160 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartDevNumber\r
161 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBusNumber\r
162 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioDevNumber\r
163 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioFunctionNumber\r
164 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBarRegister\r
165 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioMmioBase\r
166 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac0MmioBase\r
167 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac1MmioBase\r
168 gEfiQuarkSCSocIdTokenSpaceGuid.PcdPeiQNCUsbControllerMemoryBaseAddress\r
169 gEfiQuarkNcSocIdTokenSpaceGuid.PcdRcbaMmioBaseAddress\r
170 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Base\r
171 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Size\r
172 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Base\r
173 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Size\r
174 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize\r
175 gEfiQuarkNcSocIdTokenSpaceGuid.PcdGbaIoBaseAddress\r
176 gEfiQuarkNcSocIdTokenSpaceGuid.PcdQuarkMicrocodeFile\r
177 gEfiQuarkNcSocIdTokenSpaceGuid.PcdTSegSize\r
178 gEfiQuarkNcSocIdTokenSpaceGuid.PcdESramMemorySize\r
179 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoverySize\r
180 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoveryBase\r
181 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainSize\r
182 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainBase\r
183 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState\r
184 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadBase\r
185 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadSize\r
186 gQuarkPlatformTokenSpaceGuid.PcdEnableFastBoot\r
187 gQuarkPlatformTokenSpaceGuid.PcdPlatformType\r
188 gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters\r
189 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac0\r
190 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac1\r
191\r
192[Depex]\r
193 gEfiPeiReadOnlyVariable2PpiGuid AND gQNCMemoryInitPpiGuid\r