1# 2# Copyright (c) 2014-2015, Linaro Limited. All rights reserved. 3# Copyright (c) 2014-2015, Hisilicon Limited. All rights reserved. 4# 5# This program and the accompanying materials 6# are licensed and made available under the terms and conditions of the BSD License 7# which accompanies this distribution. The full text of the license may be found at 8# http://opensource.org/licenses/bsd-license.php 9# 10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12# 13 14################################################################################ 15# 16# Defines Section - statements that will be processed to create a Makefile. 17# 18################################################################################ 19[Defines] 20 PLATFORM_NAME = HiKey 21 PLATFORM_GUID = 8edf1480-da5c-4857-bc02-7530bd8e7b7a 22 PLATFORM_VERSION = 0.2 23 DSC_SPECIFICATION = 0x00010005 24 OUTPUT_DIRECTORY = Build/HiKey 25 SUPPORTED_ARCHITECTURES = AARCH64 26 BUILD_TARGETS = DEBUG|RELEASE 27 SKUID_IDENTIFIER = DEFAULT 28 FLASH_DEFINITION = OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.fdf 29 30[LibraryClasses.common] 31!if $(TARGET) == RELEASE 32 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf 33!else 34 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf 35!endif 36 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf 37 38 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf 39 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf 40 ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf 41 ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf 42 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf 43 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf 44 45 ArmPlatformLib|OpenPlatformPkg/Platforms/Hisilicon/HiKey/Library/HiKeyLib/HiKeyLib.inf 46 ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf 47 ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf 48 49 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf 50 BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf 51 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf 52 CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf 53 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 54 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf 55 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf 56 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf 57 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf 58 EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf 59 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 60 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf 61 62 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 63 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf 64 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 65 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 66 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf 67 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf 68 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf 69 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 70 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf 71 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf 72 73 PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf 74 SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf 75 RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf 76 77 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 78 79 # 80 # Assume everything is fixed at build 81 # 82 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 83 84 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf 85 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf 86 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 87 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf 88 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 89 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf 90 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf 91 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf 92 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf 93 94 # USB Requirements 95 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf 96 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf 97 98 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf 99 100 # Network Libraries 101 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf 102 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 103 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf 104 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf 105 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf 106 107[LibraryClasses.AARCH64] 108 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf 109 ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf 110 111[LibraryClasses.common.SEC] 112 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf 113 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 114 LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf 115 MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf 116 HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf 117 PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf 118 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf 119 PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf 120 MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf 121 ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf 122 123[LibraryClasses.common.DXE_CORE] 124 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf 125 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 126 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf 127 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf 128 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf 129 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 130 131[LibraryClasses.common.UEFI_DRIVER] 132 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 133 134[LibraryClasses.common.DXE_DRIVER] 135 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 136 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 137 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 138 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf 139 140[LibraryClasses.common.DXE_RUNTIME_DRIVER] 141 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf 142 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 143 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 144 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 145 146[BuildOptions] 147 GCC:*_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/MdeModulePkg/Include -I$(WORKSPACE)/OpenPlatformPkg/Include -I$(WORKSPACE)/OpenPlatformPkg/Chips/Hisilicon/Hi6220/Include -I$(WORKSPACE)/OpenPlatformPkg/Platforms/Hisilicon/HiKey/Include 148 149[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] 150 GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000 151 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000 152 153################################################################################ 154# 155# Pcd Section - list of all EDK II PCD Entries defined by this Platform 156# 157################################################################################ 158 159[PcdsFeatureFlag.common] 160 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE 161 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE 162 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE 163 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE 164 165 # 166 # Control what commands are supported from the UI 167 # Turn these on and off to add features or save size 168 # 169 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE 170 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE 171 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE 172 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE 173 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE 174 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE 175 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE 176 177 gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE 178 179 # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress 180 gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE 181 182 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE 183 184 gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE 185 186 ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. 187 # It could be set FALSE to save size. 188 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE 189 190 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE 191 192[PcdsFixedAtBuild.common] 193 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000 194 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000 195 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000 196 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000 197 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF 198 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1 199 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0 200 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320 201 202 # DEBUG_ASSERT_ENABLED 0x01 203 # DEBUG_PRINT_ENABLED 0x02 204 # DEBUG_CODE_ENABLED 0x04 205 # CLEAR_MEMORY_ENABLED 0x08 206 # ASSERT_BREAKPOINT_ENABLED 0x10 207 # ASSERT_DEADLOOP_ENABLED 0x20 208!if $(TARGET) == RELEASE 209 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21 210!else 211 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f 212!endif 213 214 # DEBUG_INIT 0x00000001 // Initialization 215 # DEBUG_WARN 0x00000002 // Warnings 216 # DEBUG_LOAD 0x00000004 // Load events 217 # DEBUG_FS 0x00000008 // EFI File system 218 # DEBUG_POOL 0x00000010 // Alloc & Free's 219 # DEBUG_PAGE 0x00000020 // Alloc & Free's 220 # DEBUG_INFO 0x00000040 // Verbose 221 # DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers 222 # DEBUG_VARIABLE 0x00000100 // Variable 223 # DEBUG_BM 0x00000400 // Boot Manager 224 # DEBUG_BLKIO 0x00001000 // BlkIo Driver 225 # DEBUG_NET 0x00004000 // SNI Driver 226 # DEBUG_UNDI 0x00010000 // UNDI Driver 227 # DEBUG_LOADFILE 0x00020000 // UNDI Driver 228 # DEBUG_EVENT 0x00080000 // Event messages 229 # DEBUG_GCD 0x00100000 // Global Coherency Database changes 230 # DEBUG_CACHE 0x00200000 // Memory range cachability changes 231 # DEBUG_ERROR 0x80000000 // Error 232 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F 233 234 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 235 236 # 237 # Optional feature to help prevent EFI memory map fragments 238 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob 239 # Values are in EFI Pages (4K). DXE Core will make sure that 240 # at least this much of each type of memory can be allocated 241 # from a single memory range. This way you only end up with 242 # maximum of two fragements for each type in the memory map 243 # (the memory used, and the free memory that was prereserved 244 # but not used). 245 # 246 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0 247 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0 248 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0 249 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80 250 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65 251 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400 252 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000 253 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20 254 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 255 256 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|"" 257 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 258 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000 259 260 gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"hikey" 261 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"Alpha" 262 gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"HiKey" 263 264 # 265 # NV Storage PCDs. 266 # 267 gBlockVariableDxeTokenSpaceGuid.PcdNvStorageVariableBlockCount|0x00001000 268 gBlockVariableDxeTokenSpaceGuid.PcdNvStorageVariableBlockSize|0x00000200 269 gBlockVariableDxeTokenSpaceGuid.PcdNvStorageVariableBlockLba|0x00006000 270 gBlockVariableDxeTokenSpaceGuid.PcdNvStorageVariableBlockDevicePath|L"VenHw(B549F005-4BD4-4020-A0CB-06F42BDA68C3)/HD(5,GPT,00354BCD-BBCB-4CB3-B5AE-CDEFCB5DAC43)" 271 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x30000000 272 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000 273 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x30010000 274 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000 275 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x30020000 276 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000 277 278 # System Memory (1GB) 279 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00000000 280 gArmTokenSpaceGuid.PcdSystemMemorySize|0x3E000000 281 282 # HiKey Dual-Cluster profile 283 gArmPlatformTokenSpaceGuid.PcdCoreCount|8 284 gArmPlatformTokenSpaceGuid.PcdClusterCount|2 285 286 gArmTokenSpaceGuid.PcdVFPEnabled|1 287 288 # 289 # ARM Pcds 290 # 291 gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000 292 293 # 294 # ARM PrimeCell 295 # 296 297 ## PL011 - Serial Terminal 298 DEFINE SERIAL_BASE = 0xF7113000 # UART3 299 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|$(SERIAL_BASE) 300 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 301 gArmPlatformTokenSpaceGuid.PL011UartInteger|10 302 gArmPlatformTokenSpaceGuid.PL011UartFractional|26 303 304 ## PL031 RealTimeClock 305 gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0xF8003000 306 307 # 308 # ARM General Interrupt Controller 309 # 310 gArmTokenSpaceGuid.PcdGicDistributorBase|0xF6801000 311 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xF6802000 312 313 # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut) 314 gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)" 315 gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()" 316 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10 317 318 # 319 # ARM Architectural Timer Frequency 320 # 321 gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|1200000 322 gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000 323 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 324 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms 325 326 # 327 # DW MMC/SD card controller 328 # 329 gDwEmmcDxeTokenSpaceGuid.PcdDwEmmcDxeBaseAddress|0xF723D000 330 gDwEmmcDxeTokenSpaceGuid.PcdDwEmmcDxeClockFrequencyInHz|100000000 331 gDwSdDxeTokenSpaceGuid.PcdDwSdDxeBaseAddress|0xF723E000 332 gDwSdDxeTokenSpaceGuid.PcdDwSdDxeClockFrequencyInHz|24000000 333 334 # 335 # DW USB controller 336 # 337 gDwUsbDxeTokenSpaceGuid.PcdDwUsbDxeBaseAddress|0xF72C0000 338 339 # 340 # Fastboot 341 # 342 gEmbeddedTokenSpaceGuid.PcdAndroidFastbootUsbVendorId|0x18d1 343 gEmbeddedTokenSpaceGuid.PcdAndroidFastbootUsbProductId|0xd00d 344 gHiKeyTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(b549f005-4bd4-4020-a0cb-06f42bda68c3)" 345 # Flash limit 128M/time, for memory concern 346 gHiKeyTokenSpaceGuid.PcdArmFastbootFlashLimit|"134217728" 347 348 # 349 # HiKey Boot Image 350 # 351 gHiKeyTokenSpaceGuid.PcdBootImagePath|L"VenHw(B549F005-4BD4-4020-A0CB-06F42BDA68C3)/HD(6,GPT,5C0F213C-17E1-4149-88C8-8B50FB4EC70E)" 352 353[PcdsDynamicDefault.common] 354 # 355 # The size of a dynamic PCD of the (VOID*) type can not be increased at run 356 # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128 357 # character "empty" string, to allow to be able to set FDT text device paths 358 # up to 128 characters long. 359 # 360 gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" " 361 362################################################################################ 363# 364# Components Section - list of all EDK II Modules needed by this Platform 365# 366################################################################################ 367[Components.common] 368 # 369 # PEI Phase modules 370 # 371 ArmPlatformPkg/PrePi/PeiMPCore.inf 372 373 # 374 # DXE 375 # 376 MdeModulePkg/Core/Dxe/DxeMain.inf { 377 <LibraryClasses> 378 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 379 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf 380 } 381 382 # 383 # Architectural Protocols 384 # 385 ArmPkg/Drivers/CpuDxe/CpuDxe.inf 386 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 387 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 388 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 389 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf 390 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 391 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 392 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf 393 394 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 395 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 396 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 397 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 398 399 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf 400 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { 401 <LibraryClasses> 402 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf 403 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf 404 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf 405 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf 406 } 407 OpenPlatformPkg/Drivers/Variable/BlockVariableDxe/BlockVariableDxe.inf 408 409 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 410 411 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf 412 ArmPkg/Drivers/TimerDxe/TimerDxe.inf 413 414 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 415 416 # 417 # GPIO 418 # 419 ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf 420 OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKeyGpio/HiKeyGpio.inf 421 422 # 423 # MMC/SD 424 # 425 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf 426 OpenPlatformPkg/Drivers/Mmc/DwEmmcDxe/DwEmmcDxe.inf 427 OpenPlatformPkg/Drivers/Mmc/DwSdDxe/DwSdDxe.inf 428 429 # 430 # USB Host Support 431 # 432 OpenPlatformPkg/Drivers/Usb/DwUsbHostDxe/DwUsbHostDxe.inf 433 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 434 435 # 436 # USB Mass Storage Support 437 # 438 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 439 440 # 441 # USB Peripheral Support 442 # 443 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf 444 OpenPlatformPkg/Drivers/Usb/DwUsbDxe/DwUsbDxe.inf 445 446 # 447 # Fastboot 448 # 449 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf 450 OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKeyFastbootDxe/HiKeyFastbootDxe.inf 451 452 # 453 # UEFI Network Stack 454 # 455 MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf 456 MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf 457 MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf 458 MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf 459 MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf 460 MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf 461 MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf 462 MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf 463 MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf 464 465 # 466 # AX88772 Ethernet Driver 467 # 468 OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772b.inf 469 470 # 471 # FAT filesystem + GPT/MBR partitioning 472 # 473 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 474 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 475 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 476 477 # 478 # Bds 479 # 480 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 481 ArmPlatformPkg/Bds/Bds.inf 482 483 # 484 # Legacy Linux Loader 485 # 486 ArmPkg/Application/LinuxLoader/LinuxLoader.inf { 487 <LibraryClasses> 488 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf 489 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf 490 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf 491 } 492 493 # 494 # HiKey Platform 495 # 496 OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.inf 497