Home | History | Annotate | Download | only in QuarkSocPkg
      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