Home | History | Annotate | Download | only in Armada
      1 #Copyright (C) 2016 Marvell International Ltd.
      2 #
      3 #Marvell BSD License Option
      4 #
      5 #If you received this File from Marvell, you may opt to use, redistribute and/or
      6 #modify this File under the following licensing terms.
      7 #Redistribution and use in source and binary forms, with or without modification,
      8 #are permitted provided that the following conditions are met:
      9 #
     10 # * Redistributions of source code must retain the above copyright notice,
     11 # this list of conditions and the following disclaimer.
     12 #
     13 # * Redistributions in binary form must reproduce the above copyright
     14 # notice, this list of conditions and the following disclaimer in the
     15 # documentation and/or other materials provided with the distribution.
     16 #
     17 # * Neither the name of Marvell nor the names of its contributors may be
     18 # used to endorse or promote products derived from this software without
     19 # specific prior written permission.
     20 #
     21 #THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
     22 #ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     23 #WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     24 #DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
     25 #ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     26 #(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     27 #LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     28 #ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     29 #(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     30 #SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31 #
     32 [LibraryClasses.common]
     33   ArmPlatformLib|OpenPlatformPkg/Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf
     34   ComPhyLib|OpenPlatformPkg/Platforms/Marvell/Library/ComPhyLib/ComPhyLib.inf
     35   MppLib|OpenPlatformPkg/Platforms/Marvell/Library/MppLib/MppLib.inf
     36   ParsePcdLib|OpenPlatformPkg/Platforms/Marvell/Library/ParsePcdLib/ParsePcdLib.inf
     37   UtmiPhyLib|OpenPlatformPkg/Platforms/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf
     38 
     39   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
     40   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
     41   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
     42 
     43 # Basic utility libraries
     44   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     45   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
     46   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
     47   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     48   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     49   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
     50   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
     51   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
     52   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
     53   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
     54   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
     55 
     56 # Basic UEFI services libraries
     57   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     58   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
     59   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
     60   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
     61   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
     62   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
     63   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
     64   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
     65   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     66   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     67   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
     68 
     69   # Assume everything is fixed at build. do not use runtime PCD feature
     70   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
     71 
     72   BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
     73 
     74   # ARM Architectural Libraries
     75   CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
     76   DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
     77   CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
     78   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
     79   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
     80   ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
     81   ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
     82   ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
     83   ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
     84   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
     85   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
     86 
     87   # Serial port libraries
     88   SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
     89   PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
     90 
     91   # Reset and Time libraries
     92   RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
     93   EfiResetSystemLib|OpenPlatformPkg/Platforms/Marvell/Library/ResetSystemLib/MvResetSystemLib.inf
     94 
     95   # Network support
     96   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
     97   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
     98   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
     99   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
    100 
    101   # These libraries are used by the dynamic EFI Shell commands
    102   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
    103   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
    104   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
    105 
    106   # EBL Related Libraries
    107   EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
    108   EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
    109   EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
    110   EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
    111 
    112   #
    113   # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
    114   # in the debugger will show load and unload commands for symbols. You can cut and paste this
    115   # into the command window to load symbols. We should be able to use a script to do this, but
    116   # the version of RVD I have does not support scripts accessing system memory.
    117   #
    118   #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
    119   PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
    120   #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
    121 
    122   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
    123   DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
    124   # SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
    125 
    126   # BDS Libraries
    127   BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
    128   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
    129   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
    130   PlatformBdsLib|ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
    131   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
    132   FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
    133 
    134 [LibraryClasses.AARCH64]
    135   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
    136   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
    137   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
    138   ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
    139   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
    140 
    141 [LibraryClasses.common.SEC]
    142   DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
    143   DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
    144 
    145   PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
    146   ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
    147   LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    148   MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
    149   HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
    150   PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
    151   PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
    152   ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
    153 
    154 [LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
    155   MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
    156   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
    157 
    158 [LibraryClasses.common.DXE_CORE]
    159   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
    160   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
    161   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    162   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    163   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    164   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    165   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    166   PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
    167 
    168 [LibraryClasses.common.DXE_DRIVER]
    169   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    170   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    171   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
    172   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    173   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    174   NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
    175 
    176 [LibraryClasses.common.UEFI_APPLICATION]
    177   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    178   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    179   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    180   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
    181 
    182 [LibraryClasses.common.UEFI_DRIVER]
    183   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    184   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    185   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    186   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    187   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    188 
    189 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
    190   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    191   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    192   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    193   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
    194 
    195 [LibraryClasses.ARM, LibraryClasses.AARCH64]
    196   #
    197   # It is not possible to prevent the ARM compiler for generic intrinsic functions.
    198   # This library provides the instrinsic functions generate by a given compiler.
    199   # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
    200   #
    201   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
    202 
    203   # Add support for GCC stack protector
    204   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
    205 
    206 ################################################################################
    207 #
    208 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
    209 #
    210 ################################################################################
    211 
    212 [PcdsFeatureFlag.common]
    213   gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
    214   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
    215   gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
    216   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
    217 
    218   #
    219   # Control what commands are supported from the UI
    220   # Turn these on and off to add features or save size
    221   #
    222   gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
    223   gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
    224   gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
    225   gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
    226   gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
    227   gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
    228   gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
    229 
    230   gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
    231 
    232   # Use the Vector Table location in CpuDxe.
    233   # We will not copy the Vector Table at PcdCpuVectorBaseAddress
    234   gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
    235 
    236   gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
    237 
    238   # If TRUE, Graphics Output Protocol will be installed on virtual
    239   # handle created by ConsplitterDxe. It could be set FALSE to save size.
    240   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
    241   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
    242 
    243   # USB support
    244   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
    245 
    246 [PcdsFixedAtBuild.common]
    247   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Marvell"
    248   gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"MARVELL_EFI"
    249   gArmPlatformTokenSpaceGuid.PcdCoreCount|4
    250 
    251   ## Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
    252   gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
    253   gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
    254 
    255   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"Marvell>> "
    256   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
    257   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
    258   gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
    259   gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
    260   gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
    261   gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
    262   gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
    263   gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
    264   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
    265   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
    266 
    267   # Required for Intel BDS
    268   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
    269   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
    270 
    271   # ARM Generic Interrupt Controller
    272   gArmTokenSpaceGuid.PcdGicDistributorBase|0xF0210000
    273   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xF0220000
    274 
    275   # ARM Architectural Timer Support
    276   gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|25000000
    277   gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000
    278 
    279   # ARM SBSA Watchdog
    280   gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0xF0620000
    281   gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0xF0600000
    282   gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|34
    283 
    284   # Serial
    285   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
    286   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
    287   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0xF0512000
    288   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|115200
    289   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|200000000
    290   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
    291 
    292   # RamDisk
    293   gOpenPlatformTokenSpaceGuid.PcdRamDiskMaxSize|64
    294 
    295   # DEBUG_ASSERT_ENABLED       0x01
    296   # DEBUG_PRINT_ENABLED        0x02
    297   # DEBUG_CODE_ENABLED         0x04
    298   # CLEAR_MEMORY_ENABLED       0x08
    299   # ASSERT_BREAKPOINT_ENABLED  0x10
    300   # ASSERT_DEADLOOP_ENABLED    0x20
    301 
    302   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
    303 
    304   #  DEBUG_INIT      0x00000001  // Initialization
    305   #  DEBUG_WARN      0x00000002  // Warnings
    306   #  DEBUG_LOAD      0x00000004  // Load events
    307   #  DEBUG_FS        0x00000008  // EFI File system
    308   #  DEBUG_POOL      0x00000010  // Alloc & Free (pool)
    309   #  DEBUG_PAGE      0x00000020  // Alloc & Free (page)
    310   #  DEBUG_INFO      0x00000040  // Informational debug messages
    311   #  DEBUG_DISPATCH  0x00000080  // PEI/DXE/SMM Dispatchers
    312   #  DEBUG_VARIABLE  0x00000100  // Variable
    313   #  DEBUG_BM        0x00000400  // Boot Manager
    314   #  DEBUG_BLKIO     0x00001000  // BlkIo Driver
    315   #  DEBUG_NET       0x00004000  // SNP Driver
    316   #  DEBUG_UNDI      0x00010000  // UNDI Driver
    317   #  DEBUG_LOADFILE  0x00020000  // LoadFile
    318   #  DEBUG_EVENT     0x00080000  // Event messages
    319   #  DEBUG_GCD       0x00100000  // Global Coherency Database changes
    320   #  DEBUG_CACHE     0x00200000  // Memory range cachability changes
    321   #  DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
    322   #                              // significantly impact boot performance
    323   #  DEBUG_ERROR     0x80000000  // Error
    324 
    325 !if $(TARGET) == RELEASE
    326   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
    327 !else
    328   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
    329 !endif
    330   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
    331 
    332   gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
    333   gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
    334   gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
    335 
    336   #
    337   # Optional feature to help prevent EFI memory map fragments
    338   # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
    339   # Values are in EFI Pages (4K). DXE Core will make sure that
    340   # at least this much of each type of memory can be allocated
    341   # from a single memory range. This way you only end up with
    342   # maximum of two fragements for each type in the memory map
    343   # (the memory used, and the free memory that was prereserved
    344   # but not used).
    345   #
    346   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
    347   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
    348   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
    349   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|50
    350   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|20
    351   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
    352   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
    353   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
    354   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
    355 
    356   # We want to use the Shell Libraries but don't want it to initialise
    357   # automatically. We initialise the libraries when the command is called by the
    358   # Shell.
    359   gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    360 
    361   # ARM Pcds
    362   gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000
    363   gArmTokenSpaceGuid.PcdSystemMemoryBase|0
    364   gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000
    365   gArmTokenSpaceGuid.PcdArmScr|0x531
    366 
    367 ################################################################################
    368 #
    369 # Components Section - list of all EDK II Modules needed by this Platform
    370 #
    371 ################################################################################
    372 [Components.common]
    373 
    374   # PEI Phase modules
    375   ArmPlatformPkg/PrePi/PeiMPCore.inf
    376 
    377   # DXE
    378   MdeModulePkg/Core/Dxe/DxeMain.inf {
    379     <LibraryClasses>
    380       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    381       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
    382   }
    383 
    384   # Architectural Protocols DXE
    385   ArmPkg/Drivers/CpuDxe/CpuDxe.inf
    386   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
    387   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
    388   ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
    389 
    390   # Platform drivers
    391   OpenPlatformPkg/Drivers/I2c/MvI2cDxe/MvI2cDxe.inf
    392   MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf
    393   OpenPlatformPkg/Drivers/I2c/Devices/MvEeprom/MvEeprom.inf
    394   OpenPlatformPkg/Drivers/Spi/MvSpiDxe.inf
    395   OpenPlatformPkg/Drivers/Spi/Devices/MvSpiFlash.inf
    396 
    397   # Network support
    398   MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
    399   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
    400   MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
    401   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
    402   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
    403   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
    404   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
    405   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
    406   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
    407   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
    408   OpenPlatformPkg/Drivers/Net/MvMdioDxe/MvMdioDxe.inf
    409   OpenPlatformPkg/Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.inf
    410   OpenPlatformPkg/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
    411 
    412   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    413   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    414   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    415   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
    416 
    417   EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
    418   EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
    419   EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
    420   EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
    421 
    422   # PciEmulation
    423   OpenPlatformPkg/Platforms/Marvell/PciEmulation/PciEmulation.inf
    424   MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
    425 
    426   # SCSI
    427   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    428   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    429 
    430   # SATA
    431   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
    432   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
    433   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
    434 
    435   # USB
    436   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
    437   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    438   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    439 
    440   # SD/MMC
    441   MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
    442   MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
    443   OpenPlatformPkg/Drivers/SdMmc/XenonDxe/SdMmcPciHcDxe.inf
    444 
    445   # Console packages
    446   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    447   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    448   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
    449   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    450   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
    451 
    452   # Human interface:
    453   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    454 
    455   # FAT filesystem + GPT/MBR partitioning
    456   OpenPlatformPkg/Drivers/Block/ramdisk/ramdisk.inf
    457   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    458   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    459   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    460 
    461   # Application
    462   EmbeddedPkg/Ebl/Ebl.inf
    463 
    464   # Bds - Use Intel BDS
    465   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    466   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    467   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    468   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
    469 
    470   # UEFI application (Shell Embedded Boot Loader)
    471   ShellPkg/Application/Shell/Shell.inf {
    472     <LibraryClasses>
    473       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
    474       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
    475       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
    476       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
    477       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
    478       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
    479       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
    480       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
    481       NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
    482       NULL|OpenPlatformPkg/Applications/EepromCmd/EepromCmd.inf
    483       NULL|OpenPlatformPkg/Applications/SpiTool/SpiFlashCmd.inf
    484       NULL|OpenPlatformPkg/Applications/FirmwareUpdate/FUpdate.inf
    485       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
    486       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
    487       BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
    488 
    489     <PcdsFixedAtBuild>
    490       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
    491       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    492       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
    493   }
    494