#/*
# * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
# *
# * Redistribution and use in source and binary forms, with or without
# * modification, are permitted provided that the following conditions are
# * met:
# * * Redistributions of source code must retain the above copyright
# *  notice, this list of conditions and the following disclaimer.
# *  * Redistributions in binary form must reproduce the above
# * copyright notice, this list of conditions and the following
# * disclaimer in the documentation and/or other materials provided
# *  with the distribution.
# *   * Neither the name of The Linux Foundation nor the names of its
# * contributors may be used to endorse or promote products derived
# * from this software without specific prior written permission.
# *
# * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#*/


[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = QcomModulePkg
  PACKAGE_GUID                   = A6DEDBF5-4678-622F-7F34-8D900E58DCE2
  PACKAGE_VERSION                = 0.1

################################################################################
#
# Include Section - list of Include Paths that are provided by this package.
#                   Comments are used for Keywords and Module Types.
#
# Supported Module Types:
#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
#
################################################################################
[Includes.common]
  Include
  Include/Library
  Library
  Library/avb/

[Guids.common]
  gQcomTokenSpaceGuid =                 { 0x882f8c2b, 0x9646, 0x435f, { 0x8d, 0xe5, 0xf2, 0x08, 0xff, 0x80, 0xc1, 0xbd } }
  gEfiPartitionTypeGuid =               { 0x6848de61, 0xeb61, 0x4def, { 0x9a, 0x8e, 0x38, 0x17, 0xcb, 0xeb, 0x8f, 0x1c } }
  gEfiEmmcUserPartitionGuid =           { 0xb615f1f5, 0x5088, 0x43cd, { 0x80, 0x9c, 0xa1, 0x6e, 0x52, 0x48, 0x7d, 0x00 } }
  gEfiEmmcBootPartition1Guid =          { 0x12c55b20, 0x25d3, 0x41c9, { 0x8e, 0x06, 0x28, 0x2d, 0x94, 0xc6, 0x76, 0xad } }
  gEfiEmmcBootPartition2Guid =          { 0x6b76a6db, 0x0257, 0x48a9, { 0xaa, 0x99, 0xf6, 0xb1, 0x65, 0x5f, 0x7b, 0x00 } }
  gEfiEmmcRpmbPartitionGuid =           { 0xc49551ea, 0xd6bc, 0x4966, { 0x94, 0x99, 0x87, 0x1e, 0x39, 0x31, 0x33, 0xcd } }
  gEfiEmmcGppPartition1Guid =           { 0xb9251ea5, 0x3462, 0x4807, { 0x86, 0xc6, 0x89, 0x48, 0xb1, 0xb3, 0x61, 0x63 } }
  gEfiEmmcGppPartition2Guid =           { 0x24f906cd, 0xee11, 0x43e1, { 0x84, 0x27, 0xdc, 0x7a, 0x36, 0xf4, 0xc0, 0x59 } }
  gEfiEmmcGppPartition3Guid =           { 0x5a5709a9, 0xac40, 0x4f72, { 0x88, 0x62, 0x5b, 0x01, 0x04, 0x16, 0x6e, 0x76 } }
  gEfiEmmcGppPartition4Guid =           { 0xa44e27c9, 0x258e, 0x406e, { 0xbf, 0x33, 0x77, 0xf5, 0xf2, 0x44, 0xc4, 0x87 } }
  gEfiSdRemovableGuid =                 { 0xd1531d41, 0x3f80, 0x4091, { 0x8d, 0x0a, 0x54, 0x1f, 0x59, 0x23, 0x6d, 0x66 } }
  gEfiUfsLU0Guid =                      { 0x860845c1, 0xbe09, 0x4355, { 0x8b, 0xc1, 0x30, 0xd6, 0x4f, 0xf8, 0xe6, 0x3a } }
  gEfiUfsLU1Guid =                      { 0x8d90d477, 0x39a3, 0x4a38, { 0xab, 0x9e, 0x58, 0x6f, 0xf6, 0x9e, 0xd0, 0x51 } }
  gEfiUfsLU2Guid =                      { 0xedf85868, 0x87ec, 0x4f77, { 0x9c, 0xda, 0x5f, 0x10, 0xdf, 0x2f, 0xe6, 0x01 } }
  gEfiUfsLU3Guid =                      { 0x1ae69024, 0x8aeb, 0x4df8, { 0xbc, 0x98, 0x00, 0x32, 0xdb, 0xdf, 0x50, 0x24 } }
  gEfiUfsLU4Guid =                      { 0xd33f1985, 0xf107, 0x4a85, { 0xbe, 0x38, 0x68, 0xdc, 0x7a, 0xd3, 0x2c, 0xea } }
  gEfiUfsLU5Guid =                      { 0x4ba1d05f, 0x088e, 0x483f, { 0xa9, 0x7e, 0xb1, 0x9b, 0x9c, 0xcf, 0x59, 0xb0 } }
  gEfiUfsLU6Guid =                      { 0x4acf98f6, 0x26fa, 0x44d2, { 0x81, 0x32, 0x28, 0x2f, 0x2d, 0x19, 0xa4, 0xc5 } }
  gEfiUfsLU7Guid =                      { 0x8598155f, 0x34de, 0x415c, { 0x8b, 0x55, 0x84, 0x3e, 0x33, 0x22, 0xd3, 0x6f } }
  gEfiUfsRPMBGuid =                     { 0x5397474e, 0xf75d, 0x44b3, { 0x8e, 0x57, 0xd9, 0x32, 0x4f, 0xcf, 0x6f, 0xe1 } }
  gEfiNandUserPartitionGuid =           { 0x03ef84a9, 0x60ce, 0x4371, { 0x97, 0xcf, 0x04, 0x84, 0x5a, 0x86, 0x5b, 0x79 } }

  gEfiPlatPartitionTypeGuid =           { 0x543c031a, 0x4cb6, 0x4897, { 0xbf, 0xfe, 0x4b, 0x48, 0x57, 0x68, 0xa8, 0xad } }
  gQcomKeypadDeviceGuid =               { 0xd7f58a0e, 0xbed2, 0x4b5a, { 0xbb, 0x43, 0x8a, 0xb2, 0x3d, 0xd0, 0xe2, 0xb0 } }
  gEfiPlatformInfoGuid=                 { 0x3351baf7, 0x0820, 0x40df, { 0xb3, 0xfd, 0x4b, 0x7a, 0x3d, 0x43, 0x81, 0x88 } }
  gEfiLogFSPartitionGuid              = { 0xBC0330EB, 0x3410, 0x4951, { 0xA6, 0x17, 0x03, 0x89, 0x8D, 0xBE, 0x33, 0x72 } }
  gEfiAblFvNameGuid=                    { 0x046fae99, 0xcf2e, 0x49ed, { 0xA6, 0xA8, 0xA1, 0x48, 0x8b, 0x7E, 0x80, 0xd3 } }
  gEfiMiscPartitionGuid =               { 0x82ACC91F, 0x357C, 0x4A68, { 0x9C, 0x8F, 0x68, 0x9E, 0x1B, 0x1A, 0x23, 0xA1 } }
  gEfiBootImgPartitionGuid =            { 0x20117f86, 0xe985, 0x4357, { 0xb9, 0xee, 0x37, 0x4b, 0xc1, 0xd8, 0x48, 0x7d } }
  gEfiRecoveryImgPartitionGuid =        { 0x9D72D4E4, 0x9958, 0x42DA, { 0xAC, 0x26, 0xBE, 0xA7, 0xA9, 0x0B, 0x04, 0x34 } }
  gEfiSystemPartitionGuid =             { 0x97D7B011, 0x54DA, 0x4835, { 0xB3, 0xC4, 0x91, 0x7A, 0xD6, 0xE7, 0x3D, 0x74 } }
  gEfiVbmetaPartitionGuid =             { 0x4b7a15d6, 0x322c, 0x42ac, { 0x81, 0x10, 0x88, 0xb7, 0xda, 0x0c, 0x5d, 0x77 } }
  gEfiDtboPartitionGuid =               { 0x24d0d418, 0xd31d, 0x4d8d, { 0xac, 0x2c, 0x4d, 0x43, 0x05, 0x18, 0x84, 0x50 } }
  gEfiDipPartitionGuid =                { 0x4114B077, 0x005D, 0x4E12, { 0xAC, 0x8C, 0xB4, 0x93, 0xBD, 0xA6, 0x84, 0xFB } }
  gEfiMdtpPartitionGuid =               { 0x3878408A, 0xE263, 0x4B67, { 0xB8, 0x78, 0x63, 0x40, 0xB3, 0x5B, 0x11, 0xE3 } }
  gBlockIoRefreshGuid =                 { 0xb1eb3d10, 0x9d67, 0x40ca, { 0x95, 0x59, 0xf1, 0x48, 0x8b, 0x1b, 0x2d, 0xdb } }
  gEfiRNGAlgRawGuid =                   { 0xe43176d7, 0xb6e8, 0x4827, { 0xb7, 0x84, 0x7f, 0xfd, 0xc4, 0xb6, 0x85, 0x61 } }
  gEfiOemPartitionGuid =                { 0x2EF88D0E, 0x0B34, 0xB6D1, { 0x52, 0x08, 0xC5, 0x59, 0x83, 0x86, 0xD1, 0xDF } }

[Protocols]
  # SCM
  gQcomScmProtocolGuid =                { 0x77ed108d, 0x8524, 0x4b8b, { 0x9d, 0x2e, 0x34, 0x98, 0x7a, 0xec, 0xb9, 0xc1 } }
  # PlatformInfo
  gEfiPlatformInfoProtocolGuid =        { 0x157a5c45, 0x21b2, 0x43c5, { 0xba, 0x7c, 0x82, 0x2f, 0xee, 0x5f, 0xe5, 0x99 } }
  # Sdcc Card Info
  gEfiMemCardInfoProtocolGuid =        { 0x85c1f7d2, 0xbce6, 0x4f31, { 0x8f, 0x4d, 0xd3, 0x7e, 0x03, 0xd0, 0x5e, 0xaa } }
  # USB Function
  gEfiUsbfnIoProtocolGuid =             { 0x32d2963a, 0xfe5d, 0x4f30, { 0xb6, 0x33, 0x6e, 0x5d, 0xc5, 0x58,  0x3, 0xcc } }
  # ChipInfo
  gEfiChipInfoProtocolGuid =            { 0xb0760469, 0x970c, 0x487a, { 0xa4, 0xb5, 0x28, 0xdb, 0x7b, 0x45, 0xce, 0xf1 } }
  gEfiPartitionRecordGuid =             { 0xfe2555be, 0xd716, 0x4686, { 0xb9, 0xd0, 0x79, 0xdb, 0x59, 0x21, 0xb7, 0x0d } }
  # PMIC VERSION
  gQcomPmicVersionProtocolGuid =        { 0x4684800a, 0x2755, 0x4edc, { 0xb4, 0x43, 0x7f, 0x8c, 0xeb, 0x32, 0x39, 0xd3 } }
  # Guid for Fastboot
  gEfiUsbDeviceProtocolGuid =           { 0xd9d9ce48, 0x44b8, 0x4f49, { 0x8e, 0x3e, 0x2a, 0x3b, 0x92, 0x7d, 0xc6, 0xc1 } }
  #RAM Partitions Protocol
  gEfiRamPartitionProtocolGuid =        { 0x5172FFB5, 0x4253, 0x7D51, { 0xC6, 0x41, 0xA7, 0x01, 0xF9, 0x73, 0x10, 0x3C } }
  #Erase Block Protocol
  gEfiEraseBlockProtocolGuid   =        { 0x95A9A93E, 0xA86E, 0x4926, { 0xaa, 0xef, 0x99, 0x18, 0xe7, 0x72, 0xd9, 0x87 } }
  # ResetReasonProtocol
  gEfiResetReasonProtocolGuid =         { 0xA022155A, 0x4828, 0x4535, { 0xA4, 0x99, 0x11, 0xF1, 0x52, 0x40, 0xB9, 0x1B } }
  # Charger Detection Protocol
  gChargerExProtocolGuid =              { 0x6edc8a6d, 0x2663, 0x43cd, { 0x90, 0xff, 0x46, 0x21, 0xff, 0xd1, 0x0d, 0xf5 } }
  # Pon Reason Protocol
  gQcomPmicPonProtocolGuid =            { 0x97044b58, 0xfea4, 0x4ad0, { 0x9d, 0xb, 0xe4, 0x17, 0xd6, 0xf, 0x11, 0xa1 }}
  # Throttle limit Protocol
  gEfiLimitsProtocolGuid =              { 0x79d6c879, 0x725e, 0x489e, { 0xa0, 0xa9, 0x27, 0xef, 0xa5, 0xdf, 0xcb, 0x35 } }
  # VerifiedBoot Protocol
  gEfiQcomVerifiedBootProtocolGuid =    { 0x8e5eff91, 0x21b6, 0x47d3, { 0xaf, 0x2b, 0xc1, 0x5a, 0x1, 0xe0, 0x20, 0xec } }
  # Scm mode switch Protocol
  gQcomScmModeSwithProtocolGuid =       { 0xf57f73ed, 0x0afc, 0x4723, { 0x93, 0x74, 0x2c, 0xeb, 0xc0, 0x19, 0x8e, 0xf9 } }
  # Qseecom Protocol
  gQcomQseecomProtocolGuid =            { 0xa74862ce, 0x680f, 0x4fe1, { 0xa3, 0x11, 0xdf, 0x41, 0xf4, 0x3, 0x3, 0x91 } }
  # Mdtp Protocol
  gQcomMdtpProtocolGuid =               { 0x71746E63, 0x65F9, 0x41EC, { 0xAC, 0x08, 0xCD, 0xD1, 0xF2, 0xD0, 0x22, 0x98 } }
  # Partition Type Protocol
  gEfiPartitionTypeGuid =               { 0x6848de61, 0xeb61, 0x4def, { 0x9a, 0x8e, 0x38, 0x17, 0xcb, 0xeb, 0x8f, 0x1c } }
  # Sha256 Protocol
  gEfiHashAlgorithmSha256Guid =         { 0x51aa59de, 0xfdf2, 0x4ea3, {0xbc, 0x63, 0x87, 0x5f, 0xb7, 0x84, 0x2e, 0xe9 } }
  #Nand Partition GUID Protocol
  gEfiNandPartiGuidProtocolGuid =       { 0xd68edce2, 0xa314, 0x457b, { 0x96, 0x2a, 0x1d, 0x99, 0xbb, 0xfc, 0xbb, 0xfb } }
  # Rng Protocol guid
  gQcomRngProtocolGuid             =    { 0x3152bca5, 0xeade, 0x433d, { 0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44 } }
  #UBI flasher protocol Guid
  gEfiUbiFlasherProtocolGuid =          { 0xe3eef434, 0x22c9, 0xe33b, { 0x8f, 0x5d, 0x0e, 0x81, 0x68, 0x6a, 0x68, 0xcb } }

  gEfiQcomASN1X509ProtocolGuid =        { 0x408ec123, 0x134e, 0x4b80, { 0x91, 0x42, 0xb8, 0x9a, 0xe, 0x08, 0xf8, 0xb3 } }

  gEfiQcomSecRSAProtocolGuid =         { 0xeb7a442a, 0xcef4, 0x40a7, {0xa8, 0xae, 0x5a, 0x2e, 0x7f, 0x48, 0xe1, 0x72 } }
  # Get DDR details protocol
  gEfiDDRGetInfoProtocolGuid =         { 0x1a7c0eb8, 0x5646, 0x45f7, { 0xab, 0x20, 0xea, 0xe5, 0xda, 0x46, 0x40, 0xa2 } }
  # Display Utils Protocol
  gQcomDisplayUtilsProtocolGuid =      { 0xc0dd69ac, 0x76ba, 0x11e6, { 0xab, 0x24, 0x1f, 0xc7, 0xf5, 0x57, 0x5f, 0x19 } }
  # Multithreading Kernel protocol for UEFI
  gEfiKernelProtocolGuid =             { 0xB5062BE7, 0x170B, 0x4A32, { 0xBE, 0x21, 0x68, 0x92, 0x62, 0xFF, 0x43, 0x99 } }

[PcdsFixedAtBuild.common]
  # LinuxLoaderCommon
  gQcomTokenSpaceGuid.KernelLoadAddress|0x00080000|UINT32|0x00015000
  gQcomTokenSpaceGuid.TagsAddress|0x03200000|UINT32|0x00015001
  gQcomTokenSpaceGuid.RamdiskLoadAddress|0x03400000|UINT32|0x00015002
  gQcomTokenSpaceGuid.RamdiskEndAddress|0x05600000|UINT32|0x00015003
  gQcomTokenSpaceGuid.EnablePartialGoods|TRUE|BOOLEAN|0x00015004
  gQcomTokenSpaceGuid.EnableDisplayMenu|TRUE|BOOLEAN|0x00015005
  gQcomTokenSpaceGuid.KernelLoadAddress32|0x00008000|UINT32|0x00015006
  gQcomTokenSpaceGuid.EnableMdtpSupport|FALSE|BOOLEAN|0x00015007
  gQcomTokenSpaceGuid.AllowEio|FALSE|BOOLEAN|0x00015008
  gQcomTokenSpaceGuid.EnableBatteryVoltageCheck|TRUE|BOOLEAN|0x00015009
  gQcomTokenSpaceGuid.RamdiskEndAddress32|0x03C00000|UINT32|0x0001500A
  gQcomTokenSpaceGuid.EnableNewNodeSearchFuc|TRUE|BOOLEAN|0x0001500B
  gQcomTokenSpaceGuid.EnableMultiThreadFlash|FALSE|BOOLEAN|0x0001500C
