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