blob: 8a58b9b1217c068d0b39fc87a26a3e49f65f0bef [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>
Olivier Martin35a3e762014-03-01 11:01:44 +00006# Copyright (c) 2012-2014, 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 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000063
oliviermartin1e57a462013-01-25 11:28:06 +000064 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000065
oliviermartin1e57a462013-01-25 11:28:06 +000066 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
67 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
68 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
69 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
70 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000071
Ronald Cron9db0a772014-10-27 10:44:30 +000072 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
oliviermartind38c35f2013-03-12 00:40:11 +000073 SerialPortExtLib|EmbeddedPkg/Library/TemplateSerialPortExtLib/TemplateSerialPortExtLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000074 RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
75 EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
76 GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
77
78
79 #
80 # Need to change this for IPF
81 #
82 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000083
oliviermartin1e57a462013-01-25 11:28:06 +000084 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
85 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
86 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
87 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
88 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
89 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
90 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
91
92 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
93 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
94 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
95
oliviermartin1e57a462013-01-25 11:28:06 +000096 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
97 EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
Olivier Martinfebad022014-08-20 11:38:45 +000098
oliviermartin1e57a462013-01-25 11:28:06 +000099 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
Olivier Martinf6755902014-03-05 04:15:44 +0000100
Olivier Martin33562112015-01-23 15:59:27 +0000101 AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
Olivier Martinf6755902014-03-05 04:15:44 +0000102 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000103
Olivier Martin46f2c532014-04-24 19:29:11 +0000104 # Networking Requirements
105 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
106 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000107 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
Olivier Martin46f2c532014-04-24 19:29:11 +0000108
oliviermartin1e57a462013-01-25 11:28:06 +0000109[LibraryClasses.common.DXE_DRIVER]
110 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
111 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
112
113
114[LibraryClasses.common.UEFI_APPLICATION]
115 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
116 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
117
118[LibraryClasses.common.UEFI_DRIVER]
119 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
120 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000121
oliviermartin1e57a462013-01-25 11:28:06 +0000122[LibraryClasses.common.SEC]
123 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
124
Olivier Martin35a3e762014-03-01 11:01:44 +0000125[LibraryClasses.ARM, LibraryClasses.AARCH64]
Olivier Martinf6755902014-03-05 04:15:44 +0000126 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
127 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
128 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000129 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000130 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
131
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +0000132 # Add support for GCC stack protector
133 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
134
Olivier Martinf6755902014-03-05 04:15:44 +0000135[LibraryClasses.ARM]
136 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
137
138[LibraryClasses.AARCH64]
139 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
140
oliviermartin1e57a462013-01-25 11:28:06 +0000141
142################################################################################
143#
144# Pcd Section - list of all PCD Entries defined by this Platform
145#
146################################################################################
147
148[PcdsFeatureFlag.common]
149 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
150 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
151 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
152 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
Ronald Cron3402aac2014-08-19 13:29:52 +0000153
oliviermartin1e57a462013-01-25 11:28:06 +0000154 #
155 # Control what commands are supported from the UI
156 # Turn these on and off to add features or save size
Ronald Cron3402aac2014-08-19 13:29:52 +0000157 #
oliviermartin1e57a462013-01-25 11:28:06 +0000158 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
159 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
160 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
161 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
162 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
163 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
164 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
Ronald Cron3402aac2014-08-19 13:29:52 +0000165
oliviermartin1e57a462013-01-25 11:28:06 +0000166 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
167
168
169[PcdsFixedAtBuild.common]
170 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
171 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
172 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
173 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
174 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
175 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
176 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
177 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
178 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
179 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
180 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
181 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
182 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
183 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
184 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
185 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
Olivier Martin8f12aa72013-08-23 18:21:46 +0000186 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L""
oliviermartin1e57a462013-01-25 11:28:06 +0000187 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
188 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
Ronald Cron3402aac2014-08-19 13:29:52 +0000189
oliviermartin1e57a462013-01-25 11:28:06 +0000190 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0
191 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
192 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
193
194#
195# Optinal feature to help prevent EFI memory map fragments
196# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
Ronald Cron3402aac2014-08-19 13:29:52 +0000197# Values are in EFI Pages (4K). DXE Core will make sure that
198# at least this much of each type of memory can be allocated
oliviermartin1e57a462013-01-25 11:28:06 +0000199# from a single memory range. This way you only end up with
200# maximum of two fragements for each type in the memory map
201# (the memory used, and the free memory that was prereserved
202# but not used).
203#
204 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
205 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
206 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
207 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0
208 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0
209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0
210 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0
211 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0
212 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
213
214#
215# Timer config for this platform
216#
217 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000
218 gEmbeddedTokenSpaceGuid.PcdTimerVector|7
219 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
220
oliviermartin1e57a462013-01-25 11:28:06 +0000221[PcdsFixedAtBuild.IPF]
222 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000
223
224#
225# This makes it so you can source level debug with NT32. VC++ debugger limitiation!
226#
227#[BuildOptions]
228# DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE
229# RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096
230# *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006
231
Olivier Martinf6755902014-03-05 04:15:44 +0000232[BuildOptions]
233 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
234
oliviermartin1e57a462013-01-25 11:28:06 +0000235
236################################################################################
237#
238# Components Section - list of all Modules needed by this Platform
239#
240################################################################################
241[Components.common]
Ronald Cron3402aac2014-08-19 13:29:52 +0000242 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000243 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
244 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +0000245 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
246 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000247 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
248 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
Ronald Cron9db0a772014-10-27 10:44:30 +0000249 MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
Olivier Martinee1c2b72014-09-18 21:18:22 +0000250 EmbeddedPkg/Library/SerialPortExtLibNull/SerialPortExtLibNull.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000251 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
252 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
253 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
254 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
255
256 EmbeddedPkg/Ebl/Ebl.inf
257#### EmbeddedPkg/EblExternCmd/EblExternCmd.inf
258 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000259 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
260 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
261 EmbeddedPkg/SerialDxe/SerialDxe.inf
262 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
263 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
264
265 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000266
Ronald Cron158497a2015-02-25 19:20:57 +0000267 # FDT installation
Ard Biesheuvel1e9b2bd2014-09-09 17:59:19 +0000268 EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf
Ronald Cron158497a2015-02-25 19:20:57 +0000269 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
Ard Biesheuvel1e9b2bd2014-09-09 17:59:19 +0000270
Olivier Martinf6755902014-03-05 04:15:44 +0000271 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
Olivier Martind3f99772014-03-05 04:51:31 +0000272 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
Brendan Jackman4d6e1e52014-04-24 19:27:46 +0000273 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
Olivier Martinf6755902014-03-05 04:15:44 +0000274
Olivier Martin785e3cf2014-03-24 15:29:50 +0000275 # Drivers
276 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
Olivier Martin46f2c532014-04-24 19:29:11 +0000277 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf
Olivier Martin785e3cf2014-03-24 15:29:50 +0000278
Olivier Martin35a3e762014-03-01 11:01:44 +0000279[Components.IA32, Components.X64, Components.IPF, Components.ARM]
280 EmbeddedPkg/GdbStub/GdbStub.inf