N1SdpPlatform.dsc 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. ## @file
  2. # Component Description File for N1Sdp
  3. #
  4. # This provides platform specific component descriptions and libraries that
  5. # conform to EFI/Framework standards.
  6. #
  7. # Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
  8. #
  9. # SPDX-License-Identifier: BSD-2-Clause-Patent
  10. #
  11. ##
  12. ################################################################################
  13. #
  14. # Defines Section - statements that will be processed to create a Makefile.
  15. #
  16. ################################################################################
  17. [Defines]
  18. PLATFORM_NAME = n1sdp
  19. PLATFORM_GUID = 9af67d31-7de8-4a71-a9a8-a597a27659ce
  20. PLATFORM_VERSION = 0.1
  21. DSC_SPECIFICATION = 0x0001001B
  22. OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
  23. SUPPORTED_ARCHITECTURES = AARCH64
  24. BUILD_TARGETS = NOOPT|DEBUG|RELEASE
  25. SKUID_IDENTIFIER = DEFAULT
  26. FLASH_DEFINITION = Platform/ARM/N1Sdp/N1SdpPlatform.fdf
  27. BUILD_NUMBER = 1
  28. !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
  29. !include MdePkg/MdeLibs.dsc.inc
  30. !include DynamicTablesPkg/DynamicTables.dsc.inc
  31. [LibraryClasses.common]
  32. ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
  33. ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
  34. ArmPlatformLib|Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf
  35. BasePathLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  36. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  37. TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
  38. UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
  39. # file explorer library support
  40. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  41. [LibraryClasses.common.SEC]
  42. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  43. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  44. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  45. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  46. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  47. [LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
  48. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  49. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  50. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  51. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  52. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  53. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  54. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  55. [LibraryClasses.common.PEI_CORE]
  56. PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
  57. [LibraryClasses.common.PEIM]
  58. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  59. [LibraryClasses.common.DXE_CORE]
  60. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  61. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  62. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  63. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  64. [LibraryClasses.common.DXE_DRIVER]
  65. FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
  66. PciHostBridgeLib|Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  67. PciSegmentLib|Silicon/ARM/NeoverseN1Soc/Library/PciSegmentLib/PciSegmentLib.inf
  68. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  69. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  70. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  71. !if $(TARGET) != RELEASE
  72. DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
  73. !endif
  74. [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
  75. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  76. ################################################################################
  77. #
  78. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  79. #
  80. ################################################################################
  81. [PcdsFeatureFlag.common]
  82. gArmN1SdpTokenSpaceGuid.PcdRamDiskSupported|TRUE
  83. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
  84. [PcdsFixedAtBuild.common]
  85. gArmTokenSpaceGuid.PcdVFPEnabled|1
  86. # RAM Disk
  87. gArmN1SdpTokenSpaceGuid.PcdRamDiskBase|0x88000000
  88. gArmN1SdpTokenSpaceGuid.PcdRamDiskSize|0x18000000
  89. # Stacks for MPCores in Normal World
  90. gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x80000000
  91. gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x40000
  92. gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x0
  93. # System Memory (2GB) - Reserved Secure Memory (16MB)
  94. gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
  95. gArmTokenSpaceGuid.PcdSystemMemorySize|(0x80000000 - 0x01000000)
  96. # Secondary DDR memory
  97. gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base|0x8080000000
  98. # External memory
  99. gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0x40000000000
  100. # GIC Base Addresses
  101. gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000000
  102. gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000
  103. gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000
  104. # PCIe
  105. gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24
  106. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|FALSE
  107. # PL011 - Serial Terminal
  108. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x2A400000
  109. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
  110. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
  111. gArmPlatformTokenSpaceGuid.PL011UartClkInHz|50000000
  112. gArmPlatformTokenSpaceGuid.PL011UartInterrupt|95
  113. # PL011 Serial Debug UART (DBG2)
  114. gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
  115. gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
  116. gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|50000000
  117. # SBSA Watchdog
  118. gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|93
  119. # PL031 RealTimeClock
  120. gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C100000
  121. # ARM OS Loader
  122. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
  123. # ARM Architectural Timer Frequency
  124. gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000
  125. gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000
  126. gEmbeddedTokenSpaceGuid.PcdTimerPeriod|1000
  127. # ARM Cores and Clusters
  128. gArmPlatformTokenSpaceGuid.PcdCoreCount|2
  129. gArmPlatformTokenSpaceGuid.PcdClusterCount|2
  130. # ACPI Table Version
  131. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
  132. # Runtime Variable storage
  133. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
  134. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE
  135. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
  136. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
  137. ################################################################################
  138. #
  139. # Components Section - list of all EDK II Modules needed by this Platform
  140. #
  141. ################################################################################
  142. [Components.common]
  143. # PEI Phase modules
  144. ArmPkg/Drivers/CpuPei/CpuPei.inf
  145. ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
  146. ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
  147. ArmPlatformPkg/PlatformPei/PlatformPeim.inf
  148. MdeModulePkg/Core/Pei/PeiMain.inf
  149. MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
  150. <LibraryClasses>
  151. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  152. }
  153. MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
  154. MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
  155. <LibraryClasses>
  156. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  157. }
  158. # DXE
  159. MdeModulePkg/Core/Dxe/DxeMain.inf {
  160. <LibraryClasses>
  161. NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
  162. <PcdsFixedAtBuild>
  163. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
  164. }
  165. # Architectural Protocols
  166. ArmPkg/Drivers/CpuDxe/CpuDxe.inf
  167. ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
  168. ArmPkg/Drivers/TimerDxe/TimerDxe.inf
  169. ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
  170. EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  171. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  172. MdeModulePkg/Universal/Metronome/Metronome.inf
  173. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  174. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  175. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  176. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  177. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  178. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  179. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  180. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  181. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  182. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
  183. <LibraryClasses>
  184. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  185. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  186. }
  187. # ACPI Support
  188. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  189. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  190. Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
  191. # Platform driver
  192. Platform/ARM/N1Sdp/Drivers/PlatformDxe/PlatformDxe.inf
  193. # Human Interface Support
  194. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  195. # FAT filesystem + GPT/MBR partitioning
  196. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  197. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  198. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  199. FatPkg/EnhancedFatDxe/Fat.inf
  200. # Bds
  201. MdeModulePkg/Universal/BootManagerPolicyDxe/BootManagerPolicyDxe.inf
  202. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  203. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  204. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  205. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  206. MdeModulePkg/Application/UiApp/UiApp.inf {
  207. <LibraryClasses>
  208. NULL|MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib.inf
  209. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  210. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  211. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  212. }
  213. # Required by PCI
  214. ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
  215. # PCI Support
  216. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  217. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
  218. <PcdsFixedAtBuild>
  219. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F
  220. }
  221. # AHCI Support
  222. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  223. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  224. # SATA Controller
  225. MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  226. # NVMe boot devices
  227. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  228. # Usb Support
  229. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  230. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  231. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  232. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  233. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  234. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  235. MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
  236. # RAM Disk
  237. MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf