2 # INTEL Quark SoC Module Package Reference Implementations
4 # This DSC file is used for Package Level build.
6 # This Module provides FRAMEWORK reference implementation for INTEL Quark SoC.
7 # Copyright (c) 2013-2016 Intel Corporation.
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
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.
19 ################################################################################
21 # Defines Section - statements that will be processed to create a Makefile.
23 ################################################################################
25 PLATFORM_NAME = QuarkSocPkg
26 PLATFORM_GUID = 5F9864F4-EAFB-4ded-A41A-CA501EE50502
27 PLATFORM_VERSION = 0.1
28 DSC_SPECIFICATION = 0x00010005
29 OUTPUT_DIRECTORY = Build/QuarkSocPkg
30 SUPPORTED_ARCHITECTURES = IA32
31 BUILD_TARGETS = DEBUG|RELEASE
32 SKUID_IDENTIFIER = DEFAULT
34 ################################################################################
36 # SKU Identification section - list of all SKU IDs supported by this
39 ################################################################################
41 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
43 ################################################################################
45 # Library Class section - list of all Library Classes needed by this Platform.
47 ################################################################################
52 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
53 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
57 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
58 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
59 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
60 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
61 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
62 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
63 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
64 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
65 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
66 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
67 !if $(CFG_SOURCE_DEBUG) == 1
68 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
70 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
75 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
76 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
77 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
78 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
79 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
80 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
81 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
82 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
83 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
84 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
88 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
89 S3IoLib|MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf
90 S3PciLib|MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf
94 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
99 MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf
101 # Quark North Cluster
103 SmmLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.inf
104 SmbusLib|QuarkSocPkg/QuarkNorthCluster/Library/SmbusLib/SmbusLib.inf
105 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
106 ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
107 IntelQNCLib|QuarkSocPkg/QuarkNorthCluster/Library/IntelQNCLib/IntelQNCLib.inf
108 QNCAccessLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCAccessLib/QNCAccessLib.inf
110 # Quark South Cluster
112 IohLib|QuarkSocPkg/QuarkSouthCluster/Library/IohLib/IohLib.inf
113 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
114 PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
118 DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
119 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
120 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
121 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
122 !if $(CFG_SOURCE_DEBUG) == TRUE
123 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
125 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
128 [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE]
130 # SEC and PEI phase common
132 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
133 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
134 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
135 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
136 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
137 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
138 !if $(CFG_SOURCE_DEBUG) == TRUE
139 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
141 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
143 [LibraryClasses.IA32.SEC]
147 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
148 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
149 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
150 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
152 [LibraryClasses.IA32]
156 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
157 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
158 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
159 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
160 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
161 !if $(CFG_SOURCE_DEBUG) == 1
162 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
165 [LibraryClasses.IA32.DXE_SMM_DRIVER]
166 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
167 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
168 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
169 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
170 !if $(CFG_SOURCE_DEBUG) == TRUE
171 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
174 [LibraryClasses.IA32.SMM_CORE]
175 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
177 [LibraryClasses.IA32.DXE_RUNTIME_DRIVER]
178 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
180 [LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION]
181 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
183 ################################################################################
185 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
187 ################################################################################
190 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03
191 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07
192 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE
193 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|44236800
194 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0x14, 0x05, 0x84, 0x00, 0xFF}
195 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
197 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber |0
198 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber |31
199 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber |0
200 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset|0x4b
201 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask |0x80
202 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0x48
203 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0x1000
204 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008
208 ################################################################################
210 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
212 ################################################################################
214 [PcdsDynamicDefault.common.DEFAULT]
216 ###################################################################################################
218 # Components Section - list of the modules and components that will be processed by compilation
219 # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
221 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
222 # into firmware volume images. This section is just a list of modules to compile from
223 # source into UEFI-compliant binaries.
224 # It is the FDF file that contains information on combining binary files into firmware
225 # volume images, whose concept is beyond UEFI and is described in PI specification.
226 # Binary modules do not need to be listed in this section, as they should be
227 # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
228 # Logo (Logo.bmp), and etc.
229 # There may also be modules listed in this section that are not required in the FDF file,
230 # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
231 # generated for it, but the binary will not be put into any firmware volume.
233 ###################################################################################################
236 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
237 QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmAccessPei/SmmAccessPei.inf
238 QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmControlPei/SmmControlPei.inf
239 QuarkSocPkg/QuarkNorthCluster/QNCInit/Dxe/QNCInitDxe.inf
240 QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmAccessDxe/SmmAccess.inf
241 QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiRuntime.inf {
243 PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
245 QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiSmm.inf
246 QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.inf {
248 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
249 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
251 QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDxe.inf
252 QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf
254 QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf
255 QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf
256 QuarkSocPkg/QuarkSouthCluster/IohInit/Dxe/IohInitDxe.inf
257 QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf
258 QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDControllerDxe.inf
259 QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/SDMediaDeviceDxe.inf