SgiPlatform.dsc.inc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. #
  2. # Copyright (c) 2018-2020, ARM Limited. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-2-Clause-Patent
  5. #
  6. !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
  7. [BuildOptions]
  8. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  9. [LibraryClasses.common]
  10. ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
  11. ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
  12. ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
  13. ArmPlatformSysConfigLib|Platform/ARM/VExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
  14. ArmPlatformLib|Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
  15. BasePathLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  16. EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
  17. LcdHwLib|ArmPlatformPkg/Library/HdLcd/HdLcd.inf
  18. LcdPlatformLib|Platform/ARM/SgiPkg/Library/HdLcdArmSgiLib/HdLcdArmSgiLib.inf
  19. NorFlashPlatformLib|Platform/ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.inf
  20. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  21. TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
  22. # Virtio Support
  23. VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
  24. VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
  25. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  26. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  27. [LibraryClasses.common.SEC]
  28. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  29. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  30. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  31. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  32. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  33. [LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
  34. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  35. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  36. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  37. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  38. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  39. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  40. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  41. [LibraryClasses.common.PEI_CORE]
  42. PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
  43. [LibraryClasses.common.PEIM]
  44. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  45. [LibraryClasses.common.DXE_CORE]
  46. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  47. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  48. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  49. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  50. [LibraryClasses.common.DXE_DRIVER]
  51. FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
  52. PciHostBridgeLib|Platform/ARM/SgiPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  53. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
  54. PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
  55. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  56. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  57. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  58. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  59. !if $(TARGET) != RELEASE
  60. DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
  61. !endif
  62. [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
  63. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  64. ################################################################################
  65. #
  66. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  67. #
  68. ################################################################################
  69. [PcdsFeatureFlag.common]
  70. gArmSgiTokenSpaceGuid.PcdVirtioBlkSupported|TRUE
  71. gArmSgiTokenSpaceGuid.PcdVirtioNetSupported|TRUE
  72. [PcdsFixedAtBuild.common]
  73. gArmTokenSpaceGuid.PcdVFPEnabled|1
  74. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
  75. # DRAM Block2 Base and Size
  76. gArmSgiTokenSpaceGuid.PcdDramBlock2Base|0x8080000000
  77. gArmSgiTokenSpaceGuid.PcdDramBlock2Size|0x180000000
  78. # NV Storage PCDs. Use base of 0x08000000 for NOR0, 0xC0000000 for NOR 1
  79. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0C000000
  80. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x01400000
  81. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0D400000
  82. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x01400000
  83. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0E800000
  84. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x01400000
  85. # Stacks for MPCores in Normal World
  86. gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x80000000
  87. gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x40000
  88. gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x0
  89. # System Memory (1GB - 16MB of Trusted DRAM at the top of the 32bit address space)
  90. gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
  91. gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000
  92. #
  93. # PCIe
  94. #
  95. gArmTokenSpaceGuid.PcdPciBusMin|0
  96. gArmTokenSpaceGuid.PcdPciBusMax|255
  97. gArmTokenSpaceGuid.PcdPciIoBase|0x0
  98. gArmTokenSpaceGuid.PcdPciIoSize|0x00800000
  99. gArmTokenSpaceGuid.PcdPciIoTranslation|0x77800000
  100. gArmTokenSpaceGuid.PcdPciMmio32Base|0x70000000
  101. gArmTokenSpaceGuid.PcdPciMmio32Size|0x07800000
  102. gArmTokenSpaceGuid.PcdPciMmio32Translation|0x0
  103. gArmTokenSpaceGuid.PcdPciMmio64Base|0x500000000
  104. gArmTokenSpaceGuid.PcdPciMmio64Size|0x300000000
  105. gArmTokenSpaceGuid.PcdPciMmio64Translation|0x0
  106. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x60000000
  107. gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24
  108. ## PL011 - Serial Terminal
  109. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF80000
  110. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
  111. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
  112. gArmPlatformTokenSpaceGuid.PL011UartInteger|4
  113. gArmPlatformTokenSpaceGuid.PL011UartFractional|0
  114. ## PL370 - HDLCD1
  115. gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase|0x7FF60000
  116. ## PL011 - Serial Debug UART
  117. gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x7FF80000
  118. gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|7372800
  119. gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|115200
  120. gArmPlatformTokenSpaceGuid.PL011UartInterrupt|147
  121. ## PL031 RealTimeClock
  122. gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
  123. # List of Device Paths that support BootMonFs
  124. gArmBootMonFsTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(93E34C7E-B50E-11DF-9223-2443DFD72085,00)"
  125. # ARM OS Loader
  126. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
  127. # ARM Architectural Timer Frequency
  128. gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000
  129. gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000
  130. gEmbeddedTokenSpaceGuid.PcdTimerPeriod|1000
  131. # Virtio Disk
  132. gArmSgiTokenSpaceGuid.PcdVirtioBlkBaseAddress|0x1c130000
  133. gArmSgiTokenSpaceGuid.PcdVirtioBlkSize|0x10000
  134. gArmSgiTokenSpaceGuid.PcdVirtioBlkInterrupt|202
  135. # Ethernet / Virtio Network
  136. !ifdef EDK2_ENABLE_SMSC_91X
  137. gArmVExpressTokenSpaceGuid.PcdLan91xDxeBaseAddress|0x18000000
  138. !endif
  139. gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress|0x1c150000
  140. gArmSgiTokenSpaceGuid.PcdVirtioNetSize|0x10000
  141. gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|204
  142. #
  143. # Set the base address and size of the buffer used
  144. # for communication between the Normal world edk2
  145. # with StandaloneMm image at S-EL0 through MM_COMMUNICATE.
  146. # This buffer gets allocated in ATF and since we do not have
  147. # a mechanism currently to communicate the base address and
  148. # size of this buffer from ATF, hard-code it here
  149. #
  150. ## MM Communicate
  151. gArmTokenSpaceGuid.PcdMmBufferBase|0xFF600000
  152. gArmTokenSpaceGuid.PcdMmBufferSize|0x10000
  153. ################################################################################
  154. #
  155. # Components Section - list of all EDK II Modules needed by this Platform
  156. #
  157. ################################################################################
  158. [Components.common]
  159. #
  160. # PEI Phase modules
  161. #
  162. ArmPkg/Drivers/CpuPei/CpuPei.inf
  163. ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
  164. ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
  165. ArmPlatformPkg/PlatformPei/PlatformPeim.inf
  166. MdeModulePkg/Core/Pei/PeiMain.inf
  167. MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
  168. <LibraryClasses>
  169. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  170. }
  171. MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
  172. MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
  173. MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
  174. <LibraryClasses>
  175. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  176. }
  177. Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPei.inf
  178. #
  179. # DXE
  180. #
  181. MdeModulePkg/Core/Dxe/DxeMain.inf {
  182. <LibraryClasses>
  183. NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
  184. <PcdsFixedAtBuild>
  185. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
  186. }
  187. #
  188. # Architectural Protocols
  189. #
  190. ArmPkg/Drivers/CpuDxe/CpuDxe.inf
  191. ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
  192. ArmPkg/Drivers/TimerDxe/TimerDxe.inf
  193. ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
  194. ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
  195. ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
  196. EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  197. EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
  198. EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
  199. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  200. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  201. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  202. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  203. OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
  204. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  205. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  206. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  207. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  208. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  209. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
  210. <LibraryClasses>
  211. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  212. NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
  213. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  214. }
  215. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  216. #
  217. # ACPI Support
  218. #
  219. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  220. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  221. #
  222. # platform driver
  223. #
  224. Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf
  225. #
  226. # FAT filesystem + GPT/MBR partitioning
  227. #
  228. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  229. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  230. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  231. FatPkg/EnhancedFatDxe/Fat.inf
  232. #
  233. # Bds
  234. #
  235. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  236. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  237. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  238. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  239. MdeModulePkg/Application/UiApp/UiApp.inf {
  240. <LibraryClasses>
  241. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  242. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  243. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  244. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  245. }
  246. # SMSC LAN 91C111 / Virtio Network
  247. !ifdef EDK2_ENABLE_SMSC_91X
  248. Platform/ARM/VExpressPkg/Drivers/Lan91xDxe/Lan91xDxe.inf
  249. !endif
  250. OvmfPkg/VirtioNetDxe/VirtioNet.inf
  251. #
  252. # Required by PCI
  253. #
  254. ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
  255. #
  256. # PCI Support
  257. #
  258. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  259. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
  260. <PcdsFixedAtBuild>
  261. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F
  262. }
  263. #
  264. # AHCI Support
  265. #
  266. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  267. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  268. #
  269. # SATA Controller
  270. #
  271. MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  272. ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf