#/** @file
#
#  Firmware Volume Block driver for non-volatile data storage on
#  SPI NOR (persistent at runtime) or SD/eMMC (persistent only at boot time).
#
#  Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.
#  Copyright (c) 2017 Marvell International Ltd.
#  Copyright (c) 2021-2022 Rockchip Electronics Co., Ltd.
#  Copyright (c) 2023, Mario Bălănică <mariobalanica02@gmail.com>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#**/

[Defines]
  INF_VERSION                    = 0x0001001A
  BASE_NAME                      = RkFvbDxe
  FILE_GUID                      = df325b7e-ae7c-11ec-a154-f42a7dcb925d
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 0.1
  ENTRY_POINT                    = RkFvbEntryPoint

[Sources]
  RkFvbDxe.c

[Packages]
  ArmPlatformPkg/ArmPlatformPkg.dec
  EmbeddedPkg/EmbeddedPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  Silicon/Rockchip/RockchipPkg.dec

[LibraryClasses]
  IoLib
  BaseLib
  DebugLib
  HobLib
  UefiLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  UefiRuntimeLib
  BaseMemoryLib
  DevicePathLib
  DxeServicesTableLib
  MemoryAllocationLib
  UefiRuntimeServicesTableLib
  RkAtagsLib

[Guids]
  gEdkiiNvVarStoreFormattedGuid
  gEfiAuthenticatedVariableGuid
  gEfiEventVirtualAddressChangeGuid
  gEfiSystemNvDataFvGuid
  gEfiVariableGuid
  gEfiEventReadyToBootGuid
  gRockchipEventResetGuid

[Protocols]
  gEfiDevicePathProtocolGuid
  gEfiFirmwareVolumeBlockProtocolGuid
  gUniNorFlashProtocolGuid
  gEfiDiskIoProtocolGuid
  gEfiBlockIoProtocolGuid
  gEdkiiNonDiscoverableDeviceProtocolGuid

[FixedPcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gRockchipTokenSpaceGuid.PcdNvStoragePreferSpiFlash
  gRockchipTokenSpaceGuid.PcdDwcSdhciBaseAddress
  gRockchipTokenSpaceGuid.PcdRkSdmmcBaseAddress

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64

[Depex]
  TRUE
  #gEfiCpuArchProtocolGuid AND
  #gUniNorFlashProtocolGuid