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 [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 124 125 [LibraryClasses.common.SEC] 126 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 127 128 [LibraryClasses.ARM, LibraryClasses.AARCH64] 129 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf 130 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf 131 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 132 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf 133 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 134 135 # Add support for GCC stack protector 136 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf 137 138 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf 139 140 ################################################################################ 141 # 142 # Pcd Section - list of all PCD Entries defined by this Platform 143 # 144 ################################################################################ 145 146 [PcdsFeatureFlag.common] 147 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE 148 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE 149 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE 150 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE 151 152 # 153 # Control what commands are supported from the UI 154 # Turn these on and off to add features or save size 155 # 156 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE 157 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE 158 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE 159 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE 160 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE 161 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE 162 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE 163 164 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE 165 166 167 [PcdsFixedAtBuild.common] 168 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000 169 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000 170 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000 171 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000 172 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f 173 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 174 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06 175 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF 176 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0 177 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0 178 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 179 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000 180 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320 181 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 182 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 183 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000 184 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L"" 185 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 186 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000 187 188 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0 189 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0 190 191 # 192 # Optinal feature to help prevent EFI memory map fragments 193 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob 194 # Values are in EFI Pages (4K). DXE Core will make sure that 195 # at least this much of each type of memory can be allocated 196 # from a single memory range. This way you only end up with 197 # maximum of two fragements for each type in the memory map 198 # (the memory used, and the free memory that was prereserved 199 # but not used). 200 # 201 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0 202 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0 203 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0 204 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0 205 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0 206 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0 207 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0 208 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0 209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 210 211 # 212 # Timer config for this platform 213 # 214 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000 215 gEmbeddedTokenSpaceGuid.PcdTimerVector|7 216 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 217 218 [PcdsFixedAtBuild.IPF] 219 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000 220 221 # 222 # This makes it so you can source level debug with NT32. VC++ debugger limitiation! 223 # 224 #[BuildOptions] 225 # DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE 226 # RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096 227 # *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006 228 229 [BuildOptions] 230 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security 231 *_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES 232 233 ################################################################################ 234 # 235 # Components Section - list of all Modules needed by this Platform 236 # 237 ################################################################################ 238 [Components.common] 239 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf 240 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf 241 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf 242 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf 243 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf 244 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 245 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf 246 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf 247 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf 248 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf 249 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf 250 251 EmbeddedPkg/Ebl/Ebl.inf 252 #### EmbeddedPkg/EblExternCmd/EblExternCmd.inf 253 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf 254 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 255 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 256 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf 257 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf { 258 <LibraryClasses> 259 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 260 } 261 262 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf 263 264 # FDT installation 265 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { 266 <LibraryClasses> 267 # It depends on BdsLib that depends on TimerLib 268 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 269 } 270 271 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf { 272 <LibraryClasses> 273 # It depends on BdsLib that depends on TimerLib 274 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 275 } 276 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf 277 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf 278 279 # Drivers 280 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf 281 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf 282 EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf 283 284 EmbeddedPkg/Library/AcpiLib/AcpiLib.inf 285 EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf 286 EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf 287 EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf 288 EmbeddedPkg/Library/FdtLib/FdtLib.inf 289 EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf 290 EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf 291 EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf 292 293 [Components.IA32, Components.X64, Components.IPF, Components.ARM] 294 EmbeddedPkg/GdbStub/GdbStub.inf 295