DurianPkg.dsc 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. ## @file
  2. # This package provides common open source Phytium Platform modules.
  3. #
  4. # Copyright (C) 2020, Phytium Technology Co, Ltd. All rights reserved.
  5. #
  6. # SPDX-License-Identifier:BSD-2-Clause-Patent
  7. #
  8. ##
  9. ################################################################################
  10. #
  11. # Defines Section - statements that will be processed to create a Makefile.
  12. #
  13. ################################################################################
  14. [Defines]
  15. PLATFORM_NAME = DurianPkg
  16. PLATFORM_GUID = 8f7ac876-3e7c-11eb-86cb-33f68535d613
  17. PLATFORM_VERSION = 0.1
  18. DSC_SPECIFICATION = 0x0001001c
  19. OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
  20. SUPPORTED_ARCHITECTURES = AARCH64
  21. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  22. SKUID_IDENTIFIER = DEFAULT
  23. FLASH_DEFINITION = Platform/Phytium/DurianPkg/DurianPkg.fdf
  24. !include Silicon/Phytium/PhytiumCommonPkg/PhytiumCommonPkg.dsc.inc
  25. [LibraryClasses.common]
  26. # Phytium Platform library
  27. ArmPlatformLib|Silicon/Phytium/FT2000-4Pkg/Library/PlatformLib/PlatformLib.inf
  28. #FT2000-4Pkg RTC Driver
  29. RealTimeClockLib|Silicon/Phytium/FT2000-4Pkg/Library/RealTimeClockLib/RealTimeClockLib.inf
  30. TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
  31. # PL011 UART Driver and Dependency Libraries
  32. SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
  33. PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
  34. PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
  35. [LibraryClasses.common.DXE_DRIVER]
  36. # Pci dependencies
  37. PciSegmentLib|Silicon/Phytium/FT2000-4Pkg/Library/PciSegmentLib/PciSegmentLib.inf
  38. PciHostBridgeLib|Silicon/Phytium/FT2000-4Pkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  39. ################################################################################
  40. #
  41. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  42. #
  43. ################################################################################
  44. [PcdsFixedAtBuild.common]
  45. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"Durian Platform"
  46. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"V1.0"
  47. gArmTokenSpaceGuid.PcdVFPEnabled|1
  48. gArmTokenSpaceGuid.PcdArmPrimaryCoreMask|0x101
  49. gArmTokenSpaceGuid.PcdArmPrimaryCore|0x0
  50. gArmPlatformTokenSpaceGuid.PcdCoreCount|4
  51. #
  52. # NV Storage PCDs.
  53. #
  54. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0xe00000
  55. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000
  56. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0xe10000
  57. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000
  58. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0xe20000
  59. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000
  60. # Size of the region used by UEFI in permanent memory (Reserved 64MB)
  61. gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
  62. #
  63. # PL011 - Serial Terminal
  64. #
  65. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x28001000
  66. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
  67. gArmPlatformTokenSpaceGuid.PL011UartClkInHz|48000000
  68. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
  69. #
  70. # ARM General Interrupt Controller
  71. #
  72. gArmTokenSpaceGuid.PcdGicDistributorBase|0x29900000
  73. gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x29980000
  74. gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x29c00000
  75. # System IO space
  76. gPhytiumPlatformTokenSpaceGuid.PcdSystemIoBase|0x0
  77. gPhytiumPlatformTokenSpaceGuid.PcdSystemIoSize|0x40000000
  78. #
  79. # System Memory (2GB ~ 4GB - 64MB), the top 64MB is reserved for
  80. # PBF(the processor basic firmware, Mainly deals the initialization
  81. # of the chip).
  82. #
  83. gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
  84. gArmTokenSpaceGuid.PcdSystemMemorySize|0x7B000000
  85. # Stack Size
  86. gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
  87. #
  88. # Designware PCI Root Complex
  89. #
  90. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x40000000
  91. gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|28
  92. gPhytiumPlatformTokenSpaceGuid.PcdPciConfigBase|0x40000000
  93. gPhytiumPlatformTokenSpaceGuid.PcdPciConfigSize|0x10000000
  94. gArmTokenSpaceGuid.PcdPciBusMin|0
  95. gArmTokenSpaceGuid.PcdPciBusMax|255
  96. gArmTokenSpaceGuid.PcdPciIoBase|0x00000
  97. gArmTokenSpaceGuid.PcdPciIoSize|0xf00000
  98. gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x50000000
  99. gArmTokenSpaceGuid.PcdPciMmio32Base|0x58000000
  100. gArmTokenSpaceGuid.PcdPciMmio32Size|0x28000000
  101. gEfiMdePkgTokenSpaceGuid.PcdPciMmio32Translation|0x0
  102. gArmTokenSpaceGuid.PcdPciMmio64Base|0x1000000000
  103. gArmTokenSpaceGuid.PcdPciMmio64Size|0x1000000000
  104. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
  105. ################################################################################
  106. #
  107. # Components Section - list of all EDK II Modules needed by this Platform
  108. #
  109. ################################################################################
  110. [Components.common]
  111. #
  112. # PCD database
  113. #
  114. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
  115. ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
  116. ShellPkg/Application/Shell/Shell.inf {
  117. <LibraryClasses>
  118. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  119. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  120. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  121. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  122. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  123. NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
  124. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  125. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  126. NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
  127. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  128. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  129. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  130. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  131. }
  132. ArmPlatformPkg/PrePi/PeiMPCore.inf {
  133. <LibraryClasses>
  134. ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
  135. }
  136. #
  137. # Dxe core entry
  138. #
  139. MdeModulePkg/Core/Dxe/DxeMain.inf {
  140. <LibraryClasses>
  141. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  142. NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
  143. }
  144. #
  145. # DXE driver
  146. #
  147. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  148. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  149. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
  150. <LibraryClasses>
  151. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  152. }
  153. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  154. EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
  155. EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  156. #
  157. # Common Arm Timer and Gic Components
  158. #
  159. ArmPkg/Drivers/CpuDxe/CpuDxe.inf
  160. ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
  161. EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
  162. ArmPkg/Drivers/TimerDxe/TimerDxe.inf
  163. #
  164. # security system
  165. #
  166. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
  167. <LibraryClasses>
  168. NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
  169. }
  170. #
  171. # network, mod for https boot.
  172. #
  173. NetworkPkg/SnpDxe/SnpDxe.inf
  174. NetworkPkg/DpcDxe/DpcDxe.inf
  175. NetworkPkg/MnpDxe/MnpDxe.inf
  176. NetworkPkg/ArpDxe/ArpDxe.inf
  177. NetworkPkg/Dhcp4Dxe/Dhcp4Dxe.inf
  178. NetworkPkg/Ip4Dxe/Ip4Dxe.inf
  179. NetworkPkg/Mtftp4Dxe/Mtftp4Dxe.inf
  180. NetworkPkg/Udp4Dxe/Udp4Dxe.inf
  181. NetworkPkg/VlanConfigDxe/VlanConfigDxe.inf
  182. NetworkPkg/Ip6Dxe/Ip6Dxe.inf
  183. NetworkPkg/Udp6Dxe/Udp6Dxe.inf
  184. NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
  185. NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
  186. NetworkPkg/TcpDxe/TcpDxe.inf
  187. NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
  188. NetworkPkg/DnsDxe/DnsDxe.inf
  189. NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
  190. NetworkPkg/HttpDxe/HttpDxe.inf
  191. #
  192. # FV Filesystem
  193. #
  194. MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
  195. #
  196. # Common Console Components
  197. # ConIn,ConOut,StdErr
  198. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  199. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  200. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  201. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  202. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  203. SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
  204. #
  205. # Hii database init
  206. #
  207. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  208. #
  209. # FAT filesystem + GPT/MBR partitioning
  210. #
  211. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  212. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  213. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  214. FatPkg/EnhancedFatDxe/Fat.inf
  215. #
  216. # Generic Watchdog Timer
  217. #
  218. ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
  219. #
  220. # Spi driver
  221. #
  222. Silicon/Phytium/FT2000-4Pkg/Drivers/SpiDxe/SpiDxe.inf
  223. #
  224. # Usb Support
  225. #
  226. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  227. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  228. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  229. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  230. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  231. MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
  232. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  233. #
  234. # IDE/AHCI Support
  235. #
  236. MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  237. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  238. MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  239. MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  240. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  241. #
  242. # PCI Support
  243. #
  244. ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
  245. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
  246. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  247. MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
  248. #
  249. # The following 2 module perform the same work except one operate variable.
  250. # Only one of both should be put into fdf.
  251. #
  252. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  253. #
  254. # NVME Support
  255. #
  256. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  257. #
  258. # ACPI Support
  259. #
  260. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  261. Silicon/Phytium/FT2000-4Pkg/Drivers/AcpiTables/AcpiTables.inf
  262. Silicon/Phytium/PhytiumCommonPkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
  263. #
  264. # SMBIOS
  265. #
  266. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  267. Silicon/Phytium/FT2000-4Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
  268. #
  269. # Bds
  270. #
  271. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  272. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  273. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  274. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  275. MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
  276. MdeModulePkg/Application/UiApp/UiApp.inf {
  277. <LibraryClasses>
  278. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  279. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  280. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  281. }
  282. MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf