2015-12-15 20:22:23 +01:00
|
|
|
## @file
|
|
|
|
# Component description file for QNCInit driver.
|
|
|
|
#
|
|
|
|
# QNCInit driver implement QuarkNcSocId related drivers, includes:
|
|
|
|
# PciHostBridge, PciExpress, SmmAccess driver and LegacyRegion driver.
|
|
|
|
#
|
|
|
|
# This driver mainly do full initialization for the QNC 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.
|
|
|
|
#
|
2018-06-29 05:32:05 +02:00
|
|
|
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
2015-12-15 20:22:23 +01:00
|
|
|
#
|
|
|
|
# This program and the accompanying materials
|
|
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
|
|
#
|
|
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
#
|
|
|
|
##
|
|
|
|
|
|
|
|
[Defines]
|
|
|
|
INF_VERSION = 0x00010005
|
|
|
|
BASE_NAME = QNCInitDxe
|
|
|
|
FILE_GUID = 74D3B506-EE9C-47ed-B749-41261401DA78
|
|
|
|
MODULE_TYPE = DXE_DRIVER
|
|
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = QNCInit
|
|
|
|
|
|
|
|
#
|
|
|
|
# The following information is for reference only and not required by the build tools.
|
|
|
|
#
|
2018-06-29 05:32:05 +02:00
|
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
2015-12-15 20:22:23 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
[Sources]
|
|
|
|
LegacyRegion.h
|
|
|
|
LegacyRegion.c
|
|
|
|
DxeQNCSmbus.c
|
|
|
|
DxeQNCSmbus.h
|
|
|
|
QNCSmbusExec.c
|
|
|
|
QNCSmbus.h
|
|
|
|
QNCInit.c
|
|
|
|
QNCInit.h
|
|
|
|
CommonHeader.h
|
|
|
|
QNCRootPorts.c
|
|
|
|
|
|
|
|
[Packages]
|
|
|
|
MdePkg/MdePkg.dec
|
|
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
QuarkSocPkg/QuarkSocPkg.dec
|
|
|
|
|
|
|
|
[LibraryClasses]
|
|
|
|
UefiDriverEntryPoint
|
|
|
|
BaseLib
|
|
|
|
UefiBootServicesTableLib
|
|
|
|
DxeServicesTableLib
|
|
|
|
BaseMemoryLib
|
|
|
|
DebugLib
|
|
|
|
PcdLib
|
|
|
|
MtrrLib
|
|
|
|
IoLib
|
|
|
|
SmbusLib
|
|
|
|
S3IoLib
|
|
|
|
S3BootScriptLib
|
|
|
|
IntelQNCLib
|
|
|
|
QNCAccessLib
|
|
|
|
|
|
|
|
[Protocols]
|
|
|
|
gEfiLegacyRegion2ProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
|
|
|
gEfiSmbusHcProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
|
|
|
gEfiQncS3SupportProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
|
|
|
|
|
|
|
[FeaturePcd]
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdSmbaIoBaseAddressFixed
|
|
|
|
|
|
|
|
[FixedPcd]
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdIoApicBaseAddress
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdIoApicSize
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdHpetBaseAddress
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdHpetSize
|
|
|
|
|
|
|
|
[Pcd]
|
|
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize ## CONSUMES
|
|
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress|0x0|UINT64|0x60000010 ## PRODUCES
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress ## CONSUMES
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize ## CONSUMES
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdSmbaIoBaseAddress
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdDeviceEnables
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdPlatformSmbusAddrNum
|
|
|
|
gEfiQuarkNcSocIdTokenSpaceGuid.PcdPlatformSmbusAddrTable
|
|
|
|
|
|
|
|
[Depex]
|
|
|
|
gEfiPlatformPolicyProtocolGuid AND gEfiQncS3SupportProtocolGuid
|