blob: 6719eea374715a316f00ea8a289be7c8e7d2c366 [file] [log] [blame]
oliviermartin1e57a462013-01-25 11:28:06 +00001#/** @file
2# Embedded Package
3#
4#
5# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
Ronald Cron04f1a702015-02-26 10:54:39 +00006# Copyright (c) 2012-2015, ARM Ltd. All rights reserved.<BR>
oliviermartin1e57a462013-01-25 11:28:06 +00007#
8# This program and the accompanying materials
9# are licensed and made available under the terms and conditions of the BSD License
10# which accompanies this distribution. The full text of the license may be found at
11# http://opensource.org/licenses/bsd-license.php
12#
13# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15#
16#**/
17
18################################################################################
19#
20# Defines Section - statements that will be processed to create a Makefile.
21#
22################################################################################
23[Defines]
24 PLATFORM_NAME = Embedded
25 PLATFORM_GUID = 8DBB580B-CF89-4D57-95C6-DFE96C44686E
26 PLATFORM_VERSION = 0.1
27 DSC_SPECIFICATION = 0x00010005
28 OUTPUT_DIRECTORY = Build/Embedded
Olivier Martin35a3e762014-03-01 11:01:44 +000029 SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM|AARCH64
oliviermartin1e57a462013-01-25 11:28:06 +000030 BUILD_TARGETS = DEBUG|RELEASE
31 SKUID_IDENTIFIER = DEFAULT
32 FLASH_DEFINITION = EmbeddedPkg/EmbeddedPkg.fdf
33
34
35################################################################################
36#
37# SKU Identification section - list of all SKU IDs supported by this
38# Platform.
39#
40################################################################################
41[SkuIds]
42 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
43
44################################################################################
45#
46# Library Class section - list of all Library Classes needed by this Platform.
47#
48################################################################################
49[LibraryClasses.common]
50# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
51 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
52
Ronald Cron3402aac2014-08-19 13:29:52 +000053
oliviermartin1e57a462013-01-25 11:28:06 +000054 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
55 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
56 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
57 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
58 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
59 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
60 EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000061
oliviermartin1e57a462013-01-25 11:28:06 +000062 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000063
oliviermartin1e57a462013-01-25 11:28:06 +000064 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
65 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
66 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
67 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
68 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000069
Ronald Cron9db0a772014-10-27 10:44:30 +000070 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
oliviermartind38c35f2013-03-12 00:40:11 +000071 SerialPortExtLib|EmbeddedPkg/Library/TemplateSerialPortExtLib/TemplateSerialPortExtLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000072 RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
73 EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
74 GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
75
76
77 #
78 # Need to change this for IPF
79 #
80 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000081
oliviermartin1e57a462013-01-25 11:28:06 +000082 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
83 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
84 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
85 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
86 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
87 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
88 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
89
90 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
91 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
92 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
93
oliviermartin1e57a462013-01-25 11:28:06 +000094 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
95 EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
Olivier Martinfebad022014-08-20 11:38:45 +000096
oliviermartin1e57a462013-01-25 11:28:06 +000097 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
Olivier Martinf6755902014-03-05 04:15:44 +000098
Olivier Martin33562112015-01-23 15:59:27 +000099 AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
Olivier Martinf6755902014-03-05 04:15:44 +0000100 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000101
Ronald Cron3c1e53c2015-02-25 19:34:07 +0000102 # Shell libraries
103 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
104 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
105 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
106
Olivier Martin46f2c532014-04-24 19:29:11 +0000107 # Networking Requirements
108 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
109 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000110 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
Olivier Martin46f2c532014-04-24 19:29:11 +0000111
oliviermartin1e57a462013-01-25 11:28:06 +0000112[LibraryClasses.common.DXE_DRIVER]
113 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
114 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
115
116
117[LibraryClasses.common.UEFI_APPLICATION]
118 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
119 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
120
121[LibraryClasses.common.UEFI_DRIVER]
122 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
123 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000124
oliviermartin1e57a462013-01-25 11:28:06 +0000125[LibraryClasses.common.SEC]
126 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
127
Olivier Martin35a3e762014-03-01 11:01:44 +0000128[LibraryClasses.ARM, LibraryClasses.AARCH64]
Olivier Martinf6755902014-03-05 04:15:44 +0000129 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
130 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
131 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000132 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000133 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
134
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +0000135 # Add support for GCC stack protector
136 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
137
Olivier Martinf6755902014-03-05 04:15:44 +0000138[LibraryClasses.ARM]
139 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
140
141[LibraryClasses.AARCH64]
142 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
143
oliviermartin1e57a462013-01-25 11:28:06 +0000144
145################################################################################
146#
147# Pcd Section - list of all PCD Entries defined by this Platform
148#
149################################################################################
150
151[PcdsFeatureFlag.common]
152 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
153 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
154 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
155 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
Ronald Cron3402aac2014-08-19 13:29:52 +0000156
oliviermartin1e57a462013-01-25 11:28:06 +0000157 #
158 # Control what commands are supported from the UI
159 # Turn these on and off to add features or save size
Ronald Cron3402aac2014-08-19 13:29:52 +0000160 #
oliviermartin1e57a462013-01-25 11:28:06 +0000161 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
162 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
163 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
164 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
165 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
166 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
167 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
Ronald Cron3402aac2014-08-19 13:29:52 +0000168
oliviermartin1e57a462013-01-25 11:28:06 +0000169 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
170
171
172[PcdsFixedAtBuild.common]
173 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
174 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
175 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
176 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
177 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
178 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
179 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
180 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
181 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
182 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
183 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
184 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
185 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
186 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
187 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
188 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
Olivier Martin8f12aa72013-08-23 18:21:46 +0000189 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L""
oliviermartin1e57a462013-01-25 11:28:06 +0000190 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
191 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
Ronald Cron3402aac2014-08-19 13:29:52 +0000192
oliviermartin1e57a462013-01-25 11:28:06 +0000193 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0
194 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
195 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
196
197#
198# Optinal feature to help prevent EFI memory map fragments
199# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
Ronald Cron3402aac2014-08-19 13:29:52 +0000200# Values are in EFI Pages (4K). DXE Core will make sure that
201# at least this much of each type of memory can be allocated
oliviermartin1e57a462013-01-25 11:28:06 +0000202# from a single memory range. This way you only end up with
203# maximum of two fragements for each type in the memory map
204# (the memory used, and the free memory that was prereserved
205# but not used).
206#
207 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
208 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
210 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0
211 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0
212 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0
213 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0
214 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0
215 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
216
217#
218# Timer config for this platform
219#
220 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000
221 gEmbeddedTokenSpaceGuid.PcdTimerVector|7
222 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
223
oliviermartin1e57a462013-01-25 11:28:06 +0000224[PcdsFixedAtBuild.IPF]
225 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000
226
227#
228# This makes it so you can source level debug with NT32. VC++ debugger limitiation!
229#
230#[BuildOptions]
231# DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE
232# RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096
233# *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006
234
Olivier Martinf6755902014-03-05 04:15:44 +0000235[BuildOptions]
236 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
237
oliviermartin1e57a462013-01-25 11:28:06 +0000238
239################################################################################
240#
241# Components Section - list of all Modules needed by this Platform
242#
243################################################################################
244[Components.common]
Ronald Cron3402aac2014-08-19 13:29:52 +0000245 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000246 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
247 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000248 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
249 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000250 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
251 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
Ronald Cron9db0a772014-10-27 10:44:30 +0000252 MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
Olivier Martinee1c2b72014-09-18 21:18:22 +0000253 EmbeddedPkg/Library/SerialPortExtLibNull/SerialPortExtLibNull.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000254 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
255 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
256 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
257 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
258
259 EmbeddedPkg/Ebl/Ebl.inf
260#### EmbeddedPkg/EblExternCmd/EblExternCmd.inf
261 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000262 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
263 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
264 EmbeddedPkg/SerialDxe/SerialDxe.inf
265 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
Olivier Martineff98cf2015-05-06 11:15:44 +0000266 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf {
267 <LibraryClasses>
268 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
269 }
oliviermartin1e57a462013-01-25 11:28:06 +0000270
271 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000272
Ronald Cron158497a2015-02-25 19:20:57 +0000273 # FDT installation
Olivier Martineff98cf2015-05-06 11:15:44 +0000274 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
275 <LibraryClasses>
276 # It depends on BdsLib that depends on TimerLib
277 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
278 }
Ard Biesheuvel1e9b2bd2014-09-09 17:59:19 +0000279
Olivier Martineff98cf2015-05-06 11:15:44 +0000280 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf {
281 <LibraryClasses>
282 # It depends on BdsLib that depends on TimerLib
283 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
284 }
Olivier Martind3f99772014-03-05 04:51:31 +0000285 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
Brendan Jackman4d6e1e52014-04-24 19:27:46 +0000286 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
Olivier Martinf6755902014-03-05 04:15:44 +0000287
Olivier Martin785e3cf2014-03-24 15:29:50 +0000288 # Drivers
289 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
Olivier Martin46f2c532014-04-24 19:29:11 +0000290 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf
Olivier Martinf6342442015-05-11 17:50:27 +0000291 EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf
Olivier Martin785e3cf2014-03-24 15:29:50 +0000292
Olivier Martin35a3e762014-03-01 11:01:44 +0000293[Components.IA32, Components.X64, Components.IPF, Components.ARM]
294 EmbeddedPkg/GdbStub/GdbStub.inf