1## @file
2# Component description file for QNCInit driver.
3#
4# QNCInit driver implement QuarkNcSocId related drivers, includes:
5# PciHostBridge, PciExpress, SmmAccess driver and LegacyRegion driver.
6#
7# This driver mainly do full initialization for the QNC chipet includes:
8# 1. Initialize the PCI Express device.
9# 2. Initialize the PciHostBridge, and allocate the I/O and memory space from GCD service.
10# 3. Initialize the SmmAccess module and install EFI_SMM_ACCESS_PROTOCOL
11# 4. Initialize the LegacyRegion module, install EFI_LEGACY_REGION_PROTOCOL and set below 1M
12#    memory attribute from MTRR.
13#
14# Copyright (c) 2013-2015 Intel Corporation.
15#
16# This program and the accompanying materials
17# are licensed and made available under the terms and conditions of the BSD License
18# which accompanies this distribution.  The full text of the license may be found at
19# http://opensource.org/licenses/bsd-license.php
20#
21# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
22# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
23#
24##
25
26[Defines]
27  INF_VERSION                    = 0x00010005
28  BASE_NAME                      = QNCInitDxe
29  FILE_GUID                      = 74D3B506-EE9C-47ed-B749-41261401DA78
30  MODULE_TYPE                    = DXE_DRIVER
31  VERSION_STRING                 = 1.0
32  ENTRY_POINT                    = QNCInit
33
34#
35# The following information is for reference only and not required by the build tools.
36#
37#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
38#
39
40[Sources]
41  LegacyRegion.h
42  LegacyRegion.c
43  DxeQNCSmbus.c
44  DxeQNCSmbus.h
45  QNCSmbusExec.c
46  QNCSmbus.h
47  QNCInit.c
48  QNCInit.h
49  CommonHeader.h
50  QNCRootPorts.c
51
52[Packages]
53  MdePkg/MdePkg.dec
54  UefiCpuPkg/UefiCpuPkg.dec
55  QuarkSocPkg/QuarkSocPkg.dec
56
57[LibraryClasses]
58  UefiDriverEntryPoint
59  BaseLib
60  UefiBootServicesTableLib
61  DxeServicesTableLib
62  BaseMemoryLib
63  DebugLib
64  PcdLib
65  MtrrLib
66  IoLib
67  SmbusLib
68  S3IoLib
69  S3BootScriptLib
70  IntelQNCLib
71  QNCAccessLib
72
73[Protocols]
74  gEfiLegacyRegion2ProtocolGuid                 # PROTOCOL ALWAYS_PRODUCED
75  gEfiSmbusHcProtocolGuid                       # PROTOCOL ALWAYS_PRODUCED
76  gEfiQncS3SupportProtocolGuid                  # PROTOCOL ALWAYS_CONSUMED
77
78[FeaturePcd]
79  gEfiQuarkNcSocIdTokenSpaceGuid.PcdSmbaIoBaseAddressFixed
80
81[FixedPcd]
82  gEfiQuarkNcSocIdTokenSpaceGuid.PcdIoApicBaseAddress
83  gEfiQuarkNcSocIdTokenSpaceGuid.PcdIoApicSize
84  gEfiQuarkNcSocIdTokenSpaceGuid.PcdHpetBaseAddress
85  gEfiQuarkNcSocIdTokenSpaceGuid.PcdHpetSize
86
87[Pcd]
88  gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize                           ## CONSUMES
89  gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress|0x0|UINT64|0x60000010   ## PRODUCES
90  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress                     ## CONSUMES
91  gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize                      ## CONSUMES
92  gEfiQuarkNcSocIdTokenSpaceGuid.PcdSmbaIoBaseAddress
93  gEfiQuarkNcSocIdTokenSpaceGuid.PcdDeviceEnables
94  gEfiQuarkNcSocIdTokenSpaceGuid.PcdPlatformSmbusAddrNum
95  gEfiQuarkNcSocIdTokenSpaceGuid.PcdPlatformSmbusAddrTable
96
97[Depex]
98  gEfiPlatformPolicyProtocolGuid AND gEfiQncS3SupportProtocolGuid
99