## @file
# Component description file for Quark South Cluster Init driver.
#
# IohInit driver implement QuarkSCSocId related drivers, includes:
# PciHostBridge, PciExpress, SmmAccess driver and LegacyRegion driver.
#
# This driver mainly do full initialization for the Soc chipet includes:
# 1. Initialize the PCI Express device.
# 2. Initialize the PciHostBridge, and allocate the I/O and memory space from GCD service.
# 3. Initialize the SmmAccess module and install EFI_SMM_ACCESS_PROTOCOL
# 4. Initialize the LegacyRegion module, install EFI_LEGACY_REGION_PROTOCOL and set below 1M
#    memory attribute from MTRR.
#
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IohInitDxe
  FILE_GUID                      = 3FE2A8A3-C400-48F8-832F-7881A394C250
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = IohInit

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  IohInit.c
  IohBds.h
  IohData.c
  CommonHeader.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  QuarkSocPkg/QuarkSocPkg.dec

[LibraryClasses]
  S3BootScriptLib
  PcdLib
  HobLib
  PciLib
  BaseMemoryLib
  MemoryAllocationLib
  S3PciLib
  UefiLib
  DebugLib
  UefiRuntimeServicesTableLib
  UefiBootServicesTableLib
  DxeServicesTableLib
  UefiDriverEntryPoint
  BaseLib
  S3IoLib
  IoLib
  DevicePathLib
  IohLib

[Protocols]
  gEfiPciRootBridgeIoProtocolGuid               # PROTOCOL ALWAYS_PRODUCED
  gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED
  gEfiPciIoProtocolGuid

[Pcd]
  gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartBusNumber
  gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartDevNumber
  gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartFunctionNumber

[Depex]
  TRUE
