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 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 69!else 70 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf 71!endif 72 # 73 # UEFI & PI 74 # 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 85 # 86 # Framework 87 # 88 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf 89 S3IoLib|MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf 90 S3PciLib|MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf 91 # 92 # Generic Modules 93 # 94 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf 95 96 # 97 # CPU 98 # 99 MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf 100 # 101 # Quark North Cluster 102 # 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 109 # 110 # Quark South Cluster 111 # 112 IohLib|QuarkSocPkg/QuarkSouthCluster/Library/IohLib/IohLib.inf 113 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf 114 PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf 115 # 116 # Misc 117 # 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 124!else 125 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf 126!endif 127 128[LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE] 129 # 130 # SEC and PEI phase common 131 # 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 140!endif 141 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf 142 143[LibraryClasses.IA32.SEC] 144 # 145 # SEC specific phase 146 # 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 151 152[LibraryClasses.IA32] 153 # 154 # DXE phase common 155 # 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 163!endif 164 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 172!endif 173 174[LibraryClasses.IA32.SMM_CORE] 175 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf 176 177[LibraryClasses.IA32.DXE_RUNTIME_DRIVER] 178 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf 179 180[LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION] 181 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 182 183################################################################################ 184# 185# Pcd Section - list of all EDK II PCD Entries defined by this Platform 186# 187################################################################################ 188 189[PcdsFixedAtBuild] 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 196 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 205 206[PcdsFeatureFlag] 207 208################################################################################ 209# 210# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform 211# 212################################################################################ 213 214[PcdsDynamicDefault.common.DEFAULT] 215 216################################################################################################### 217# 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. 220# 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. 232# 233################################################################################################### 234 235[Components] 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 { 242 <LibraryClasses> 243 PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf 244 } 245 QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiSmm.inf 246 QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.inf { 247 <LibraryClasses> 248 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf 249 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 250 } 251 QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDxe.inf 252 QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf 253 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 260