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
20DEFINE NUM_CORES = 8
21DEFINE 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