QuarkSocPkg.dsc 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. ## @file
  2. # INTEL Quark SoC Module Package Reference Implementations
  3. #
  4. # This DSC file is used for Package Level build.
  5. #
  6. # This Module provides FRAMEWORK reference implementation for INTEL Quark SoC.
  7. # Copyright (c) 2013-2023 Intel Corporation.
  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 = QuarkSocPkg
  19. PLATFORM_GUID = 5F9864F4-EAFB-4ded-A41A-CA501EE50502
  20. PLATFORM_VERSION = 0.1
  21. DSC_SPECIFICATION = 0x00010005
  22. OUTPUT_DIRECTORY = Build/QuarkSocPkg
  23. SUPPORTED_ARCHITECTURES = IA32
  24. BUILD_TARGETS = DEBUG|RELEASE
  25. SKUID_IDENTIFIER = DEFAULT
  26. ################################################################################
  27. #
  28. # SKU Identification section - list of all SKU IDs supported by this
  29. # Platform.
  30. #
  31. ################################################################################
  32. [SkuIds]
  33. 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
  34. ################################################################################
  35. #
  36. # Library Class section - list of all Library Classes needed by this Platform.
  37. #
  38. ################################################################################
  39. !include MdePkg/MdeLibs.dsc.inc
  40. [LibraryClasses]
  41. #
  42. # Entry point
  43. #
  44. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  45. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  46. #
  47. # Basic
  48. #
  49. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  50. BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
  51. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  52. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  53. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  54. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  55. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
  56. PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
  57. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  58. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  59. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  60. !if $(CFG_SOURCE_DEBUG) == 1
  61. PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
  62. !else
  63. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  64. !endif
  65. #
  66. # UEFI & PI
  67. #
  68. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  69. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  70. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  71. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  72. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  73. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  74. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  75. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  76. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  77. #
  78. # Framework
  79. #
  80. S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
  81. S3IoLib|MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf
  82. S3PciLib|MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf
  83. #
  84. # Generic Modules
  85. #
  86. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  87. #
  88. # CPU
  89. #
  90. MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf
  91. #
  92. # Quark North Cluster
  93. #
  94. SmmLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.inf
  95. SmbusLib|QuarkSocPkg/QuarkNorthCluster/Library/SmbusLib/SmbusLib.inf
  96. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  97. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  98. IntelQNCLib|QuarkSocPkg/QuarkNorthCluster/Library/IntelQNCLib/IntelQNCLib.inf
  99. QNCAccessLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCAccessLib/QNCAccessLib.inf
  100. #
  101. # Quark South Cluster
  102. #
  103. IohLib|QuarkSocPkg/QuarkSouthCluster/Library/IohLib/IohLib.inf
  104. SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
  105. PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
  106. #
  107. # Misc
  108. #
  109. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  110. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  111. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  112. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  113. !if $(CFG_SOURCE_DEBUG) == TRUE
  114. DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
  115. !else
  116. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  117. !endif
  118. [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE]
  119. #
  120. # SEC and PEI phase common
  121. #
  122. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  123. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  124. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  125. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  126. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
  127. PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
  128. !if $(CFG_SOURCE_DEBUG) == TRUE
  129. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
  130. !endif
  131. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
  132. [LibraryClasses.IA32.SEC]
  133. #
  134. # SEC specific phase
  135. #
  136. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  137. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  138. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  139. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
  140. [LibraryClasses.IA32]
  141. #
  142. # DXE phase common
  143. #
  144. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  145. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  146. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  147. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  148. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
  149. !if $(CFG_SOURCE_DEBUG) == 1
  150. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  151. !endif
  152. [LibraryClasses.IA32.DXE_SMM_DRIVER]
  153. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  154. ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
  155. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  156. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
  157. !if $(CFG_SOURCE_DEBUG) == TRUE
  158. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
  159. !endif
  160. [LibraryClasses.IA32.SMM_CORE]
  161. ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
  162. [LibraryClasses.IA32.DXE_RUNTIME_DRIVER]
  163. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  164. [LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION]
  165. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  166. ################################################################################
  167. #
  168. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  169. #
  170. ################################################################################
  171. [PcdsFixedAtBuild]
  172. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03
  173. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07
  174. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE
  175. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|44236800
  176. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0x14, 0x05, 0x84, 0x00, 0xFF}
  177. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
  178. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber |0
  179. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber |31
  180. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber |0
  181. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset|0x4b
  182. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask |0x80
  183. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0x48
  184. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0x1000
  185. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008
  186. [PcdsFeatureFlag]
  187. ################################################################################
  188. #
  189. # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
  190. #
  191. ################################################################################
  192. [PcdsDynamicDefault.common.DEFAULT]
  193. ###################################################################################################
  194. #
  195. # Components Section - list of the modules and components that will be processed by compilation
  196. # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
  197. #
  198. # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
  199. # into firmware volume images. This section is just a list of modules to compile from
  200. # source into UEFI-compliant binaries.
  201. # It is the FDF file that contains information on combining binary files into firmware
  202. # volume images, whose concept is beyond UEFI and is described in PI specification.
  203. # Binary modules do not need to be listed in this section, as they should be
  204. # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
  205. # Logo (Logo.bmp), and etc.
  206. # There may also be modules listed in this section that are not required in the FDF file,
  207. # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
  208. # generated for it, but the binary will not be put into any firmware volume.
  209. #
  210. ###################################################################################################
  211. [Components]
  212. QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
  213. QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmAccessPei/SmmAccessPei.inf
  214. QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmControlPei/SmmControlPei.inf
  215. QuarkSocPkg/QuarkNorthCluster/QNCInit/Dxe/QNCInitDxe.inf
  216. QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmAccessDxe/SmmAccess.inf
  217. QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiRuntime.inf {
  218. <LibraryClasses>
  219. PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
  220. }
  221. QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiSmm.inf
  222. QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.inf {
  223. <LibraryClasses>
  224. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  225. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  226. }
  227. QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDxe.inf
  228. QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf
  229. QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf
  230. QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf
  231. QuarkSocPkg/QuarkSouthCluster/IohInit/Dxe/IohInitDxe.inf
  232. QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf
  233. QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDControllerDxe.inf
  234. QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/SDMediaDeviceDxe.inf