#
#  Copyright (c) 2013 - 2014, ARM Ltd. All rights reserved.
#  Copyright (c) 2018, Linaro Ltd. All rights reserved.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#

[Defines]
  INF_VERSION                    = 0x0001001a
  BASE_NAME                      = RK3588Dxe
  FILE_GUID                      = f6c64348-45ec-11ec-9726-f42a7dcb925d
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = RK3588EntryPoint

[Sources.common]
  RK3588Dxe.c
  RK3588DxeHii.uni
  RK3588DxeHii.vfr
  CpuPerformance.c
  ComboPhy.c
  PciExpress30.c
  ConfigTable.c
  FanControl.c
  UsbDpPhy.c
  DebugSerialPort.c

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

[LibraryClasses]
  CacheMaintenanceLib
  DebugLib
  IoLib
  BaseMemoryLib
  UefiBootServicesTableLib
  UefiRuntimeServicesTableLib
  UefiLib
  UefiDriverEntryPoint
  DxeServicesTableLib
  SpiLib
  RK806
  CruLib
  ArmLib
  NonDiscoverableDeviceRegistrationLib
  HiiLib
  PcdLib
  RockchipPlatformLib

[Protocols]
  gEfiVariableWriteArchProtocolGuid               ## CONSUMES
  gEfiMemoryAttributeProtocolGuid                 ## CONSUMES
  gRk860xRegulatorProtocolGuid                    ## CONSUMES
  gRockchipPlatformConfigAppliedProtocolGuid      ## PRODUCES

[Pcd]
  gRockchipTokenSpaceGuid.CruBaseAddr
  gRockchipTokenSpaceGuid.FspiBaseAddr

  gRK3588TokenSpaceGuid.PcdCPULClusterClockPresetDefault
  gRK3588TokenSpaceGuid.PcdCPUB01ClusterClockPresetDefault
  gRK3588TokenSpaceGuid.PcdCPUB23ClusterClockPresetDefault
  gRK3588TokenSpaceGuid.PcdCPULClusterClockPreset
  gRK3588TokenSpaceGuid.PcdCPULClusterClockCustom
  gRK3588TokenSpaceGuid.PcdCPUB01ClusterClockPreset
  gRK3588TokenSpaceGuid.PcdCPUB01ClusterClockCustom
  gRK3588TokenSpaceGuid.PcdCPUB23ClusterClockPreset
  gRK3588TokenSpaceGuid.PcdCPUB23ClusterClockCustom
  gRK3588TokenSpaceGuid.PcdCPULClusterVoltageMode
  gRK3588TokenSpaceGuid.PcdCPULClusterVoltageCustom
  gRK3588TokenSpaceGuid.PcdCPUB01ClusterVoltageMode
  gRK3588TokenSpaceGuid.PcdCPUB01ClusterVoltageCustom
  gRK3588TokenSpaceGuid.PcdCPUB23ClusterVoltageMode
  gRK3588TokenSpaceGuid.PcdCPUB23ClusterVoltageCustom

  gRK3588TokenSpaceGuid.PcdComboPhy0Switchable
  gRK3588TokenSpaceGuid.PcdComboPhy1Switchable
  gRK3588TokenSpaceGuid.PcdComboPhy2Switchable
  gRK3588TokenSpaceGuid.PcdComboPhy0ModeDefault
  gRK3588TokenSpaceGuid.PcdComboPhy1ModeDefault
  gRK3588TokenSpaceGuid.PcdComboPhy2ModeDefault
  gRK3588TokenSpaceGuid.PcdComboPhy0Mode
  gRK3588TokenSpaceGuid.PcdComboPhy1Mode
  gRK3588TokenSpaceGuid.PcdComboPhy2Mode

  gRK3588TokenSpaceGuid.PcdPcie30Supported
  gRK3588TokenSpaceGuid.PcdPcie30State
  gRK3588TokenSpaceGuid.PcdPcie30PhyMode
  gRK3588TokenSpaceGuid.PcdPcie30PhyModeDefault

  gRK3588TokenSpaceGuid.PcdConfigTableMode
  gRK3588TokenSpaceGuid.PcdAcpiPcieEcamCompatModeDefault
  gRK3588TokenSpaceGuid.PcdAcpiPcieEcamCompatMode
  gRK3588TokenSpaceGuid.PcdFdtSupportOverrides

  gRK3588TokenSpaceGuid.PcdHasOnBoardFanOutput
  gRK3588TokenSpaceGuid.PcdCoolingFanState
  gRK3588TokenSpaceGuid.PcdCoolingFanSpeed

  gRK3588TokenSpaceGuid.PcdUsbDpPhy0Supported
  gRK3588TokenSpaceGuid.PcdUsbDpPhy1Supported
  gRK3588TokenSpaceGuid.PcdUsbDpPhy0Usb3State
  gRK3588TokenSpaceGuid.PcdUsbDpPhy1Usb3State

  gRK3588TokenSpaceGuid.PcdI2S0Supported
  gRK3588TokenSpaceGuid.PcdI2S1Supported

[Guids]
  gRK3588DxeFormSetGuid
  gEfiEndOfDxeEventGroupGuid

[Depex]
  TRUE
