## @file
# PcRtc driver to install EFI_REAL_TIME_CLOCK_ARCH_PROTOCOL.
#
# This driver provides GetTime, SetTime, GetWakeupTime, SetWakeupTime services to Runtime Service Table.
# It will install a tagging protocol with gEfiRealTimeClockArchProtocolGuid.
#
# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
# 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                      = PcRtc
  MODULE_UNI_FILE                = PcRtc.uni
  FILE_GUID                      = 378D7B65-8DA9-4773-B6E4-A47826A833E1
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializePcRtc

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  PcRtcEntry.c
  PcRtc.c
  PcRtc.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  PcAtChipsetPkg/PcAtChipsetPkg.dec

[LibraryClasses]
  UefiRuntimeServicesTableLib
  UefiRuntimeLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  TimerLib
  IoLib
  BaseMemoryLib
  UefiLib
  DebugLib
  BaseLib
  PcdLib
  ReportStatusCodeLib

[Protocols]
  gEfiRealTimeClockArchProtocolGuid             ## PRODUCES

[Depex]
  gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
  
[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout  ## CONSUMES
  gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear             ## CONSUMES
  gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear             ## CONSUMES

[UserExtensions.TianoCore."ExtraFiles"]
  PcRtcExtra.uni
