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