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