]> git.proxmox.com Git - mirror_edk2.git/blob - EmbeddedPkg/EmbeddedPkg.dsc
EmbeddedPkg/FdtPlatformDxe: Add 'setfdt' EFI Shell command
[mirror_edk2.git] / EmbeddedPkg / EmbeddedPkg.dsc
1 #/** @file
2 # Embedded Package
3 #
4 #
5 # Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
6 # Copyright (c) 2012-2014, ARM Ltd. All rights reserved.<BR>
7 #
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
29 SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM|AARCH64
30 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
53
54 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
61
62 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
63
64 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
65
66 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
71
72 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
73 SerialPortExtLib|EmbeddedPkg/Library/TemplateSerialPortExtLib/TemplateSerialPortExtLib.inf
74 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
83
84 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
96 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
97 EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
98
99 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
100
101 AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
102 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
103
104 # Shell libraries
105 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
106 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
107 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
108
109 # Networking Requirements
110 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
111 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
112 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
113
114 [LibraryClasses.common.DXE_DRIVER]
115 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
116 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
117
118
119 [LibraryClasses.common.UEFI_APPLICATION]
120 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
121 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
122
123 [LibraryClasses.common.UEFI_DRIVER]
124 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
125 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
126
127 [LibraryClasses.common.SEC]
128 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
129
130 [LibraryClasses.ARM, LibraryClasses.AARCH64]
131 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
132 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
133 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
134 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
135 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
136
137 # Add support for GCC stack protector
138 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
139
140 [LibraryClasses.ARM]
141 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
142
143 [LibraryClasses.AARCH64]
144 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
145
146
147 ################################################################################
148 #
149 # Pcd Section - list of all PCD Entries defined by this Platform
150 #
151 ################################################################################
152
153 [PcdsFeatureFlag.common]
154 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
155 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
156 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
157 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
158
159 #
160 # Control what commands are supported from the UI
161 # Turn these on and off to add features or save size
162 #
163 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
164 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
165 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
166 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
167 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
168 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
169 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
170
171 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
172
173
174 [PcdsFixedAtBuild.common]
175 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
176 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
177 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
178 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
179 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
180 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
181 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
182 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
183 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
184 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
185 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
186 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
187 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
188 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
189 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
190 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
191 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L""
192 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
193 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
194
195 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0
196 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
197 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
198
199 #
200 # Optinal feature to help prevent EFI memory map fragments
201 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
202 # Values are in EFI Pages (4K). DXE Core will make sure that
203 # at least this much of each type of memory can be allocated
204 # from a single memory range. This way you only end up with
205 # maximum of two fragements for each type in the memory map
206 # (the memory used, and the free memory that was prereserved
207 # but not used).
208 #
209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
210 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
211 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
212 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0
213 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0
214 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0
215 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0
216 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0
217 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
218
219 #
220 # Timer config for this platform
221 #
222 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000
223 gEmbeddedTokenSpaceGuid.PcdTimerVector|7
224 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
225
226 [PcdsFixedAtBuild.IPF]
227 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000
228
229 #
230 # This makes it so you can source level debug with NT32. VC++ debugger limitiation!
231 #
232 #[BuildOptions]
233 # DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE
234 # RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096
235 # *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006
236
237 [BuildOptions]
238 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
239
240
241 ################################################################################
242 #
243 # Components Section - list of all Modules needed by this Platform
244 #
245 ################################################################################
246 [Components.common]
247 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
248 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
249 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
250 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
251 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
252 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
253 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
254 MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
255 EmbeddedPkg/Library/SerialPortExtLibNull/SerialPortExtLibNull.inf
256 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
257 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
258 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
259 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
260
261 EmbeddedPkg/Ebl/Ebl.inf
262 #### EmbeddedPkg/EblExternCmd/EblExternCmd.inf
263 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
264 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
265 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
266 EmbeddedPkg/SerialDxe/SerialDxe.inf
267 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
268 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
269
270 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
271
272 # FDT installation
273 EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf
274 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
275
276 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
277 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
278 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
279
280 # Drivers
281 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
282 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf
283
284 [Components.IA32, Components.X64, Components.IPF, Components.ARM]
285 EmbeddedPkg/GdbStub/GdbStub.inf