2 # This is the Platform PEIM to initialize whole platform on PEI phase.
4 # This PEIM includes 3 parts, pre memory initialization, MRC
5 # wrapper and post memory initialization.
6 # On pre memory, following action is performed,
9 # 3. Detect video adapter to determine whether we need pre allocated
12 # After that MRC wrapper calls MRC to initialize memory and install a PPI
13 # notify to do post memory
14 # initialization. MRC wrapper performance following actions,
15 # 1. Install EFI Memory.
16 # 2. Create HOB of system memory.
18 # On post memory, following action is performed,
19 # 1. QNC initialization after MRC.
20 # 2. SIO initialization.
21 # 3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on
24 # 5. Create FV HOB and Flash HOB
25 # 6. Install RecoveryModule and AtaController PPI if on recovery boot mode.
27 # This PEIM does not have any register access directly, it depends on
28 # IntelQNCLib, QNCAccess libraries to access Chipset
31 # Platform.c - Provide main flow and entrypoint of PEIM.
32 # MemoryCallback.c - Includes a memory call back function notified when
34 # Recovery.c - provides the platform recoveyr functionality.
35 # MrcWrapper.c - Contains the logic to call MRC PPI and do Framework
36 # memory specific stuff like build memory map, build
37 # resource description hob for DXE phase,etc.
38 # Bootmode.c - Detect boot mode.
39 # Copyright (c) 2013 - 2019 Intel Corporation.
41 # SPDX-License-Identifier: BSD-2-Clause-Patent
46 INF_VERSION = 0x00010005
47 BASE_NAME = PlatformEarlyInitPei
48 FILE_GUID = 9618C0DC-50A4-496c-994F-7241F282ED01
51 ENTRY_POINT = PeiInitPlatform
54 # The following information is for reference only and not required by the build tools.
56 # VALID_ARCHITECTURES = IA32 X64
74 MdeModulePkg/MdeModulePkg.dec
75 UefiCpuPkg/UefiCpuPkg.dec
76 IntelFrameworkPkg/IntelFrameworkPkg.dec
77 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
78 QuarkPlatformPkg/QuarkPlatformPkg.dec
79 QuarkSocPkg/QuarkSocPkg.dec
94 PeiServicesTablePointerLib
105 PlatformPcieHelperLib
109 gEfiMemoryConfigDataGuid # ALWAYS_CONSUMED L"MemoryConfig"
110 gEfiAcpiVariableGuid # ALWAYS_CONSUMED L"AcpiGlobalVariab"
111 gEfiMemoryTypeInformationGuid # ALWAYS_CONSUMED L"MemoryTypeInformation"
112 gEfiMemoryConfigDataGuid # SOMETIMES_PRODUCED Hob: GUID_EXTENSION
113 gEfiSmmPeiSmramMemoryReserveGuid # ALWAYS_PRODUCED Hob: GUID_EXTENSION
114 gEfiFirmwareFileSystem2Guid # ALWAYS_CONSUMED
115 gEfiCapsuleGuid # ALWAYS_CONSUMED
116 gPeiCapsuleOnDataCDGuid
117 gPeiCapsuleOnFatIdeDiskGuid
118 gPeiCapsuleOnFatUsbDiskGuid
119 gEfiMemoryOverwriteControlDataGuid # SOMETIMES_CONSUMED
123 gQNCMemoryInitPpiGuid # PPI ALWAYS_CONSUMED
124 gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED
125 gPeiAtaControllerPpiGuid # PPI SOMETIMES_PRODUCED
126 gEfiPeiStallPpiGuid # PPI ALWAYS_PRODUCED
127 gEfiPeiDeviceRecoveryModulePpiGuid # PPI SOMETIMES_CONSUMED
128 gEfiPeiRecoveryModulePpiGuid # PPI SOMETIMES_PRODUCED
129 gEfiPeiResetPpiGuid # PPI ALWAYS_PRODUCED
130 gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_CONSUMED
131 gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED
132 gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED
133 gEfiPeiFirmwareVolumeInfoPpiGuid
134 gEfiEndOfPeiSignalPpiGuid
135 gEfiPeiVirtualBlockIoPpiGuid
136 gPeiCapsulePpiGuid # PPI ALWAYS_CONSUMED
139 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk
140 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD
141 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk
142 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk
143 gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError
146 gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base
147 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize
148 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaBaseAddress
149 gQuarkPlatformTokenSpaceGuid.PcdEccScrubBlkSize
150 gQuarkPlatformTokenSpaceGuid.PcdEccScrubInterval
151 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase
152 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
153 gQuarkPlatformTokenSpaceGuid.PcdFlashQNCMicrocodeSize
154 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPmbaIoBaseAddress
155 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
156 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoBase
157 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoSize
158 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartFunctionNumber
159 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartBusNumber
160 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartDevNumber
161 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBusNumber
162 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioDevNumber
163 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioFunctionNumber
164 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBarRegister
165 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioMmioBase
166 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac0MmioBase
167 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac1MmioBase
168 gEfiQuarkSCSocIdTokenSpaceGuid.PcdPeiQNCUsbControllerMemoryBaseAddress
169 gEfiQuarkNcSocIdTokenSpaceGuid.PcdRcbaMmioBaseAddress
170 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Base
171 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Size
172 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Base
173 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Size
174 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize
175 gEfiQuarkNcSocIdTokenSpaceGuid.PcdGbaIoBaseAddress
176 gEfiQuarkNcSocIdTokenSpaceGuid.PcdQuarkMicrocodeFile
177 gEfiQuarkNcSocIdTokenSpaceGuid.PcdTSegSize
178 gEfiQuarkNcSocIdTokenSpaceGuid.PcdESramMemorySize
179 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoverySize
180 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoveryBase
181 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainSize
182 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainBase
183 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState
184 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadBase
185 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadSize
186 gQuarkPlatformTokenSpaceGuid.PcdEnableFastBoot
187 gQuarkPlatformTokenSpaceGuid.PcdPlatformType
188 gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters
189 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac0
190 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac1
193 gEfiPeiReadOnlyVariable2PpiGuid AND gQNCMemoryInitPpiGuid