QuarkSocPkg.dsc 12 KB

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