Home | History | Annotate | Download | only in CelloBoard
      1 #
      2 #  Copyright (c) 2015 - 2016, AMD Incorporated. All rights reserved.
      3 #
      4 #  This program and the accompanying materials are licensed and made
      5 #  available under the terms and conditions of the BSD License which
      6 #  accompanies this distribution.  The full text of the license may
      7 #  be found at 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 
     20 DEFINE NUM_CORES = 8
     21 DEFINE DO_KCS    = 0
     22 
     23   PLATFORM_NAME                  = Cello
     24   PLATFORM_GUID                  = 77861b3e-74b0-4ff3-8d18-c5ba5803e1bf
     25   PLATFORM_VERSION               = 0.1
     26   DSC_SPECIFICATION              = 0x00010005
     27   OUTPUT_DIRECTORY               = Build/Cello
     28   SUPPORTED_ARCHITECTURES        = AARCH64
     29   BUILD_TARGETS                  = DEBUG|RELEASE
     30   SKUID_IDENTIFIER               = DEFAULT
     31   FLASH_DEFINITION               = OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.fdf
     32 
     33 ################################################################################
     34 #
     35 # Library Class section - list of all Library Classes needed by this Platform.
     36 #
     37 ################################################################################
     38 [LibraryClasses.common]
     39 !if $(TARGET) == RELEASE
     40   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
     41   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
     42 !else
     43   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
     44   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
     45 !endif
     46   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
     47 
     48   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     49   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
     50   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
     51   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     52   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     53   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
     54   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
     55   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
     56   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
     57   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
     58 
     59   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     60   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
     61   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
     62   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
     63   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
     64   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
     65   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
     66   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
     67   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
     68   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     69   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     70 
     71   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
     72 
     73   #
     74   # Allow dynamic PCDs
     75   #
     76   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
     77   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
     78 
     79   BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
     80 
     81   # Networking Requirements
     82   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
     83   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
     84   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
     85   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
     86 
     87   # ARM Architectural Libraries
     88   CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
     89   DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
     90   CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
     91   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
     92   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
     93   ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
     94   ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
     95   ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
     96   ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
     97   ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
     98   PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
     99 
    100   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
    101   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf
    102   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
    103   ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLib.inf
    104   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
    105   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
    106 
    107   # ARM PL011 UART Driver
    108   PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
    109   SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
    110 
    111   #
    112   # PCI support
    113   #
    114   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
    115   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
    116   PciHostBridgeLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxPciHostBridgeLib/AmdStyxPciHostBridgeLib.inf
    117 
    118   #
    119   # Styx specific libraries
    120   #
    121   AmdSataInit|AmdModulePkg/Library/AmdSataInitLib/AmdSataInitLib.inf
    122   AmdStyxAcpiLib|OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiTables.inf
    123   EfiResetSystemLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/ResetSystemLib/ResetSystemLib.inf
    124   RealTimeClockLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf
    125 
    126   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
    127   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
    128   PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
    129   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
    130 
    131   #
    132   # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
    133   # in the debugger will show load and unload commands for symbols. You can cut and paste this
    134   # into the command window to load symbols. We should be able to use a script to do this, but
    135   # the version of RVD I have does not support scripts accessing system memory.
    136   #
    137   #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
    138   PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
    139   #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
    140 
    141   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
    142   DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
    143 
    144   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    145   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
    146   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
    147 
    148 [LibraryClasses.common.SEC]
    149   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    150   PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
    151   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    152 
    153   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    154   ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLibSec.inf
    155 
    156   ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
    157 
    158   DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
    159   DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
    160 
    161   # Trustzone Support
    162   ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
    163   ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
    164 
    165 [LibraryClasses.common.PEIM, LibraryClasses.common.SEC]
    166   MemoryInitPeiLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/MemoryInitPei/MemoryInitPeiLib.inf
    167   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
    168 
    169 [LibraryClasses.common.PEI_CORE]
    170   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
    171   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    172   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    173   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    174   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
    175   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
    176   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    177   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
    178   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
    179   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    180   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
    181 
    182   PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
    183 
    184 [LibraryClasses.common.PEIM]
    185   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    186   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    187   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    188   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
    189   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
    190   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    191   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
    192   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
    193   PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
    194   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    195   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
    196 
    197   PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
    198 
    199 [LibraryClasses.common.DXE_CORE]
    200   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
    201   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
    202   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    203   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    204   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    205   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    206   PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
    207 
    208 [LibraryClasses.common.DXE_DRIVER]
    209   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    210   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
    211   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    212   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    213   NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
    214 
    215 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
    216   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    217   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    218   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    219   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
    220 
    221 [LibraryClasses.common.UEFI_APPLICATION]
    222   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    223   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    224   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    225   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
    226   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    227 
    228 [LibraryClasses.common.UEFI_DRIVER]
    229   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    230   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    231   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    232   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    233   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    234 
    235 [LibraryClasses.ARM]
    236   #
    237   # It is not possible to prevent the ARM compiler for generic intrinsic functions.
    238   # This library provides the instrinsic functions generate by a given compiler.
    239   # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
    240   #
    241   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
    242 
    243 [LibraryClasses.AARCH64]
    244   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
    245   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
    246 
    247 ###################################################################################################
    248 # BuildOptions Section - Define the module specific tool chain flags that should be used as
    249 #                        the default flags for a module. These flags are appended to any
    250 #                        standard flags that are defined by the build process.
    251 ###################################################################################################
    252 
    253 [BuildOptions]
    254   RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
    255   GCC:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
    256 
    257   *_*_*_ASL_FLAGS               = -tc -li -l -so
    258   *_*_*_ASLPP_FLAGS             = $(ARCHCC_FLAGS)
    259   *_*_*_ASLCC_FLAGS             = $(ARCHCC_FLAGS)
    260 
    261   GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
    262   GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64
    263 
    264   GCC:*_*_AARCH64_PLATFORM_FLAGS = -I$(BIN_DIR)/OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiAml/OUTPUT
    265 
    266 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
    267   GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
    268 
    269 ################################################################################
    270 #
    271 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
    272 #
    273 ################################################################################
    274 
    275 [PcdsFeatureFlag.common]
    276   # All pages are cached by default
    277   gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
    278 
    279   # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
    280   gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
    281 
    282   gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
    283 
    284   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
    285 
    286   ## If TRUE, Graphics Output Protocol will be installed on virtual handle
    287   ## created by ConsplitterDxe. It could be set FALSE to save size.
    288   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE
    289 
    290 [PcdsFixedAtBuild.common]
    291   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
    292   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
    293   gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
    294   gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
    295   gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
    296   gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
    297   gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
    298   gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
    299 
    300   # DEBUG_ASSERT_ENABLED       0x01
    301   # DEBUG_PRINT_ENABLED        0x02
    302   # DEBUG_CODE_ENABLED         0x04
    303   # CLEAR_MEMORY_ENABLED       0x08
    304   # ASSERT_BREAKPOINT_ENABLED  0x10
    305   # ASSERT_DEADLOOP_ENABLED    0x20
    306 !if $(TARGET) == RELEASE
    307   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
    308 !else
    309   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
    310 !endif
    311 
    312   #  DEBUG_INIT      0x00000001  // Initialization
    313   #  DEBUG_WARN      0x00000002  // Warnings
    314   #  DEBUG_LOAD      0x00000004  // Load events
    315   #  DEBUG_FS        0x00000008  // EFI File system
    316   #  DEBUG_POOL      0x00000010  // Alloc & Free's
    317   #  DEBUG_PAGE      0x00000020  // Alloc & Free's
    318   #  DEBUG_INFO      0x00000040  // Verbose
    319   #  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
    320   #  DEBUG_VARIABLE  0x00000100  // Variable
    321   #  DEBUG_BM        0x00000400  // Boot Manager
    322   #  DEBUG_BLKIO     0x00001000  // BlkIo Driver
    323   #  DEBUG_NET       0x00004000  // SNI Driver
    324   #  DEBUG_UNDI      0x00010000  // UNDI Driver
    325   #  DEBUG_LOADFILE  0x00020000  // UNDI Driver
    326   #  DEBUG_EVENT     0x00080000  // Event messages
    327   #  DEBUG_GCD       0x00100000  // Global Coherency Database changes
    328   #  DEBUG_CACHE     0x00200000  // Memory range cachability changes
    329   #  DEBUG_ERROR     0x80000000  // Error
    330   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
    331 
    332   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
    333 
    334   #
    335   # Optional feature to help prevent EFI memory map fragments
    336   # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
    337   # Values are in EFI Pages (4K). DXE Core will make sure that
    338   # at least this much of each type of memory can be allocated
    339   # from a single memory range. This way you only end up with
    340   # maximum of two fragements for each type in the memory map
    341   # (the memory used, and the free memory that was prereserved
    342   # but not used).
    343   #
    344   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
    345   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
    346   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
    347   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|1000
    348   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|1000
    349   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
    350   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
    351   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
    352   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
    353 
    354   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
    355   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
    356   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
    357 
    358   gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"AMD Seattle"
    359 
    360   # Number of configured cores
    361   gArmPlatformTokenSpaceGuid.PcdCoreCount|$(NUM_CORES)
    362 
    363   # Stacks for MPCores in Normal World
    364   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x8001680000
    365   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x10000
    366   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x800
    367 
    368   # Declare system memory base
    369   gArmTokenSpaceGuid.PcdSystemMemoryBase|0x8000000000
    370 
    371   # Size of the region used by UEFI in permanent memory (Reserved 64MB)
    372   gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
    373 
    374   # 40 bits of VA space is sufficient to support up to 512 GB of RAM in the
    375   # range 0x80_0000_0000 - 0xFF_FFFF_FFFF (all platform and PCI MMIO is below
    376   # that)
    377   gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40
    378 
    379   #
    380   # ARM PrimeCell
    381   #
    382 
    383   ## PL011 - Serial Terminal (Atlas UART)
    384   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x0E1010000
    385   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
    386   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
    387   # serial port is clocked at 100MHz
    388   gArmPlatformTokenSpaceGuid.PL011UartClkInHz|100000000
    389   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
    390 
    391   gAmdStyxTokenSpaceGuid.PcdSerialDbgRegisterBase|0x0E1010000
    392   gAmdStyxTokenSpaceGuid.PcdUartDbgBaudRate|115200
    393 
    394   #
    395   # ARM General Interrupt Controller
    396   #
    397   gArmTokenSpaceGuid.PcdGicDistributorBase|0xE1110000
    398   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xE112F000
    399 
    400   #
    401   # ARM Architectual Timer Frequency
    402   #
    403   gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|187500000
    404 
    405   #
    406   # Cello has 2 SATA ports on the first controller.
    407   #
    408   gAmdStyxTokenSpaceGuid.PcdSata0PortCount|2
    409   gAmdStyxTokenSpaceGuid.PcdSata1PortCount|0
    410 
    411   # PCIe Support
    412   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xF0000000
    413 
    414   gArmTokenSpaceGuid.PcdPciBusMin|0x0
    415   gArmTokenSpaceGuid.PcdPciBusMax|0xFF
    416 
    417   gArmTokenSpaceGuid.PcdPciIoBase|0x1000
    418   gArmTokenSpaceGuid.PcdPciIoSize|0xF000
    419   gArmTokenSpaceGuid.PcdPciIoTranslation|0xEFFF0000
    420   gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
    421 
    422   gArmTokenSpaceGuid.PcdPciMmio32Base|0x40000000
    423   gArmTokenSpaceGuid.PcdPciMmio32Size|0x80000000
    424   gArmTokenSpaceGuid.PcdPciMmio32Translation|0x0
    425 
    426   gArmTokenSpaceGuid.PcdPciMmio64Base|0x100000000
    427   gArmTokenSpaceGuid.PcdPciMmio64Size|0x7F00000000
    428   gArmTokenSpaceGuid.PcdPciMmio64Translation|0x0
    429 
    430   ## ACPI (no tables < 4GB)
    431   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
    432 
    433   gAmdStyxTokenSpaceGuid.PcdPsciOsSupport|TRUE
    434   gAmdStyxTokenSpaceGuid.PcdIscpSupport|TRUE
    435 
    436   # SMBIOS 3.0 only
    437   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
    438 
    439   gAmdModulePkgTokenSpaceGuid.PcdSataNumChPerSerdes|2
    440   gAmdModulePkgTokenSpaceGuid.PcdSataSerdesBase|0xE1200000
    441   gAmdModulePkgTokenSpaceGuid.PcdSataSerdesOffset|0x00010000
    442 
    443   # map the stack as non-executable when entering the DXE phase
    444   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
    445 
    446 [PcdsPatchableInModule]
    447 # PCIe Configuration: x4x2x2
    448   gAmdModulePkgTokenSpaceGuid.PcdPcieCoreConfiguration|2
    449   gAmdModulePkgTokenSpaceGuid.PcdPciePort0Present|1
    450   gAmdModulePkgTokenSpaceGuid.PcdPciePort1Present|1
    451   gAmdModulePkgTokenSpaceGuid.PcdPciePort2Present|1
    452   gAmdModulePkgTokenSpaceGuid.PcdPcieHardcodeEnumeration|TRUE
    453 
    454 [PcdsDynamicDefault.common]
    455   gAmdStyxTokenSpaceGuid.PcdSocCoreCount|$(NUM_CORES)
    456   gArmTokenSpaceGuid.PcdSystemMemorySize|0x0400000000
    457 
    458   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0
    459   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0
    460   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0
    461 
    462 [PcdsDynamicExHii.common.DEFAULT]
    463   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
    464 
    465 ################################################################################
    466 #
    467 # Components Section - list of all EDK II Modules needed by this Platform
    468 #
    469 ################################################################################
    470 [Components.common]
    471 
    472   #
    473   # PEI Phase modules
    474   #
    475   ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
    476   MdeModulePkg/Core/Pei/PeiMain.inf
    477   MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
    478     <LibraryClasses>
    479       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    480   }
    481   ArmPlatformPkg/PlatformPei/PlatformPeim.inf
    482   AmdModulePkg/Iscp/IscpPei.inf
    483   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.inf
    484   ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
    485   ArmPkg/Drivers/CpuPei/CpuPei.inf
    486   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
    487   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
    488     <LibraryClasses>
    489       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    490   }
    491 
    492   #
    493   # DXE
    494   #
    495   MdeModulePkg/Core/Dxe/DxeMain.inf {
    496     <LibraryClasses>
    497       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
    498   }
    499   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
    500     <LibraryClasses>
    501       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    502   }
    503 
    504   #
    505   # Architectural Protocols
    506   #
    507   ArmPkg/Drivers/CpuDxe/CpuDxe.inf
    508   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    509   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    510   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    511   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
    512   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    513   EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
    514   EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
    515   EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
    516   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
    517 
    518   #
    519   # Console IO support
    520   #
    521   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    522   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
    523 
    524   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    525   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    526 
    527   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
    528   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
    529 
    530   #
    531   # Environment Variables Protocol
    532   #
    533   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
    534     <LibraryClasses>
    535       AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
    536       TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
    537       VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
    538       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
    539   }
    540   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxSpiFvDxe/StyxSpiFvDxe.inf
    541 
    542   #
    543   # Iscp support
    544   #
    545   AmdModulePkg/Iscp/IscpDxe.inf
    546 
    547   #
    548   # PCI support
    549   #
    550   AmdModulePkg/Gionb/Gionb.inf
    551   ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
    552   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
    553   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
    554 
    555   #
    556   # AHCI Support
    557   #
    558   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
    559   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
    560   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    561   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    562   MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
    563   MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
    564   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf
    565 
    566   #
    567   # USB Support
    568   #
    569   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
    570   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
    571   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
    572   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    573   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    574 
    575   #
    576   # Networking stack
    577   #
    578   MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
    579   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
    580   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
    581   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
    582 # MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
    583   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
    584   MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
    585   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
    586   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
    587   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
    588   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
    589   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
    590   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
    591 
    592   #
    593   # Core Info
    594   #
    595   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatInitDxe/PlatInitDxe.inf
    596 
    597   #
    598   # ACPI Support
    599   #
    600   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
    601   OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiAml.inf
    602   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
    603 
    604   #
    605   # SMBIOS Support
    606   #
    607   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
    608   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
    609 
    610   #
    611   # FAT filesystem + GPT/MBR partitioning
    612   #
    613   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    614   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    615   FatPkg/EnhancedFatDxe/Fat.inf
    616   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    617 
    618   #
    619   # Bds
    620   #
    621   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    622   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    623   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    624   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
    625   MdeModulePkg/Application/UiApp/UiApp.inf {
    626     <LibraryClasses>
    627       NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
    628       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
    629       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
    630   }
    631 
    632   #
    633   # Crypto Accelerator support (RNG only)
    634   #
    635   OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxRngDxe/StyxRngDxe.inf
    636 
    637   #
    638   # UEFI application (Shell Embedded Boot Loader)
    639   #
    640   ShellPkg/Application/Shell/Shell.inf {
    641     <LibraryClasses>
    642       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
    643       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
    644       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
    645       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
    646       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
    647       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
    648       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
    649       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
    650       NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
    651       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
    652       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
    653       BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
    654 
    655       FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
    656       ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
    657 
    658     <PcdsFixedAtBuild>
    659       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
    660       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    661       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
    662   }
    663 
    664 !ifdef $(RENESAS_XHCI_FW_DIR)
    665   OpenPlatformPkg/Drivers/Xhci/RenesasFirmwarePD720202/RenesasFirmwarePD720202.inf
    666 !endif
    667