1# 2# Copyright (c) 2016-2017, Linaro Limited. All rights reserved. 3# 4# This program and the accompanying materials 5# are licensed and made available under the terms and conditions of the BSD License 6# which accompanies this distribution. The full text of the license may be found at 7# http://opensource.org/licenses/bsd-license.php 8# 9# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11# 12 13################################################################################ 14# 15# Defines Section - statements that will be processed to create a Makefile. 16# 17################################################################################ 18[Defines] 19 PLATFORM_NAME = HiKey960 20 PLATFORM_GUID = ce90122d-5e18-4016-9030-5376535c81b6 21 PLATFORM_VERSION = 0.1 22 DSC_SPECIFICATION = 0x00010005 23 OUTPUT_DIRECTORY = Build/HiKey960 24 SUPPORTED_ARCHITECTURES = AARCH64 25 BUILD_TARGETS = DEBUG|RELEASE 26 SKUID_IDENTIFIER = DEFAULT 27 FLASH_DEFINITION = OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.fdf 28 29[LibraryClasses.common] 30!if $(TARGET) == RELEASE 31 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf 32!else 33 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf 34!endif 35 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf 36 37 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 38 39 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf 40 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf 41 ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf 42 ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf 43 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf 44 45 ArmPlatformLib|OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Library/HiKey960Lib/HiKey960Lib.inf 46 ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf 47 ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf 48 49 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf 50 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf 51 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 52 CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf 53 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf 54 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 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf 63 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf 64 PlatformBdsLib|OpenPlatformPkg/Chips/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf 65 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf 66 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 67 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 68 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf 69 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf 70 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf 71 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 72 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf 73 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf 74 UsbSerialNumberLib|OpenPlatformPkg/Library/UsbSerialNumberLib/UsbSerialNumberLib.inf 75 76 PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf 77 SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf 78 RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf 79 80 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 81 82 # 83 # Allow dynamic PCDs 84 # 85 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 86 87 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf 88 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf 89 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 90 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf 91 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 92 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf 93 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf 94 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf 95 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf 96 97 # BDS Libraries 98 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf 99 PlatformBootManagerLib|OpenPlatformPkg/Platforms/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 100 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf 101 102 # UiApp dependencies 103 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf 104 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf 105 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 106 107 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf 108 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf 109 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf 110 111 # USB Requirements 112 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf 113 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf 114 115 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf 116 117 # Network Libraries 118 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf 119 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 120 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf 121 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf 122 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf 123 124[LibraryClasses.AARCH64] 125 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf 126 ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf 127 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf 128 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf 129 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf 130 131[LibraryClasses.common.SEC] 132 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 133 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf 134 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 135 MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf 136 HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf 137 PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf 138 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf 139 PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf 140 MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf 141 ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf 142 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf 143 LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf 144 145[LibraryClasses.common.DXE_CORE] 146 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf 147 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 148 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf 149 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf 150 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf 151 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 152 153[LibraryClasses.common.UEFI_DRIVER] 154 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 155 156[LibraryClasses.common.DXE_DRIVER] 157 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 158 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 159 NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf 160 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 161 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf 162 DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf 163 164[LibraryClasses.common.DXE_RUNTIME_DRIVER] 165 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 166 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 167 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 168 169[BuildOptions] 170 GCC:*_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/MdeModulePkg/Include -I$(WORKSPACE)/OpenPlatformPkg/Include -I$(WORKSPACE)/OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Include -I$(WORKSPACE)/EmbeddedPkg/Include 171 172[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] 173 GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000 174 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000 175 176################################################################################ 177# 178# Pcd Section - list of all EDK II PCD Entries defined by this Platform 179# 180################################################################################ 181 182[PcdsFeatureFlag.common] 183 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE 184 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE 185 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE 186 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE 187 188 # 189 # Control what commands are supported from the UI 190 # Turn these on and off to add features or save size 191 # 192 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE 193 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE 194 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE 195 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE 196 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE 197 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE 198 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE 199 200 gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE 201 202 # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress 203 gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE 204 205 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE 206 207 gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE 208 209 ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. 210 # It could be set FALSE to save size. 211 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE 212 213 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE 214 215[PcdsFixedAtBuild.common] 216 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000 217 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000 218 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000 219 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000 220 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF 221 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1 222 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0 223 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320 224 225 # DEBUG_ASSERT_ENABLED 0x01 226 # DEBUG_PRINT_ENABLED 0x02 227 # DEBUG_CODE_ENABLED 0x04 228 # CLEAR_MEMORY_ENABLED 0x08 229 # ASSERT_BREAKPOINT_ENABLED 0x10 230 # ASSERT_DEADLOOP_ENABLED 0x20 231!if $(TARGET) == RELEASE 232 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21 233!else 234 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f 235!endif 236 237 # DEBUG_INIT 0x00000001 // Initialization 238 # DEBUG_WARN 0x00000002 // Warnings 239 # DEBUG_LOAD 0x00000004 // Load events 240 # DEBUG_FS 0x00000008 // EFI File system 241 # DEBUG_POOL 0x00000010 // Alloc & Free's 242 # DEBUG_PAGE 0x00000020 // Alloc & Free's 243 # DEBUG_INFO 0x00000040 // Verbose 244 # DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers 245 # DEBUG_VARIABLE 0x00000100 // Variable 246 # DEBUG_BM 0x00000400 // Boot Manager 247 # DEBUG_BLKIO 0x00001000 // BlkIo Driver 248 # DEBUG_NET 0x00004000 // SNI Driver 249 # DEBUG_UNDI 0x00010000 // UNDI Driver 250 # DEBUG_LOADFILE 0x00020000 // UNDI Driver 251 # DEBUG_EVENT 0x00080000 // Event messages 252 # DEBUG_GCD 0x00100000 // Global Coherency Database changes 253 # DEBUG_CACHE 0x00200000 // Memory range cachability changes 254 # DEBUG_ERROR 0x80000000 // Error 255 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8008000F 256 257 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 258 259 # 260 # Optional feature to help prevent EFI memory map fragments 261 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob 262 # Values are in EFI Pages (4K). DXE Core will make sure that 263 # at least this much of each type of memory can be allocated 264 # from a single memory range. This way you only end up with 265 # maximum of two fragements for each type in the memory map 266 # (the memory used, and the free memory that was prereserved 267 # but not used). 268 # 269 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0 270 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0 271 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0 272 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80 273 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65 274 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400 275 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000 276 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20 277 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 278 279 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4 280 281 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|"" 282 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 283 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000 284 285 gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"hikey960" 286 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"Alpha" 287 gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"HiKey960" 288 289 # TimerPeriod 290 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|1000 291 292 # System Memory (3GB) 293 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00000000 294 gArmTokenSpaceGuid.PcdSystemMemorySize|0xC0000000 295 296 # HiKey960 Dual-Cluster profile 297 gArmPlatformTokenSpaceGuid.PcdCoreCount|8 298 gArmPlatformTokenSpaceGuid.PcdClusterCount|2 299 300 gArmTokenSpaceGuid.PcdVFPEnabled|1 301 302 # 303 # ARM Pcds 304 # 305 gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000 306 307 # 308 # ARM PrimeCell 309 # 310 311 ## PL011 - Serial Terminal 312 DEFINE SERIAL_BASE = 0xFFF32000 313 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|$(SERIAL_BASE) 314 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 315 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 316 gArmPlatformTokenSpaceGuid.PL011UartInteger|10 317 gArmPlatformTokenSpaceGuid.PL011UartFractional|26 318 319 ## PL011 - Serial Debug UART 320 gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|$(SERIAL_BASE) 321 gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|19200000 322 gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|115200 323 324 ## PL031 RealTimeClock 325 gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0xFFF05000 326 327 # 328 # ARM General Interrupt Controller 329 # 330 gArmTokenSpaceGuid.PcdGicDistributorBase|0xE82B1000 331 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xE82B2000 332 333 # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut) 334 gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)" 335 gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()" 336 337 # GUID of the UEFI Shell 338 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 } 339 340 # GUID of the UI app 341 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 } 342 343 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE 344 345 346 gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000 347 348 # 349 # Ufs 350 # 351 gDwUfsHcDxeTokenSpaceGuid.PcdDwUfsHcDxeBaseAddress|0xFF3B0000 352 353 # 354 # DW USB3 controller 355 # 356 gDwUsb3DxeTokenSpaceGuid.PcdDwUsb3DxeBaseAddress|0xFF100000 357 358 # 359 # 360 # Fastboot 361 # 362 gEmbeddedTokenSpaceGuid.PcdAndroidFastbootUsbVendorId|0x18d1 363 gEmbeddedTokenSpaceGuid.PcdAndroidFastbootUsbProductId|0xd00d 364 gHiKey960TokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00003BFF0000000000)/UFS(0x0,0x3)" 365 # Flash limit 128M/time, for memory concern 366 gHiKey960TokenSpaceGuid.PcdArmFastbootFlashLimit|"134217728" 367 gHiKey960TokenSpaceGuid.PcdXloaderDevicePath|L"VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00003BFF0000000000)/UFS(0x0,0x0)" 368 369 # 370 # Android Loader 371 # 372 gEmbeddedTokenSpaceGuid.PcdAndroidBootDevicePath|L"VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00003BFF0000000000)/UFS(0x0,0x3)/HD(7,GPT,D3340696-9B95-4C64-8DF6-E6D4548FBA41,0x12100,0x4000)" 373 gEmbeddedTokenSpaceGuid.PcdSdBootDevicePath|L"VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00F037FF0000000000)/SD(0x0)" 374 375 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|1 376 377################################################################################ 378# 379# Components Section - list of all EDK II Modules needed by this Platform 380# 381################################################################################ 382[Components.common] 383 # 384 # PEI Phase modules 385 # 386 ArmPlatformPkg/PrePi/PeiUniCore.inf 387 388 # 389 # DXE 390 # 391 MdeModulePkg/Core/Dxe/DxeMain.inf { 392 <LibraryClasses> 393 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 394 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf 395 } 396 397 # 398 # Architectural Protocols 399 # 400 ArmPkg/Drivers/CpuDxe/CpuDxe.inf 401 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 402 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 403 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 404 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf 405 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 406 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 407 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf 408 409 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 410 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 411 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 412 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 413 414 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { 415 <LibraryClasses> 416 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 417 } 418 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf 419 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf 420 421 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 422 423 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf 424 ArmPkg/Drivers/TimerDxe/TimerDxe.inf 425 426 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 427 428 # 429 # GPIO 430 # 431 OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960GpioDxe/HiKey960GpioDxe.inf 432 ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf 433 434 # 435 # Virtual Keyboard 436 # 437 OpenPlatformPkg/Drivers/Keyboard/VirtualKeyboardDxe/VirtualKeyboardDxe.inf 438 439 # 440 # MMC/SD 441 # 442 OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960MmcDxe/HiKey960MmcDxe.inf 443 MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf 444 OpenPlatformPkg/Drivers/SdMmc/DwMmcHcDxe/DwMmcHcDxe.inf 445 MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf 446 447 OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960Dxe/HiKey960Dxe.inf 448 449 # 450 # USB Host Support 451 # 452 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 453 454 # 455 # USB Mass Storage Support 456 # 457 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 458 459 # 460 # UEFI Network Stack 461 # 462 MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf 463 MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf 464 MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf 465 MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf 466 MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf 467 MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf 468 MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf 469 MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf 470 MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf 471 472 # 473 # AX88772 Ethernet Driver 474 # 475 OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772b.inf 476 477 # 478 # Ufs 479 # 480 OpenPlatformPkg/Drivers/Block/DwUfsHcDxe/DwUfsHcDxe.inf 481 MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruDxe.inf 482 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf 483 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf 484 485 # 486 # FAT filesystem + GPT/MBR partitioning 487 # 488 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 489 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 490 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 491 FatPkg/EnhancedFatDxe/Fat.inf 492 493 # DTB 494 EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf 495 496 # 497 # USB Peripheral Support 498 # 499 OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960UsbDxe/HiKey960UsbDxe.inf 500 OpenPlatformPkg/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.inf 501 OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960FastbootDxe/HiKey960FastbootDxe.inf 502 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf 503 504 # 505 # Fastboot 506 # 507 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf { 508 <LibraryClasses> 509 AbootimgLib|EmbeddedPkg/Library/AbootimgLib/AbootimgLib.inf 510 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 511 ZLib|EmbeddedPkg/Library/ZLib/ZLib.inf 512 } 513 514 # 515 # Android Loader 516 # 517 EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf { 518 <LibraryClasses> 519 AbootimgLib|EmbeddedPkg/Library/AbootimgLib/AbootimgLib.inf 520 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 521 ZLib|EmbeddedPkg/Library/ZLib/ZLib.inf 522 } 523 524 # 525 # Bds 526 # 527 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 528 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 529 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf 530 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf 531 MdeModulePkg/Application/UiApp/UiApp.inf { 532 <LibraryClasses> 533 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf 534 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf 535 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf 536 } 537 ShellPkg/Application/Shell/Shell.inf { 538 <LibraryClasses> 539 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf 540 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf 541 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf 542 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf 543 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf 544 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf 545 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf 546 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf 547 NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf 548 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf 549 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 550 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf 551 <PcdsFixedAtBuild> 552 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF 553 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE 554 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 555 } 556