]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
QuarkPlatformPkg/PlatformEarlyInit: Configure GPIO expander
[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
406d8575 39# Copyright (c) 2013 - 2016 Intel Corporation.\r
b303605e
MK
40#\r
41# This program and the accompanying materials\r
42# are licensed and made available under the terms and conditions of the BSD License\r
43# which accompanies this distribution. The full text of the license may be found at\r
44# http://opensource.org/licenses/bsd-license.php\r
45#\r
46# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
47# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
48#\r
49##\r
50\r
51[Defines]\r
52 INF_VERSION = 0x00010005\r
53 BASE_NAME = PlatformEarlyInitPei\r
54 FILE_GUID = 9618C0DC-50A4-496c-994F-7241F282ED01\r
55 MODULE_TYPE = PEIM\r
56 VERSION_STRING = 1.0\r
57 ENTRY_POINT = PeiInitPlatform\r
58\r
59#\r
60# The following information is for reference only and not required by the build tools.\r
61#\r
62# VALID_ARCHITECTURES = IA32 X64\r
63#\r
64\r
65[Sources]\r
66 Generic/Recovery.c\r
67 PlatformErratas.c\r
68 MrcWrapper.c\r
69 MrcWrapper.h\r
70 PlatformEarlyInit.c\r
71 PlatformEarlyInit.h\r
72 MemoryCallback.c\r
73 BootMode.c\r
74 CommonHeader.h\r
75 PeiFvSecurity.c\r
76 PeiFvSecurity.h\r
77\r
78[Packages]\r
79 MdePkg/MdePkg.dec\r
80 MdeModulePkg/MdeModulePkg.dec\r
81 UefiCpuPkg/UefiCpuPkg.dec\r
82 IntelFrameworkPkg/IntelFrameworkPkg.dec\r
83 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
84 QuarkPlatformPkg/QuarkPlatformPkg.dec\r
85 QuarkSocPkg/QuarkSocPkg.dec\r
86\r
87[LibraryClasses]\r
88 ResetSystemLib\r
89 PrintLib\r
90 TimerLib\r
91 RecoveryOemHookLib\r
92 PcdLib\r
93 IntelQNCLib\r
94 ReportStatusCodeLib\r
95 PciLib\r
96 PciExpressLib\r
97 IoLib\r
98 PciCf8Lib\r
99 HobLib\r
100 BaseMemoryLib\r
101 PeiServicesTablePointerLib\r
102 PeiServicesLib\r
103 BaseLib\r
104 PeimEntryPoint\r
105 DebugLib\r
106 MemoryAllocationLib\r
107 PerformanceLib\r
108 CacheMaintenanceLib\r
109 MtrrLib\r
110 QNCAccessLib\r
111 PlatformHelperLib\r
112 PlatformPcieHelperLib\r
406d8575 113 I2cLib\r
b303605e
MK
114\r
115[Guids]\r
116 gEfiMemoryConfigDataGuid # ALWAYS_CONSUMED L"MemoryConfig"\r
117 gEfiAcpiVariableGuid # ALWAYS_CONSUMED L"AcpiGlobalVariab"\r
118 gEfiMemoryTypeInformationGuid # ALWAYS_CONSUMED L"MemoryTypeInformation"\r
119 gEfiMemoryConfigDataGuid # SOMETIMES_PRODUCED Hob: GUID_EXTENSION\r
120 gEfiSmmPeiSmramMemoryReserveGuid # ALWAYS_PRODUCED Hob: GUID_EXTENSION\r
121 gEfiFirmwareFileSystem2Guid # ALWAYS_CONSUMED\r
122 gEfiCapsuleGuid # ALWAYS_CONSUMED\r
123 gPeiCapsuleOnDataCDGuid\r
124 gPeiCapsuleOnFatIdeDiskGuid\r
125 gPeiCapsuleOnFatUsbDiskGuid\r
126 gEfiMemoryOverwriteControlDataGuid # SOMETIMES_CONSUMED\r
127 gEfiQuarkCapsuleGuid\r
128\r
129[Ppis]\r
130 gQNCMemoryInitPpiGuid # PPI ALWAYS_CONSUMED\r
131 gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED\r
132 gPeiAtaControllerPpiGuid # PPI SOMETIMES_PRODUCED\r
133 gEfiPeiStallPpiGuid # PPI ALWAYS_PRODUCED\r
134 gEfiPeiDeviceRecoveryModulePpiGuid # PPI SOMETIMES_CONSUMED\r
135 gEfiPeiRecoveryModulePpiGuid # PPI SOMETIMES_PRODUCED\r
136 gEfiPeiResetPpiGuid # PPI ALWAYS_PRODUCED\r
137 gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_CONSUMED\r
138 gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED\r
139 gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED\r
140 gEfiPeiFirmwareVolumeInfoPpiGuid\r
141 gEfiEndOfPeiSignalPpiGuid\r
142 gEfiPeiVirtualBlockIoPpiGuid\r
143 gPeiCapsulePpiGuid # PPI ALWAYS_CONSUMED\r
144\r
145[FeaturePcd]\r
146 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk\r
147 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD\r
148 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk\r
149 gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk\r
150 gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport\r
151 gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError\r
152\r
153[Pcd]\r
154 gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base\r
155 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize\r
156 gQuarkPlatformTokenSpaceGuid.PcdFlashAreaBaseAddress\r
157 gQuarkPlatformTokenSpaceGuid.PcdEccScrubBlkSize\r
158 gQuarkPlatformTokenSpaceGuid.PcdEccScrubInterval\r
159 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase\r
160 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
161 gQuarkPlatformTokenSpaceGuid.PcdFlashQNCMicrocodeSize\r
162 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPmbaIoBaseAddress\r
163 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress\r
164 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoBase\r
165 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoSize\r
166 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartFunctionNumber\r
167 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartBusNumber\r
168 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartDevNumber\r
169 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBusNumber\r
170 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioDevNumber\r
171 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioFunctionNumber\r
172 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBarRegister\r
173 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioMmioBase\r
174 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac0MmioBase\r
175 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac1MmioBase\r
176 gEfiQuarkSCSocIdTokenSpaceGuid.PcdPeiQNCUsbControllerMemoryBaseAddress\r
177 gEfiQuarkNcSocIdTokenSpaceGuid.PcdRcbaMmioBaseAddress\r
178 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Base\r
179 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Size\r
180 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Base\r
181 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Size\r
182 gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize\r
183 gEfiQuarkNcSocIdTokenSpaceGuid.PcdGbaIoBaseAddress\r
184 gEfiQuarkNcSocIdTokenSpaceGuid.PcdQuarkMicrocodeFile\r
185 gEfiQuarkNcSocIdTokenSpaceGuid.PcdTSegSize\r
186 gEfiQuarkNcSocIdTokenSpaceGuid.PcdESramMemorySize\r
187 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoverySize\r
188 gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoveryBase\r
189 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainSize\r
190 gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainBase\r
191 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState\r
192 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadBase\r
193 gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadSize\r
194 gQuarkPlatformTokenSpaceGuid.PcdEnableFastBoot\r
195 gQuarkPlatformTokenSpaceGuid.PcdPlatformType\r
196 gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters\r
197 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac0\r
198 gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac1\r
199\r
200[Depex]\r
201 gEfiPeiReadOnlyVariable2PpiGuid AND gQNCMemoryInitPpiGuid\r