• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#/** @file
2# Embedded Package
3#
4#
5# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
6# Copyright (c) 2012-2015, ARM Ltd. All rights reserved.<BR>
7# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
8#
9#    This program and the accompanying materials
10#    are licensed and made available under the terms and conditions of the BSD License
11#    which accompanies this distribution. The full text of the license may be found at
12#    http://opensource.org/licenses/bsd-license.php
13#
14#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16#
17#**/
18
19################################################################################
20#
21# Defines Section - statements that will be processed to create a Makefile.
22#
23################################################################################
24[Defines]
25  PLATFORM_NAME                  = Embedded
26  PLATFORM_GUID                  = 8DBB580B-CF89-4D57-95C6-DFE96C44686E
27  PLATFORM_VERSION               = 0.1
28  DSC_SPECIFICATION              = 0x00010005
29  OUTPUT_DIRECTORY               = Build/Embedded
30  SUPPORTED_ARCHITECTURES        = IA32|X64|IPF|ARM|AARCH64
31  BUILD_TARGETS                  = DEBUG|RELEASE
32  SKUID_IDENTIFIER               = DEFAULT
33  FLASH_DEFINITION               = EmbeddedPkg/EmbeddedPkg.fdf
34
35
36################################################################################
37#
38# SKU Identification section - list of all SKU IDs supported by this
39#                              Platform.
40#
41################################################################################
42[SkuIds]
43  0|DEFAULT              # The entry: 0|DEFAULT is reserved and always required.
44
45################################################################################
46#
47# Library Class section - list of all Library Classes needed by this Platform.
48#
49################################################################################
50[LibraryClasses.common]
51#  DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
52  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
53
54
55  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
56  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
57  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
58  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
59  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
60  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
61  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
62
63  ReportStatusCodeLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
64
65  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
66  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
67  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
68  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
69  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
70
71  SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
72  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
81
82  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
94  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
95  EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
96
97  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
98
99  AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
100  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
101
102  # Shell libraries
103  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
104  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
105  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
106
107  # Networking Requirements
108  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
109  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
110  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
111
112  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
113  DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
114
115[LibraryClasses.common.DXE_DRIVER]
116  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
117  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
118
119
120[LibraryClasses.common.UEFI_APPLICATION]
121  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
122  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
123
124[LibraryClasses.common.UEFI_DRIVER]
125  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
126  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
127
128[LibraryClasses.common.SEC]
129  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
130
131[LibraryClasses.ARM, LibraryClasses.AARCH64]
132  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
133  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
134  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
135  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
136  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
137
138  # Add support for GCC stack protector
139  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
140
141  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
142
143################################################################################
144#
145# Pcd Section - list of all PCD Entries defined by this Platform
146#
147################################################################################
148
149[PcdsFeatureFlag.common]
150  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
151  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
152  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
153  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
154
155  #
156  # Control what commands are supported from the UI
157  # Turn these on and off to add features or save size
158  #
159  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
160  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
161  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
162  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
163  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
164  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
165  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
166
167  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
168
169
170[PcdsFixedAtBuild.common]
171  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
172  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
173  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
174  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
175  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
176  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
177  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
178  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
179  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
180  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
181  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
182  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
183  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
184  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
185  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
186  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
187  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L""
188  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
189  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
190
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
197# 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
199# 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
221[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
232[BuildOptions]
233  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
234  *_*_*_CC_FLAGS  = -DDISABLE_NEW_DEPRECATED_INTERFACES
235
236################################################################################
237#
238# Components Section - list of all Modules needed by this Platform
239#
240################################################################################
241[Components.common]
242  EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
243  EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
244  EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
245  EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
246  EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
247  EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
248  EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
249  EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
250  EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
251  EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
252  EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
253  EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
254
255  EmbeddedPkg/Ebl/Ebl.inf
256####  EmbeddedPkg/EblExternCmd/EblExternCmd.inf
257  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
258  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
259  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
260  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
261  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf {
262    <LibraryClasses>
263      TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
264  }
265
266  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
267
268  # FDT installation
269  EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
270    <LibraryClasses>
271      # It depends on BdsLib that depends on TimerLib
272      TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
273  }
274
275  EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf {
276    <LibraryClasses>
277      # It depends on BdsLib that depends on TimerLib
278      TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
279  }
280  EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
281  EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
282
283  # Drivers
284  EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
285  EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf
286  EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf
287
288  EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
289  EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
290  EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
291  EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
292  EmbeddedPkg/Library/FdtLib/FdtLib.inf
293  EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
294  EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
295  EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
296
297  EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
298
299[Components.IA32, Components.X64, Components.IPF, Components.ARM]
300  EmbeddedPkg/GdbStub/GdbStub.inf
301